[SDK][KERNEL32] Add defines for PEB.AppCompatFlags CORE-12768 #resolve
authorMark Jansen <mark.jansen@reactos.org>
Fri, 17 Feb 2017 16:12:19 +0000 (16:12 +0000)
committerMark Jansen <mark.jansen@reactos.org>
Fri, 17 Feb 2017 16:12:19 +0000 (16:12 +0000)
svn path=/trunk/; revision=73815

reactos/dll/win32/kernel32/client/path.c
reactos/sdk/include/ndk/pstypes.h

index 7c426d6..7d91c05 100644 (file)
@@ -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;
index 8e5fcfd..eb1ef0a 100644 (file)
@@ -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)