Fix volume information queries

This commit is contained in:
momo5502
2025-02-14 09:14:08 +01:00
parent 3218e26306
commit 39ffa6c87b
2 changed files with 17 additions and 0 deletions

View File

@@ -281,6 +281,15 @@ typedef struct _FILE_FS_SIZE_INFORMATION
ULONG BytesPerSector;
} FILE_FS_SIZE_INFORMATION, *PFILE_FS_SIZE_INFORMATION;
typedef struct _FILE_FS_VOLUME_INFORMATION
{
LARGE_INTEGER VolumeCreationTime;
ULONG VolumeSerialNumber;
ULONG VolumeLabelLength;
BOOLEAN SupportsObjects;
char16_t VolumeLabel[1];
} FILE_FS_VOLUME_INFORMATION, *PFILE_FS_VOLUME_INFORMATION;
typedef struct _FILE_FS_DEVICE_INFORMATION
{
DEVICE_TYPE DeviceType;

View File

@@ -631,6 +631,14 @@ namespace
return STATUS_SUCCESS;
}
if (fs_information_class == FileFsVolumeInformation)
{
constexpr FILE_FS_VOLUME_INFORMATION volume_info{};
c.emu.write_memory(fs_information, volume_info);
return STATUS_SUCCESS;
}
c.win_emu.log.error("Unsupported fs info class: %X\n", fs_information_class);
c.emu.stop();
return STATUS_NOT_SUPPORTED;