|
ReactOS 0.4.16-dev-1946-g52006dd
|
#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 RTL_NUMBER_OF("{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) | ||||||||
| C_ASSERT (MAX_GUID_STRING_LEN==39) | |||||||||
| 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 |
| #define MAX_GUID_STRING_LEN RTL_NUMBER_OF("{12345678-1234-1234-0123-456789abcdef}") |
| 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 185 of file apphelp.c.
| BOOL WINAPI ApphelpCheckShellObject | ( | REFCLSID | ObjectCLSID, |
| BOOL | bShimIfNecessary, | ||
| ULONGLONG * | pullFlags | ||
| ) |
Definition at line 83 of file apphelp.c.
Referenced by START_TEST().
Definition at line 39 of file apphelp.c.
Referenced by ShimDbgPrint().
Definition at line 418 of file appcache.c.
Referenced by ShimDumpCache().
| C_ASSERT | ( | MAX_GUID_STRING_LEN | = =39 | ) |
Definition at line 60 of file apphelp.c.
Definition at line 390 of file apphelp.c.
| BOOL WINAPI SdbRegisterDatabaseEx | ( | _In_ LPCWSTR | pszDatabasePath, |
| _In_ DWORD | dwDatabaseType, | ||
| _In_opt_ const PULONGLONG | pTimeStamp | ||
| ) |
Definition at line 262 of file apphelp.c.
Referenced by SdbInstall(), and SdbRegisterDatabase().
Definition at line 405 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 107 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 36 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().