28 #define APPHELP_VALID_RESULT 0x10000 29 #define APPHELP_RESULT_NOTFOUND 0x20000 30 #define APPHELP_RESULT_FOUND 0x40000 148 DPRINT(
"BaseCheckAppcompatCache is UNIMPLEMENTED\n");
162 PVOID ApphelpAddress;
163 PVOID pApphelpCheckRunAppEx =
NULL, pSdbPackAppCompatData =
NULL;
175 pApphelpCheckRunAppEx =
NULL;
179 pSdbPackAppCompatData =
NULL;
211 ULONG QueryResultSize = 0;
222 if (!pApphelpCheckRunAppEx || !pSdbPackAppCompatData)
240 DPRINT1(
"SdbPackAppCompatData returned a failure!\n");
346 if (AppCompatData)
RtlFreeHeap(RtlGetProcessHeap(), 0, AppCompatData);
347 if (AppCompatSxsData)
RtlFreeHeap(RtlGetProcessHeap(), 0, AppCompatSxsData);
PVOID NTAPI RtlEncodeSystemPointer(IN PVOID Pointer)
VOID WINAPI BasepFreeAppCompatData(IN PVOID AppCompatData, IN PVOID AppCompatSxsData)
PVOID PVOID PWCHAR PVOID Environment
BOOL WINAPI BaseCheckRunApp(IN HANDLE FileHandle, IN PWCHAR ApplicationName, IN PWCHAR Environment, IN USHORT ExeType, IN PULONG pReason, IN PVOID *SdbQueryAppCompatData, IN PULONG SdbQueryAppCompatDataSize, IN PVOID *SxsData, IN PULONG SxsDataSize, OUT PULONG FusionFlags)
PVOID PVOID PWCHAR PVOID USHORT PULONG PVOID PULONG PVOID PULONG PULONG FusionFlags
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES IN DWORD Unknown3
#define OBJ_CASE_INSENSITIVE
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ ULONG _Out_ PNDIS_STRING _Out_ PNDIS_HANDLE KeyHandle
static BOOL g_ApphelpInitialized
OBJECT_ATTRIBUTES AppCompatKeyAttributes
static IN LPSTR IN PVOID Unk2
BOOLEAN NTAPI RtlFreeHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID HeapBase)
VOID WINAPI BaseUpdateAppcompatCache(ULONG Unknown1, ULONG Unknown2, ULONG Unknown3)
LPCWSTR LPCWSTR LPCWSTR DWORD PSDBQUERYRESULT_VISTA pQueryResult
VOID WINAPI SetTermsrvAppInstallMode(IN BOOL bInstallMode)
static VOID BaseInitApphelp(VOID)
NTSYSAPI VOID NTAPI RtlCopyUnicodeString(PUNICODE_STRING DestinationString, PUNICODE_STRING SourceString)
BOOL WINAPI BaseInitAppcompatCache(VOID)
NTSYSAPI VOID NTAPI RtlInitAnsiString(PANSI_STRING DestinationString, PCSZ SourceString)
BOOLEAN WINAPI IsShimInfrastructureDisabled(VOID)
return STATUS_NOT_IMPLEMENTED
PVOID PVOID PWCHAR PVOID USHORT PULONG PVOID PULONG PVOID PULONG PULONG PULONG64 SomeFlag1
#define InterlockedCompareExchangePointer
NTSTATUS WINAPI BaseCleanupAppcompatCacheSupport(PVOID pUnknown)
static PVOID g_pApphelpCheckRunAppEx
NTSTATUS NTAPI LdrGetProcedureAddress(IN PVOID BaseAddress, IN PANSI_STRING Name, IN ULONG Ordinal, OUT PVOID *ProcedureAddress)
PVOID NTAPI RtlDecodeSystemPointer(IN PVOID Pointer)
BOOL WINAPI BaseCheckAppcompatCache(IN PWCHAR ApplicationName, IN HANDLE FileHandle, IN PWCHAR Environment, OUT PULONG Reason)
#define APPHELP_RESULT_FOUND
NTSTATUS RtlAppendUnicodeToString(IN PUNICODE_STRING Str1, IN PWSTR Str2)
NTSYSAPI NTSTATUS NTAPI NtQueryValueKey(IN HANDLE KeyHandle, IN PUNICODE_STRING ValueName, IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass, IN PVOID KeyValueInformation, IN ULONG Length, IN PULONG ResultLength)
UNICODE_STRING BaseWindowsDirectory
#define NT_SUCCESS(StatCode)
NTSTATUS NTAPI NtApphelpCacheControl(_In_ APPHELPCACHESERVICECLASS Service, _In_opt_ PAPPHELP_CACHE_SERVICE_LOOKUP ServiceData)
#define STATUS_ACCESS_DENIED
NTSTATUS NTAPI NtClose(IN HANDLE Handle)
PSDBQUERYRESULT_VISTA PVOID * ppData
static PVOID g_pSdbPackAppCompatData
NTSTATUS NTAPI DECLSPEC_HOTPATCH LdrLoadDll(IN PWSTR SearchPath OPTIONAL, IN PULONG DllCharacteristics OPTIONAL, IN PUNICODE_STRING DllName, OUT PVOID *BaseAddress)
BOOL(WINAPI * tSdbPackAppCompatData)(PVOID hsdb, PVOID pQueryResult, PVOID *ppData, DWORD *dwSize)
NTSTATUS WINAPI BaseCleanupAppcompatCache(VOID)
BOOL WINAPI BaseFlushAppcompatCache(VOID)
PVOID WINAPI GetComPlusPackageInstallStatus(VOID)
#define RTL_CONSTANT_OBJECT_ATTRIBUTES(n, a)
PVOID PVOID PWCHAR ApplicationName
PVOID PVOID PWCHAR PVOID USHORT ExeType
PVOID PVOID PWCHAR PVOID USHORT PULONG PVOID PULONG PVOID PULONG SxsDataSize
static const char const char * DllPath
PVOID PVOID PWCHAR PVOID USHORT PULONG PVOID PULONG PVOID PULONG PULONG PULONG64 PULONG SomeFlag2
BOOL WINAPI BaseInitAppcompatCacheSupport(VOID)
#define APPHELP_VALID_RESULT
NTSYSAPI NTSTATUS NTAPI NtOpenKey(OUT PHANDLE KeyHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes)
BOOL WINAPI BaseDumpAppcompatCache(VOID)
BOOL WINAPI TermsrvAppInstallMode(VOID)
BOOL WINAPI SetComPlusPackageInstallStatus(LPVOID lpInfo)
unsigned __int64 * PULONG64
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG _Out_ PULONG ResultLength
BOOL(WINAPI * tApphelpCheckRunAppEx)(HANDLE FileHandle, PVOID Unk1, PVOID Unk2, PWCHAR ApplicationName, PVOID Environment, USHORT ExeType, PULONG Reason, PVOID *SdbQueryAppCompatData, PULONG SdbQueryAppCompatDataSize, PVOID *SxsData, PULONG SxsDataSize, PULONG FusionFlags, PULONG64 SomeFlag1, PULONG SomeFlag2)
PVOID PVOID PWCHAR PVOID USHORT PULONG PVOID PULONG PVOID * SxsData
PVOID PVOID PWCHAR PVOID USHORT PULONG Reason
PVOID PVOID PWCHAR PVOID USHORT PULONG PVOID * SdbQueryAppCompatData
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
PVOID PVOID PWCHAR PVOID USHORT PULONG PVOID PULONG SdbQueryAppCompatDataSize
#define RTL_CONSTANT_STRING(s)
NTSTATUS WINAPI BasepCheckBadapp(IN HANDLE FileHandle, IN PWCHAR ApplicationName, IN PWCHAR Environment, IN USHORT ExeType, IN PVOID *SdbQueryAppCompatData, IN PULONG SdbQueryAppCompatDataSize, IN PVOID *SxsData, IN PULONG SxsDataSize, OUT PULONG FusionFlags)