diff --git a/src/common/platform/registry.hpp b/src/common/platform/registry.hpp index dc09d665..e2ec50cd 100644 --- a/src/common/platform/registry.hpp +++ b/src/common/platform/registry.hpp @@ -32,6 +32,21 @@ struct KEY_NAME_INFORMATION char16_t Name[1]; }; +typedef struct _KEY_FULL_INFORMATION +{ + LARGE_INTEGER LastWriteTime; + ULONG TitleIndex; + ULONG ClassOffset; + ULONG ClassLength; + ULONG SubKeys; + ULONG MaxNameLength; + ULONG MaxClassLength; + ULONG Values; + ULONG MaxValueNameLength; + ULONG MaxValueDataLength; + char16_t Class[1]; +} KEY_FULL_INFORMATION, *PKEY_FULL_INFORMATION; + struct KEY_HANDLE_TAGS_INFORMATION { ULONG HandleTags; diff --git a/src/windows-emulator/syscalls.cpp b/src/windows-emulator/syscalls.cpp index d28f93f7..87dc09e4 100644 --- a/src/windows-emulator/syscalls.cpp +++ b/src/windows-emulator/syscalls.cpp @@ -142,6 +142,11 @@ namespace return STATUS_SUCCESS; } + if (key_information_class == KeyFullInformation) + { + return STATUS_NOT_SUPPORTED; + } + if (key_information_class == KeyHandleTagsInformation) { constexpr auto required_size = sizeof(KEY_HANDLE_TAGS_INFORMATION);