|
ReactOS 0.4.16-dev-2332-g4cba65d
|
#include "windows.h"#include "ntndk.h"#include "strsafe.h"#include "apphelp.h"#include "compat_undoc.h"
Go to the source code of this file.
Classes | |
| struct | _ShimData |
Macros | |
| #define | WIN32_NO_STATUS |
| #define | MAX_LAYER_LENGTH 256 |
| #define | GPLK_USER 1 |
| #define | GPLK_MACHINE 2 |
| #define | SHIMDATA_MAGIC 0xAC0DEDAB |
| #define | REACTOS_COMPATVERSION_IGNOREMANIFEST 0xffffffff |
Typedefs | |
| typedef struct _ShimData | ShimData |
| C_ASSERT | ( | offsetof(ShimData, dwMagic) | = =offsetof(ReactOS_ShimData, dwMagic) | ) |
| C_ASSERT | ( | offsetof(ShimData, dwRosProcessCompatVersion) | = =offsetof(ReactOS_ShimData, dwRosProcessCompatVersion) | ) |
| C_ASSERT | ( | SHIMDATA_MAGIC | = =REACTOS_SHIMDATA_MAGIC | ) |
| C_ASSERT | ( | sizeof(ShimData) | = =sizeof(ReactOS_ShimData) | ) |
Retrieves AppPatch directory.
| [in] | pdb | Handle to the shim database. |
| [out] | path | Pointer to memory in which path shall be written. |
| [in] | size | Size of the buffer in characters. |
Definition at line 592 of file hsdb.c.
Referenced by CLayerStringList::CLayerStringList(), SdbInitDatabase(), SeiInit(), and START_TEST().
| BOOL WINAPI SdbGetMatchingExe | ( | HSDB | hsdb, |
| LPCWSTR | path, | ||
| LPCWSTR | module_name, | ||
| LPCWSTR | env, | ||
| DWORD | flags, | ||
| PSDBQUERYRESULT | result | ||
| ) |
Queries database for a specified exe If hsdb is NULL default database shall be loaded and searched.
| [in] | hsdb | Handle to the shim database. |
| [in] | path | Path to executable for which we query database. |
| [in] | module_name | Unused. |
| [in] | env | The environment block to use |
| [in] | flags | 0 or SDBGMEF_IGNORE_ENVIRONMENT. |
| [out] | result | Pointer to structure in which query result shall be stored. |
Definition at line 445 of file hsdb.c.
Referenced by ApphelpCheckRunAppEx().
Opens specified shim database file. Handle returned by this function may only be used by functions which take HSDB param thus differing it from SdbOpenDatabase.
| [in] | flags | Specifies type of path or predefined database. |
| [in] | path | Path to the shim database file. |
Definition at line 375 of file hsdb.c.
Referenced by ApphelpCheckRunAppEx(), SdbGetMatchingExe(), SdbPackAppCompatData(), and SeiGetShimData().
| BOOL WINAPI SdbPackAppCompatData | ( | HSDB | hsdb, |
| PSDBQUERYRESULT | pQueryResult, | ||
| PVOID * | ppData, | ||
| DWORD * | pdwSize | ||
| ) |
Definition at line 700 of file hsdb.c.
|
static |
Definition at line 189 of file hsdb.c.
Referenced by SdbpAddExeMatch(), and SdbpAddNamedLayerMatch().
|
static |
Definition at line 253 of file hsdb.c.
Referenced by SdbpAddExeMatch().
|
static |
Definition at line 288 of file hsdb.c.
Referenced by SdbGetMatchingExe().
|
static |
Definition at line 314 of file hsdb.c.
Referenced by SdbGetMatchingExe(), and SdbpPropagateEnvLayers().
|
static |
Definition at line 228 of file hsdb.c.
Referenced by SdbpAddExeLayers(), and SdbpAddLayerMatches().
|
static |
Definition at line 208 of file hsdb.c.
Referenced by SdbpAddExeLayers(), and SdbpAddNamedLayerMatch().
Definition at line 46 of file hsdb.c.
Referenced by SdbpMatchExe().
|
static |
Definition at line 115 of file hsdb.c.
Referenced by SdbGetMatchingExe().
|
static |
Definition at line 54 of file hsdb.c.
Referenced by SdbpMatchExe().
|
static |
Definition at line 347 of file hsdb.c.
Referenced by SdbGetMatchingExe().
| DWORD WINAPI SdbQueryData | ( | HSDB | hsdb, |
| TAGREF | trWhich, | ||
| LPCWSTR | lpszDataName, | ||
| LPDWORD | lpdwDataType, | ||
| LPVOID | lpBuffer, | ||
| LPDWORD | lpcbBufferSize | ||
| ) |
Retrieve a Data entry
| [in] | hsdb | The multi-database. |
| [in] | trExe | The tagRef to start at |
| [in,opt] | lpszDataName The name of the Data entry to find, or NULL to return all. | |
| [out,opt] | lpdwDataType Any of REG_SZ, REG_QWORD, REG_DWORD, ... | |
| [out] | lpBuffer | The output buffer |
| [in,out,opt] | lpcbBufferSize The size of lpBuffer in bytes |
Definition at line 845 of file hsdb.c.
Referenced by SdbPackAppCompatData().
| DWORD WINAPI SdbQueryDataEx | ( | HSDB | hsdb, |
| TAGREF | trWhich, | ||
| LPCWSTR | lpszDataName, | ||
| LPDWORD | lpdwDataType, | ||
| LPVOID | lpBuffer, | ||
| LPDWORD | lpcbBufferSize, | ||
| TAGREF * | ptrData | ||
| ) |
Retrieve a Data entry
| [in] | hsdb | The multi-database. |
| [in] | trExe | The tagRef to start at |
| [in,opt] | lpszDataName The name of the Data entry to find, or NULL to return all. | |
| [out,opt] | lpdwDataType Any of REG_SZ, REG_QWORD, REG_DWORD, ... | |
| [out] | lpBuffer | The output buffer |
| [in,out,opt] | lpcbBufferSize The size of lpBuffer in bytes | |
| [out,opt] | ptrData The tagRef of the data |
Definition at line 812 of file hsdb.c.
Referenced by SdbQueryData().
Closes shim database opened by SdbInitDatabase.
| [in] | hsdb | Handle to the shim database. |
Definition at line 423 of file hsdb.c.
Referenced by ApphelpCheckRunAppEx(), SdbGetMatchingExe(), SdbInitDatabase(), SdbPackAppCompatData(), SE_InstallBeforeInit(), and SeiGetShimData().
Translates the given trWhich to a specific database / tagid
| [in] | hsdb | Handle to the database. |
| [in] | pdb | The Shim database that tiWhich belongs to. |
| [in] | tiWhich | Path to executable for which we query database. |
| [out,opt] | ptrWhich The tagid that tiWhich corresponds to. |
Definition at line 682 of file hsdb.c.
Referenced by SdbGetLayerTagRef(), SdbpAddExeLayers(), SdbpAddExeMatch(), SdbpAddNamedLayerMatch(), SdbQueryDataEx(), and SeiBuildShimRefArray().
Translates the given trWhich to a specific database / tagid
| [in] | hsdb | Handle to the database. |
| [in] | trWhich | Tagref to find |
| [out,opt] | ppdb The Shim database that trWhich belongs to. | |
| [out,opt] | ptiWhich The tagid that trWhich corresponds to. |
Definition at line 651 of file hsdb.c.
Referenced by SdbQueryDataEx(), SeiBuildGlobalInclExclList(), SeiBuildShimRefArray(), and SeiInit().
| BOOL WINAPI SdbUnpackAppCompatData | ( | HSDB | hsdb, |
| LPCWSTR | pszImageName, | ||
| PVOID | pData, | ||
| PSDBQUERYRESULT | pQueryResult | ||
| ) |
Definition at line 774 of file hsdb.c.
Referenced by SeiGetShimData().