From: Alistair Leslie-Hughes leslie_alistair@hotmail.com
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49192 Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/ntdll/unix/system.c | 15 +++++++++++++++ include/winternl.h | 21 +++++++++++++++++++++ 2 files changed, 36 insertions(+)
diff --git a/dlls/ntdll/unix/system.c b/dlls/ntdll/unix/system.c index 2b316095f4a..d3e380b8c32 100644 --- a/dlls/ntdll/unix/system.c +++ b/dlls/ntdll/unix/system.c @@ -2827,6 +2827,21 @@ NTSTATUS WINAPI NtQuerySystemInformation( SYSTEM_INFORMATION_CLASS class, break; }
+ case SystemCodeIntegrityInformation: + { + SYSTEM_CODEINTEGRITY_INFORMATION *integrity_info = info; + + FIXME("SystemCodeIntegrityInformation, size %u, info %p, stub!\n", size, info); + + len = sizeof(SYSTEM_CODEINTEGRITY_INFORMATION); + + if (size < len) + integrity_info->CodeIntegrityOptions = CODEINTEGRITY_OPTION_ENABLED; + else + ret = STATUS_INFO_LENGTH_MISMATCH; + break; + } + default: FIXME( "(0x%08x,%p,0x%08x,%p) stub\n", class, info, size, ret_size );
diff --git a/include/winternl.h b/include/winternl.h index 298ebbc2d36..7632cfcb999 100644 --- a/include/winternl.h +++ b/include/winternl.h @@ -1698,6 +1698,27 @@ typedef enum _SYSTEM_INFORMATION_CLASS { #endif } SYSTEM_INFORMATION_CLASS, *PSYSTEM_INFORMATION_CLASS;
+typedef struct _SYSTEM_CODEINTEGRITY_INFORMATION +{ + ULONG Length; + ULONG CodeIntegrityOptions; +} SYSTEM_CODEINTEGRITY_INFORMATION, *PSYSTEM_CODEINTEGRITY_INFORMATION; + +#define CODEINTEGRITY_OPTION_ENABLED 0x0001 +#define CODEINTEGRITY_OPTION_TESTSIGN 0x0002 +#define CODEINTEGRITY_OPTION_UMCI_ENABLED 0x0004 +#define CODEINTEGRITY_OPTION_UMCI_AUDITMODE_ENABLED 0x0008 +#define CODEINTEGRITY_OPTION_UMCI_EXCLUSIONPATHS_ENABLED 0x0010 +#define CODEINTEGRITY_OPTION_TEST_BUILD 0x0020 +#define CODEINTEGRITY_OPTION_PREPRODUCTION_BUILD 0x0040 +#define CODEINTEGRITY_OPTION_DEBUGMODE_ENABLED 0x0080 +#define CODEINTEGRITY_OPTION_FLIGHT_BUILD 0x0100 +#define CODEINTEGRITY_OPTION_FLIGHTING_ENABLED 0x0200 +#define CODEINTEGRITY_OPTION_HVCI_KMCI_ENABLED 0x0400 +#define CODEINTEGRITY_OPTION_HVCI_KMCI_AUDITMODE_ENABLED 0x0800 +#define CODEINTEGRITY_OPTION_HVCI_KMCI_STRICTMODE_ENABLED 0x1000 +#define CODEINTEGRITY_OPTION_HVCI_IUM_ENABLED 0x2000 + typedef enum _THREADINFOCLASS { ThreadBasicInformation = 0, ThreadTimes,