ReactOS
0.4.15-dev-5606-gf34e425
|
Go to the source code of this file.
Classes | |
struct | tagHOOKAPI |
struct | tagSHIMREG |
Macros | |
#define | SHIM_REASON_INIT 100 |
#define | SHIM_REASON_DEINIT 101 |
#define | SHIM_REASON_DLL_LOAD 102 /* Arg: PLDR_DATA_TABLE_ENTRY */ |
#define | SHIM_REASON_DLL_UNLOAD 103 /* Arg: PLDR_DATA_TABLE_ENTRY */ |
#define | SHIM_NOTIFY_ATTACH 1 |
#define | SHIM_NOTIFY_DETACH 2 |
#define | SHIM_NOTIFY_DLL_LOAD 3 /* Arg: PLDR_DATA_TABLE_ENTRY */ |
#define | SHIM_NOTIFY_DLL_UNLOAD 4 /* Arg: PLDR_DATA_TABLE_ENTRY */ |
#define | SHIM_MSG(fmt, ...) do { if (g_ShimEngDebugLevel) SeiDbgPrint(SEI_MSG, SHIM_OBJ_NAME(g_szModuleName), fmt, ##__VA_ARGS__ ); } while (0) |
#define | SHIM_FAIL(fmt, ...) do { if (g_ShimEngDebugLevel) SeiDbgPrint(SEI_FAIL, SHIM_OBJ_NAME(g_szModuleName), fmt, ##__VA_ARGS__ ); } while (0) |
#define | SHIM_WARN(fmt, ...) do { if (g_ShimEngDebugLevel) SeiDbgPrint(SEI_WARN, SHIM_OBJ_NAME(g_szModuleName), fmt, ##__VA_ARGS__ ); } while (0) |
#define | SHIM_INFO(fmt, ...) do { if (g_ShimEngDebugLevel) SeiDbgPrint(SEI_INFO, SHIM_OBJ_NAME(g_szModuleName), fmt, ##__VA_ARGS__ ); } while (0) |
Typedefs | |
typedef struct tagHOOKAPI | HOOKAPI |
typedef struct tagHOOKAPI * | PHOOKAPI |
typedef enum _SEI_LOG_LEVEL | SEI_LOG_LEVEL |
typedef PHOOKAPI(WINAPI * | _PVGetHookAPIs) (DWORD, PCSTR, PDWORD) |
typedef BOOL(WINAPI * | _PVNotify) (DWORD, PVOID) |
typedef struct tagSHIMREG | SHIMREG |
typedef struct tagSHIMREG * | PSHIMREG |
Enumerations | |
enum | _SEI_LOG_LEVEL { SEI_MSG = 1, SEI_FAIL = 2, SEI_WARN = 3, SEI_INFO = 4 } |
Functions | |
PVOID | ShimLib_ShimMalloc (SIZE_T dwSize) |
VOID | ShimLib_ShimFree (PVOID pData) |
PCSTR | ShimLib_StringDuplicateA (PCSTR szString) |
PCSTR | ShimLib_StringNDuplicateA (PCSTR szString, SIZE_T stringLength) |
BOOL | ShimLib_StrAEqualsWNC (PCSTR szString, PCWSTR wszString) |
HINSTANCE | ShimLib_Instance (VOID) |
VOID | ShimLib_Init (HINSTANCE hInstance) |
VOID | ShimLib_Deinit (VOID) |
PHOOKAPI WINAPI | ShimLib_GetHookAPIs (LPCSTR szCommandLine, LPCWSTR wszShimName, PDWORD pdwHookCount) |
BOOL WINAPI | ShimLib_NotifyShims (DWORD fdwReason, PVOID ptr) |
BOOL WINAPIV | SeiDbgPrint (SEI_LOG_LEVEL Level, PCSTR Function, PCSTR Format,...) |
Variables | |
ULONG | g_ShimEngDebugLevel |
#define SHIM_FAIL | ( | fmt, | |
... | |||
) | do { if (g_ShimEngDebugLevel) SeiDbgPrint(SEI_FAIL, SHIM_OBJ_NAME(g_szModuleName), fmt, ##__VA_ARGS__ ); } while (0) |
#define SHIM_INFO | ( | fmt, | |
... | |||
) | do { if (g_ShimEngDebugLevel) SeiDbgPrint(SEI_INFO, SHIM_OBJ_NAME(g_szModuleName), fmt, ##__VA_ARGS__ ); } while (0) |
#define SHIM_MSG | ( | fmt, | |
... | |||
) | do { if (g_ShimEngDebugLevel) SeiDbgPrint(SEI_MSG, SHIM_OBJ_NAME(g_szModuleName), fmt, ##__VA_ARGS__ ); } while (0) |
#define SHIM_NOTIFY_DLL_LOAD 3 /* Arg: PLDR_DATA_TABLE_ENTRY */ |
#define SHIM_NOTIFY_DLL_UNLOAD 4 /* Arg: PLDR_DATA_TABLE_ENTRY */ |
#define SHIM_REASON_DLL_LOAD 102 /* Arg: PLDR_DATA_TABLE_ENTRY */ |
#define SHIM_REASON_DLL_UNLOAD 103 /* Arg: PLDR_DATA_TABLE_ENTRY */ |
#define SHIM_WARN | ( | fmt, | |
... | |||
) | do { if (g_ShimEngDebugLevel) SeiDbgPrint(SEI_WARN, SHIM_OBJ_NAME(g_szModuleName), fmt, ##__VA_ARGS__ ); } while (0) |
typedef struct tagHOOKAPI HOOKAPI |
typedef struct tagHOOKAPI * PHOOKAPI |
typedef struct tagSHIMREG * PSHIMREG |
typedef enum _SEI_LOG_LEVEL SEI_LOG_LEVEL |
typedef struct tagSHIMREG SHIMREG |
Enumerator | |
---|---|
SEI_MSG | |
SEI_FAIL | |
SEI_WARN | |
SEI_INFO |
Definition at line 57 of file shimlib.h.
BOOL WINAPIV SeiDbgPrint | ( | SEI_LOG_LEVEL | Level, |
PCSTR | Function, | ||
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 160 of file shimeng.c.
Referenced by SeiBuildShimRefArray(), and SeiInit().
PHOOKAPI WINAPI ShimLib_GetHookAPIs | ( | LPCSTR | szCommandLine, |
LPCWSTR | wszShimName, | ||
PDWORD | pdwHookCount | ||
) |
Definition at line 30 of file shimlib.c.
Referenced by DllMain().
Definition at line 55 of file shimlib.c.
Referenced by APIHook_FreeLibrary(), APIHook_GetProcAddress(), APIHook_LoadLibraryA(), APIHook_LoadLibraryExA(), APIHook_LoadLibraryExW(), and APIHook_LoadLibraryW().
Definition at line 136 of file shimlib.c.
Referenced by NotifyShims().
Definition at line 45 of file shimlib.c.
Referenced by FreeLibrary(), InitIgnoreFreeLibrary(), ShimLib_GetHookAPIs(), ShimLib_Init(), and ShimLib_StringNDuplicateA().
Definition at line 67 of file shimlib.c.
Referenced by InitIgnoreFreeLibrary().
Definition at line 60 of file shimlib.c.
Referenced by InitIgnoreFreeLibrary(), and ShimLib_StringDuplicateA().
ULONG g_ShimEngDebugLevel |
Definition at line 32 of file shimeng.c.
Referenced by SeiDbgPrint(), and SeiInitDebugSupport().