mirror of
https://github.com/winfsp/winfsp.git
synced 2025-06-14 15:52:47 -05:00
sys: IRP_MJ_QUERY_VOLUME_INFORMATION: FileFsDeviceInformation: always return FILE_DEVICE_DISK to avoid problem with GetFileType failures
This commit is contained in:
@ -508,6 +508,7 @@ void getvolinfo_dotest(ULONG Flags, PWSTR Prefix, ULONG FileInfoTimeout)
|
||||
ULARGE_INTEGER CallerFreeBytes;
|
||||
ULARGE_INTEGER TotalBytes;
|
||||
ULARGE_INTEGER FreeBytes;
|
||||
HANDLE Handle;
|
||||
|
||||
StringCbPrintfW(FilePath, sizeof FilePath, L"%s%s\\",
|
||||
Prefix ? L"" : L"\\\\?\\GLOBALROOT", Prefix ? Prefix : memfs_volumename(memfs));
|
||||
@ -532,6 +533,21 @@ void getvolinfo_dotest(ULONG Flags, PWSTR Prefix, ULONG FileInfoTimeout)
|
||||
Success = GetDiskFreeSpaceExW(FilePath, &CallerFreeBytes, &TotalBytes, &FreeBytes);
|
||||
ASSERT(Success);
|
||||
|
||||
#if 0
|
||||
UINT DriveType = GetDriveTypeW(FilePath);
|
||||
ASSERT(
|
||||
((0 == Prefix || L'\\' != Prefix[0]) && DRIVE_FIXED == DriveType) ||
|
||||
((0 != Prefix && L'\\' == Prefix[0]) && DRIVE_REMOTE == DriveType));
|
||||
#endif
|
||||
|
||||
Handle = CreateFileW(FilePath,
|
||||
0, FILE_SHARE_READ | FILE_SHARE_WRITE, 0, OPEN_EXISTING,
|
||||
FILE_FLAG_BACKUP_SEMANTICS, 0);
|
||||
ASSERT(INVALID_HANDLE_VALUE != Handle);
|
||||
DWORD FileType = GetFileType(Handle);
|
||||
ASSERT(FILE_TYPE_DISK == FileType);
|
||||
CloseHandle(Handle);
|
||||
|
||||
memfs_stop(memfs);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user