From 40c97121419916d24f6ff17422847d52b5ddef72 Mon Sep 17 00:00:00 2001 From: Mark Jansen Date: Sun, 18 Dec 2016 21:02:47 +0100 Subject: [PATCH] [SDK][KERNEL32] Add defines for PEB.AppCompatFlags --- reactos/dll/win32/kernel32/client/path.c | 2 +- reactos/sdk/include/ndk/pstypes.h | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/reactos/dll/win32/kernel32/client/path.c b/reactos/dll/win32/kernel32/client/path.c index 882d432..30199b2 100644 --- a/reactos/dll/win32/kernel32/client/path.c +++ b/reactos/dll/win32/kernel32/client/path.c @@ -1861,7 +1861,7 @@ GetShortPathNameW(IN LPCWSTR lpszLongPath, if (GetFileAttributesW(lpszLongPath) == INVALID_FILE_ATTRIBUTES) { /* Windows checks for an application compatibility flag to allow this */ - if (!(NtCurrentPeb()) || !(NtCurrentPeb()->AppCompatFlags.LowPart & 1)) + if (!(NtCurrentPeb()) || !(NtCurrentPeb()->AppCompatFlags.LowPart & GetShortPathNameNT4)) { /* It doesn't, so fail */ ReturnLength = 0; diff --git a/reactos/sdk/include/ndk/pstypes.h b/reactos/sdk/include/ndk/pstypes.h index 48ea19c..b5e924c 100644 --- a/reactos/sdk/include/ndk/pstypes.h +++ b/reactos/sdk/include/ndk/pstypes.h @@ -735,6 +735,31 @@ typedef struct _Wx86ThreadState } Wx86ThreadState, *PWx86ThreadState; #endif +// +// PEB.AppCompatFlags +// Tag FLAG_MASK_KERNEL +// +typedef enum _APPCOMPAT_FLAGS +{ + GetShortPathNameNT4 = 0x1, + GetDiskFreeSpace2GB = 0x8, + FTMFromCurrentAPI = 0x20, + DisallowCOMBindingNotifications = 0x40, + Ole32ValidatePointers = 0x80, + DisableCicero = 0x100, + Ole32EnableAsyncDocFile = 0x200, + EnableLegacyExceptionHandlinginOLE = 0x400, + DisableAdvanceRPCClientHardening = 0x800, + DisableMaybeNULLSizeisConsistencycheck = 0x1000, + DisableAdvancedRPCrangeCheck = 0x4000, + EnableLegacyExceptionHandlingInRPC = 0x8000, + EnableLegacyNTFSFlagsForDocfileOpens = 0x10000, + DisableNDRIIDConsistencyCheck = 0x20000, + UserDisableForwarderPatch = 0x40000, + DisableNewWMPAINTDispatchInOLE = 0x100000, + DoNotAddToCache = 0x80000000, +} APPCOMPAT_FLAGS; + // // Process Environment Block (PEB) -- 2.7.0.windows.2