ReactOS 0.4.15-dev-6055-g36cdd34
|
#include "windef.h"
#include "winbase.h"
#include "winreg.h"
#include "strsafe.h"
#include "apphelp.h"
#include <ndk/rtlfuncs.h>
#include <ndk/cmfuncs.h>
#include <ndk/obfuncs.h>
#include <ndk/kdtypes.h>
Go to the source code of this file.
Macros | |
#define | WIN32_NO_STATUS |
#define | DPFLTR_APPCOMPAT_ID 123 |
#define | MAX_GUID_STRING_LEN sizeof("{12345678-1234-1234-0123-456789abcdef}") |
#define | NT_SUCCESS(StatCode) ((NTSTATUS)(StatCode) >= 0) |
#define | APPHELP_DONTWRITE_REASON 2 |
#define | APPHELP_CLEARBITS 0x100 /* TODO: Investigate */ |
#define | APPHELP_IGNORE_ENVIRONMENT 0x400 |
#define | APPHELP_VALID_RESULT 0x10000 |
#define | APPHELP_RESULT_NOTFOUND 0x20000 |
#define | APPHELP_RESULT_FOUND 0x40000 |
Functions | |||||||||
ACCESS_MASK | Wow64QueryFlag (void) | ||||||||
void | ApphelppInitDebugLevel (void) | ||||||||
BOOL WINAPI | DllMain (HINSTANCE hinst, DWORD reason, LPVOID reserved) | ||||||||
BOOL WINAPI | ApphelpCheckInstallShieldPackage (void *ptr, LPCWSTR path) | ||||||||
BOOL WINAPI | ApphelpCheckShellObject (REFCLSID ObjectCLSID, BOOL bShimIfNecessary, ULONGLONG *pullFlags) | ||||||||
BOOL WINAPIV | ShimDbgPrint (SHIM_LOG_LEVEL Level, PCSTR FunctionName, PCSTR Format,...) | ||||||||
BOOL WINAPI | ApphelpCheckRunAppEx (_In_ HANDLE FileHandle, _In_opt_ PVOID Unk1, _In_opt_ PVOID Unk2, _In_opt_z_ PCWSTR ApplicationName, _In_opt_ PVOID Environment, _In_opt_ USHORT ExeType, _Inout_opt_ PULONG Reason, _Out_opt_ PVOID *SdbQueryAppCompatData, _Out_opt_ PULONG SdbQueryAppCompatDataSize, _Out_opt_ PVOID *SxsData, _Out_opt_ PULONG SxsDataSize, _Out_opt_ PULONG FusionFlags, _Out_opt_ PULONG64 SomeFlag1, _Out_opt_ PULONG SomeFlag2) | ||||||||
SdbRegisterDatabaseEx | |||||||||
Register an application compatibility database
| |||||||||
BOOL WINAPI | SdbRegisterDatabaseEx (_In_ LPCWSTR pszDatabasePath, _In_ DWORD dwDatabaseType, _In_opt_ const PULONGLONG pTimeStamp) | ||||||||
SdbRegisterDatabase | |||||||||
Register an application compatibility database
| |||||||||
BOOL WINAPI | SdbRegisterDatabase (_In_ LPCWSTR pszDatabasePath, _In_ DWORD dwDatabaseType) | ||||||||
SdbUnregisterDatabase | |||||||||
| |||||||||
BOOL WINAPI | SdbUnregisterDatabase (_In_ const GUID *pguidDB) | ||||||||
BOOL WINAPI | BaseDumpAppcompatCache (VOID) | ||||||||
BOOL WINAPI | BaseFlushAppcompatCache (VOID) | ||||||||
ShimDumpCache | |||||||||
Dump contents of the shim cache.
| |||||||||
BOOL WINAPI | ShimDumpCache (HWND hwnd, HINSTANCE hInstance, LPCSTR lpszCmdLine, int nCmdShow) | ||||||||
ShimFlushCache | |||||||||
Flush the shim cache. Call this after installing a new shim database
| |||||||||
BOOL WINAPI | ShimFlushCache (HWND hwnd, HINSTANCE hInstance, LPCSTR lpszCmdLine, int nCmdShow) | ||||||||
Variables | |
const UNICODE_STRING | InstalledSDBKeyName = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\Software\\Microsoft\\Windows NT\\CurrentVersion\\AppCompatFlags\\InstalledSDB") |
ULONG | g_ShimDebugLevel = ~0 |
HMODULE | g_hInstance |
BOOL WINAPI ApphelpCheckRunAppEx | ( | _In_ HANDLE | FileHandle, |
_In_opt_ PVOID | Unk1, | ||
_In_opt_ PVOID | Unk2, | ||
_In_opt_z_ PCWSTR | ApplicationName, | ||
_In_opt_ PVOID | Environment, | ||
_In_opt_ USHORT | ExeType, | ||
_Inout_opt_ PULONG | Reason, | ||
_Out_opt_ PVOID * | SdbQueryAppCompatData, | ||
_Out_opt_ PULONG | SdbQueryAppCompatDataSize, | ||
_Out_opt_ PVOID * | SxsData, | ||
_Out_opt_ PULONG | SxsDataSize, | ||
_Out_opt_ PULONG | FusionFlags, | ||
_Out_opt_ PULONG64 | SomeFlag1, | ||
_Out_opt_ PULONG | SomeFlag2 | ||
) |
Lookup Shims / Fixes for the specified application
[in] | FileHandle | Handle to the file to check. |
[in] | Unk1 | |
[in] | Unk2 | |
[in] | ApplicationName | Exe to check |
[in] | Environment | The environment variables to use, or NULL to use the current environment. |
[in] | ExeType | Exe type (MACHINE_TYPE_XXXX) |
[in,out] | Reason | Input/output flags |
[in] | SdbQueryAppCompatData | The resulting data. |
[in] | SdbQueryAppCompatDataSize | The resulting data size. |
[in] | SxsData | TODO |
[in] | SxsDataSize | TODO |
[in] | FusionFlags | TODO |
[in] | SomeFlag1 | TODO |
[in] | SomeFlag2 | TODO |
Definition at line 184 of file apphelp.c.
BOOL WINAPI ApphelpCheckShellObject | ( | REFCLSID | ObjectCLSID, |
BOOL | bShimIfNecessary, | ||
ULONGLONG * | pullFlags | ||
) |
Definition at line 82 of file apphelp.c.
Referenced by START_TEST().
Definition at line 38 of file apphelp.c.
Referenced by ShimDbgPrint().
Definition at line 316 of file appcache.c.
Referenced by ShimDumpCache().
Definition at line 59 of file apphelp.c.
Definition at line 391 of file apphelp.c.
BOOL WINAPI SdbRegisterDatabaseEx | ( | _In_ LPCWSTR | pszDatabasePath, |
_In_ DWORD | dwDatabaseType, | ||
_In_opt_ const PULONGLONG | pTimeStamp | ||
) |
Definition at line 261 of file apphelp.c.
Referenced by SdbInstall(), and SdbRegisterDatabase().
Definition at line 406 of file apphelp.c.
Referenced by SdbUninstall().
BOOL WINAPIV ShimDbgPrint | ( | SHIM_LOG_LEVEL | Level, |
PCSTR | FunctionName, | ||
PCSTR | Format, | ||
... | |||
) |
Outputs diagnostic info.
[in] | Level | The level to log this message with, choose any of [SHIM_ERR, SHIM_WARN, SHIM_INFO]. |
[in] | FunctionName | The function this log should be attributed to. |
[in] | Format | The format string. |
... | Variable arguments providing additional information. |
Definition at line 106 of file apphelp.c.
ACCESS_MASK Wow64QueryFlag | ( | void | ) |
Definition at line 179 of file layer.c.
Referenced by SdbpOpenKey(), SdbRegisterDatabaseEx(), and SdbUnregisterDatabase().
ULONG g_ShimDebugLevel = ~0 |
Definition at line 35 of file apphelp.c.
Referenced by ApphelppInitDebugLevel(), and ShimDbgPrint().
const UNICODE_STRING InstalledSDBKeyName = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\Software\\Microsoft\\Windows NT\\CurrentVersion\\AppCompatFlags\\InstalledSDB") |
Definition at line 24 of file apphelp.c.
Referenced by SdbRegisterDatabaseEx(), and SdbUnregisterDatabase().