mirror of
https://github.com/reactos/reactos.git
synced 2025-05-25 12:14:32 +00:00
[SDK] Add initial verifier header.
This commit is contained in:
parent
5a68fbeb43
commit
84d7db2c57
1 changed files with 86 additions and 0 deletions
86
sdk/include/reactos/verifier.h
Normal file
86
sdk/include/reactos/verifier.h
Normal file
|
@ -0,0 +1,86 @@
|
|||
#ifndef REACTOS_VERIFIER_H
|
||||
#define REACTOS_VERIFIER_H
|
||||
|
||||
#define DLL_PROCESS_VERIFIER 4
|
||||
|
||||
typedef VOID (NTAPI* RTL_VERIFIER_DLL_LOAD_CALLBACK) (PWSTR DllName, PVOID DllBase, SIZE_T DllSize, PVOID Reserved);
|
||||
typedef VOID (NTAPI* RTL_VERIFIER_DLL_UNLOAD_CALLBACK) (PWSTR DllName, PVOID DllBase, SIZE_T DllSize, PVOID Reserved);
|
||||
typedef VOID (NTAPI* RTL_VERIFIER_NTDLLHEAPFREE_CALLBACK) (PVOID AllocationBase, SIZE_T AllocationSize);
|
||||
|
||||
typedef struct _RTL_VERIFIER_THUNK_DESCRIPTOR {
|
||||
PCHAR ThunkName;
|
||||
PVOID ThunkOldAddress;
|
||||
PVOID ThunkNewAddress;
|
||||
} RTL_VERIFIER_THUNK_DESCRIPTOR, *PRTL_VERIFIER_THUNK_DESCRIPTOR;
|
||||
|
||||
typedef struct _RTL_VERIFIER_DLL_DESCRIPTOR {
|
||||
PWCHAR DllName;
|
||||
DWORD DllFlags;
|
||||
PVOID DllAddress;
|
||||
PRTL_VERIFIER_THUNK_DESCRIPTOR DllThunks;
|
||||
} RTL_VERIFIER_DLL_DESCRIPTOR, *PRTL_VERIFIER_DLL_DESCRIPTOR;
|
||||
|
||||
typedef struct _RTL_VERIFIER_PROVIDER_DESCRIPTOR {
|
||||
// Provider fields
|
||||
DWORD Length;
|
||||
PRTL_VERIFIER_DLL_DESCRIPTOR ProviderDlls;
|
||||
RTL_VERIFIER_DLL_LOAD_CALLBACK ProviderDllLoadCallback;
|
||||
RTL_VERIFIER_DLL_UNLOAD_CALLBACK ProviderDllUnloadCallback;
|
||||
|
||||
// Verifier fields
|
||||
PWSTR VerifierImage;
|
||||
DWORD VerifierFlags;
|
||||
DWORD VerifierDebug;
|
||||
PVOID RtlpGetStackTraceAddress;
|
||||
PVOID RtlpDebugPageHeapCreate;
|
||||
PVOID RtlpDebugPageHeapDestroy;
|
||||
|
||||
// Provider field
|
||||
RTL_VERIFIER_NTDLLHEAPFREE_CALLBACK ProviderNtdllHeapFreeCallback;
|
||||
} RTL_VERIFIER_PROVIDER_DESCRIPTOR, *PRTL_VERIFIER_PROVIDER_DESCRIPTOR;
|
||||
|
||||
|
||||
// VerifierFlags
|
||||
|
||||
#define RTL_VRF_FLG_FULL_PAGE_HEAP 0x00000001
|
||||
#define RTL_VRF_FLG_RESERVED_DONOTUSE 0x00000002
|
||||
#define RTL_VRF_FLG_HANDLE_CHECKS 0x00000004
|
||||
#define RTL_VRF_FLG_STACK_CHECKS 0x00000008
|
||||
#define RTL_VRF_FLG_APPCOMPAT_CHECKS 0x00000010
|
||||
#define RTL_VRF_FLG_TLS_CHECKS 0x00000020
|
||||
#define RTL_VRF_FLG_DIRTY_STACKS 0x00000040
|
||||
#define RTL_VRF_FLG_RPC_CHECKS 0x00000080
|
||||
#define RTL_VRF_FLG_COM_CHECKS 0x00000100
|
||||
#define RTL_VRF_FLG_DANGEROUS_APIS 0x00000200
|
||||
#define RTL_VRF_FLG_RACE_CHECKS 0x00000400
|
||||
#define RTL_VRF_FLG_DEADLOCK_CHECKS 0x00000800
|
||||
#define RTL_VRF_FLG_FIRST_CHANCE_EXCEPTION_CHECKS 0x00001000
|
||||
#define RTL_VRF_FLG_VIRTUAL_MEM_CHECKS 0x00002000
|
||||
#define RTL_VRF_FLG_ENABLE_LOGGING 0x00004000
|
||||
#define RTL_VRF_FLG_FAST_FILL_HEAP 0x00008000
|
||||
#define RTL_VRF_FLG_VIRTUAL_SPACE_TRACKING 0x00010000
|
||||
#define RTL_VRF_FLG_ENABLED_SYSTEM_WIDE 0x00020000
|
||||
#define RTL_VRF_FLG_MISCELLANEOUS_CHECKS 0x00020000
|
||||
#define RTL_VRF_FLG_LOCK_CHECKS 0x00040000
|
||||
|
||||
|
||||
// VerifierDebug
|
||||
|
||||
#define RTL_VRF_DBG_SHOWSNAPS 0x00001
|
||||
#define RTL_VRF_DBG_SHOWFOUNDEXPORTS 0x00002
|
||||
#define RTL_VRF_DBG_SHOWVERIFIEDEXPORTS 0x00004
|
||||
#define RTL_VRF_DBG_LISTPROVIDERS 0x00008
|
||||
#define RTL_VRF_DBG_SHOWCHAINING 0x00010
|
||||
#define RTL_VRF_DBG_SHOWCHAINING_DEBUG 0x00020
|
||||
|
||||
#define RTL_VRF_DBG_CS_SPLAYTREE 0x00200
|
||||
#define RTL_VRF_DBG_CS_DUMP_SPLAYTREE 0x00400
|
||||
#define RTL_VRF_DBG_CS_CREATE_DELETE 0x00800
|
||||
|
||||
#define RTL_VRF_DBG_VERIFIER_LOGCALLS 0x04000
|
||||
#define RTL_VRF_DBG_VERIFIER_SHOWDYNTHUNKS 0x08000
|
||||
|
||||
#define RTL_VRF_DBG_ENTRYPOINT_HOOKS 0x10000
|
||||
#define RTL_VRF_DBG_ENTRYPOINT_CALLS 0x20000
|
||||
|
||||
#endif // REACTOS_VERIFIER_H
|
Loading…
Reference in a new issue