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);
BOOL WINAPI BaseInitAppcompatCache(VOID)
static PVOID g_pSdbPackAppCompatData
VOID WINAPI SetTermsrvAppInstallMode(IN BOOL bInstallMode)
BOOL WINAPI BaseInitAppcompatCacheSupport(VOID)
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)
#define APPHELP_VALID_RESULT
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)
static VOID BaseInitApphelp(VOID)
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)
BOOL WINAPI BaseDumpAppcompatCache(VOID)
BOOL WINAPI SetComPlusPackageInstallStatus(LPVOID lpInfo)
BOOLEAN WINAPI IsShimInfrastructureDisabled(VOID)
VOID WINAPI BasepFreeAppCompatData(IN PVOID AppCompatData, IN PVOID AppCompatSxsData)
BOOL WINAPI BaseCheckAppcompatCache(IN PWCHAR ApplicationName, IN HANDLE FileHandle, IN PWCHAR Environment, OUT PULONG Reason)
NTSTATUS WINAPI BaseCleanupAppcompatCache(VOID)
static PVOID g_pApphelpCheckRunAppEx
static BOOL g_ApphelpInitialized
NTSTATUS WINAPI BaseCleanupAppcompatCacheSupport(PVOID pUnknown)
PVOID WINAPI GetComPlusPackageInstallStatus(VOID)
VOID WINAPI BaseUpdateAppcompatCache(ULONG Unknown1, ULONG Unknown2, ULONG Unknown3)
BOOL(WINAPI * tSdbPackAppCompatData)(PVOID hsdb, PVOID pQueryResult, PVOID *ppData, DWORD *dwSize)
BOOL WINAPI TermsrvAppInstallMode(VOID)
#define APPHELP_RESULT_FOUND
BOOL WINAPI BaseFlushAppcompatCache(VOID)
BOOLEAN NTAPI RtlFreeHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID HeapBase)
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES IN DWORD Unknown3
#define NT_SUCCESS(StatCode)
UNICODE_STRING BaseWindowsDirectory
NTSTATUS RtlAppendUnicodeToString(IN PUNICODE_STRING Str1, IN PWSTR Str2)
_Must_inspect_result_ _In_opt_ PFLT_INSTANCE _Out_ PHANDLE FileHandle
@ ApphelpCacheServiceDump
@ ApphelpCacheServiceFlush
#define OBJ_CASE_INSENSITIVE
#define InterlockedCompareExchangePointer
NTSTATUS NTAPI LdrGetProcedureAddress(IN PVOID BaseAddress, IN PANSI_STRING Name, IN ULONG Ordinal, OUT PVOID *ProcedureAddress)
NTSTATUS NTAPI DECLSPEC_HOTPATCH LdrLoadDll(IN PWSTR SearchPath OPTIONAL, IN PULONG DllCharacteristics OPTIONAL, IN PUNICODE_STRING DllName, OUT PVOID *BaseAddress)
static IN LPSTR IN PVOID Unk2
unsigned __int64 * PULONG64
PVOID PVOID PWCHAR PVOID USHORT PULONG PVOID PULONG PVOID PULONG PULONG PULONG64 PULONG SomeFlag2
LPCWSTR LPCWSTR LPCWSTR DWORD PSDBQUERYRESULT_VISTA pQueryResult
PVOID PVOID PWCHAR PVOID USHORT ExeType
PVOID PVOID PWCHAR PVOID USHORT PULONG Reason
PVOID PVOID PWCHAR PVOID USHORT PULONG PVOID * SdbQueryAppCompatData
PVOID PVOID PWCHAR PVOID USHORT PULONG PVOID PULONG PVOID PULONG SxsDataSize
PVOID PVOID PWCHAR PVOID USHORT PULONG PVOID PULONG PVOID PULONG PULONG PULONG64 SomeFlag1
PVOID PVOID PWCHAR PVOID USHORT PULONG PVOID PULONG PVOID * SxsData
PSDBQUERYRESULT_VISTA PVOID * ppData
PVOID PVOID PWCHAR PVOID USHORT PULONG PVOID PULONG PVOID PULONG PULONG FusionFlags
PVOID PVOID PWCHAR PVOID Environment
PVOID PVOID PWCHAR PVOID USHORT PULONG PVOID PULONG SdbQueryAppCompatDataSize
PVOID PVOID PWCHAR ApplicationName
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
static const char const char * DllPath
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ ULONG _Out_ PNDIS_STRING _Out_ PNDIS_HANDLE KeyHandle
NTSYSAPI VOID NTAPI RtlCopyUnicodeString(PUNICODE_STRING DestinationString, PUNICODE_STRING SourceString)
NTSYSAPI NTSTATUS NTAPI NtOpenKey(OUT PHANDLE KeyHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes)
@ KeyValuePartialInformation
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)
NTSTATUS NTAPI NtClose(IN HANDLE Handle)
NTSYSAPI VOID NTAPI RtlInitAnsiString(PANSI_STRING DestinationString, PCSZ SourceString)
#define RTL_CONSTANT_OBJECT_ATTRIBUTES(n, a)
NTSTATUS NTAPI NtApphelpCacheControl(_In_ APPHELPCACHESERVICECLASS Service, _In_opt_ PAPPHELP_CACHE_SERVICE_LOOKUP ServiceData)
#define STATUS_NOT_IMPLEMENTED
PVOID NTAPI RtlEncodeSystemPointer(IN PVOID Pointer)
PVOID NTAPI RtlDecodeSystemPointer(IN PVOID Pointer)
OBJECT_ATTRIBUTES AppCompatKeyAttributes
#define RTL_CONSTANT_STRING(s)
#define STATUS_ACCESS_DENIED
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG _Out_ PULONG ResultLength