[SDK][KERNEL32] Add defines for PEB.AppCompatFlags CORE-12768 #resolve

svn path=/trunk/; revision=73815
This commit is contained in:
Mark Jansen 2017-02-17 16:12:19 +00:00
parent eb5ff5ce18
commit 17a622f506
2 changed files with 26 additions and 1 deletions

View 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;

View 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)