Add FileFsAttributeInformation fs info class

This commit is contained in:
Igor Pissolati
2025-10-22 17:14:19 -03:00
parent 11ef37758c
commit c0fd8ebf51
2 changed files with 19 additions and 1 deletions

View File

@@ -182,8 +182,18 @@ namespace syscalls
return handle_query<FILE_FS_VOLUME_INFORMATION>(c.emu, fs_information, length, io_status_block,
[&](FILE_FS_VOLUME_INFORMATION&) {});
case FileFsAttributeInformation:
return handle_query<_FILE_FS_ATTRIBUTE_INFORMATION>(
c.emu, fs_information, length, io_status_block, [&](_FILE_FS_ATTRIBUTE_INFORMATION& info) {
info.FileSystemAttributes = 0x40006; // FILE_CASE_PRESERVED_NAMES | FILE_UNICODE_ON_DISK | FILE_NAMED_STREAMS
info.MaximumComponentNameLength = 255;
const auto name = u"NTFS"s;
info.FileSystemNameLength = static_cast<ULONG>(name.size() * sizeof(char16_t));
memcpy(info.FileSystemName, name.data(), info.FileSystemNameLength);
});
default:
c.win_emu.log.error("Unsupported fs info class: %X\n", fs_information_class);
c.win_emu.log.error("Unsupported fs info class: 0x%X\n", fs_information_class);
c.emu.stop();
return write_io_status(io_status_block, STATUS_NOT_SUPPORTED, true);
}