mirror of
https://github.com/reactos/reactos.git
synced 2025-02-22 16:36:33 +00:00
parent
2d4c27c96e
commit
1d1bb53321
1 changed files with 4 additions and 4 deletions
|
@ -582,7 +582,7 @@ HRESULT WINAPI CDrivesFolder::ParseDisplayName(HWND hwndOwner, LPBC pbc, LPOLEST
|
||||||
HRESULT hr = E_INVALIDARG;
|
HRESULT hr = E_INVALIDARG;
|
||||||
LPCWSTR szNext = NULL;
|
LPCWSTR szNext = NULL;
|
||||||
LPITEMIDLIST pidlTemp = NULL;
|
LPITEMIDLIST pidlTemp = NULL;
|
||||||
WCHAR volumePathName[MAX_PATH];
|
INT nDriveNumber;
|
||||||
|
|
||||||
TRACE("(%p)->(HWND=%p,%p,%p=%s,%p,pidl=%p,%p)\n", this,
|
TRACE("(%p)->(HWND=%p,%p,%p=%s,%p,pidl=%p,%p)\n", this,
|
||||||
hwndOwner, pbc, lpszDisplayName, debugstr_w (lpszDisplayName),
|
hwndOwner, pbc, lpszDisplayName, debugstr_w (lpszDisplayName),
|
||||||
|
@ -596,12 +596,12 @@ HRESULT WINAPI CDrivesFolder::ParseDisplayName(HWND hwndOwner, LPBC pbc, LPOLEST
|
||||||
if (lpszDisplayName[0] == ':' && lpszDisplayName[1] == ':')
|
if (lpszDisplayName[0] == ':' && lpszDisplayName[1] == ':')
|
||||||
return m_regFolder->ParseDisplayName(hwndOwner, pbc, lpszDisplayName, pchEaten, ppidl, pdwAttributes);
|
return m_regFolder->ParseDisplayName(hwndOwner, pbc, lpszDisplayName, pchEaten, ppidl, pdwAttributes);
|
||||||
|
|
||||||
if (PathGetDriveNumberW(lpszDisplayName) < 0)
|
nDriveNumber = PathGetDriveNumberW(lpszDisplayName);
|
||||||
|
if (nDriveNumber < 0)
|
||||||
return E_INVALIDARG;
|
return E_INVALIDARG;
|
||||||
|
|
||||||
/* check if this drive actually exists */
|
/* check if this drive actually exists */
|
||||||
if (!GetVolumePathNameW(lpszDisplayName, volumePathName, _countof(volumePathName)) ||
|
if ((::GetLogicalDrives() & (1 << nDriveNumber)) == 0)
|
||||||
GetDriveTypeW(volumePathName) < DRIVE_REMOVABLE)
|
|
||||||
{
|
{
|
||||||
return HRESULT_FROM_WIN32(ERROR_INVALID_DRIVE);
|
return HRESULT_FROM_WIN32(ERROR_INVALID_DRIVE);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue