1#ifndef REACTOS_VERIFIER_H
2#define REACTOS_VERIFIER_H
4#define DLL_PROCESS_VERIFIER 4
45#define RTL_VRF_FLG_FULL_PAGE_HEAP 0x00000001
46#define RTL_VRF_FLG_RESERVED_DONOTUSE 0x00000002
47#define RTL_VRF_FLG_HANDLE_CHECKS 0x00000004
48#define RTL_VRF_FLG_STACK_CHECKS 0x00000008
49#define RTL_VRF_FLG_APPCOMPAT_CHECKS 0x00000010
50#define RTL_VRF_FLG_TLS_CHECKS 0x00000020
51#define RTL_VRF_FLG_DIRTY_STACKS 0x00000040
52#define RTL_VRF_FLG_RPC_CHECKS 0x00000080
53#define RTL_VRF_FLG_COM_CHECKS 0x00000100
54#define RTL_VRF_FLG_DANGEROUS_APIS 0x00000200
55#define RTL_VRF_FLG_RACE_CHECKS 0x00000400
56#define RTL_VRF_FLG_DEADLOCK_CHECKS 0x00000800
57#define RTL_VRF_FLG_FIRST_CHANCE_EXCEPTION_CHECKS 0x00001000
58#define RTL_VRF_FLG_VIRTUAL_MEM_CHECKS 0x00002000
59#define RTL_VRF_FLG_ENABLE_LOGGING 0x00004000
60#define RTL_VRF_FLG_FAST_FILL_HEAP 0x00008000
61#define RTL_VRF_FLG_VIRTUAL_SPACE_TRACKING 0x00010000
62#define RTL_VRF_FLG_ENABLED_SYSTEM_WIDE 0x00020000
63#define RTL_VRF_FLG_MISCELLANEOUS_CHECKS 0x00020000
64#define RTL_VRF_FLG_LOCK_CHECKS 0x00040000
69#define RTL_VRF_DBG_SHOWSNAPS 0x00001
70#define RTL_VRF_DBG_SHOWFOUNDEXPORTS 0x00002
71#define RTL_VRF_DBG_SHOWVERIFIEDEXPORTS 0x00004
72#define RTL_VRF_DBG_LISTPROVIDERS 0x00008
73#define RTL_VRF_DBG_SHOWCHAINING 0x00010
74#define RTL_VRF_DBG_SHOWCHAINING_DEBUG 0x00020
76#define RTL_VRF_DBG_CS_SPLAYTREE 0x00200
77#define RTL_VRF_DBG_CS_DUMP_SPLAYTREE 0x00400
78#define RTL_VRF_DBG_CS_CREATE_DELETE 0x00800
80#define RTL_VRF_DBG_VERIFIER_LOGCALLS 0x04000
81#define RTL_VRF_DBG_VERIFIER_SHOWDYNTHUNKS 0x08000
83#define RTL_VRF_DBG_ENTRYPOINT_HOOKS 0x10000
84#define RTL_VRF_DBG_ENTRYPOINT_CALLS 0x20000
89#define APPLICATION_VERIFIER_CORRUPT_HEAP_POINTER 0x0006
90#define APPLICATION_VERIFIER_DOUBLE_FREE 0x0007
92#define APPLICATION_VERIFIER_EXCEPTION_WHILE_VERIFYING_BLOCK_HEADER 0x000B
93#define APPLICATION_VERIFIER_CORRUPTED_HEAP_BLOCK_AFTER_FREE 0x000D
94#define APPLICATION_VERIFIER_CORRUPTED_INFIX_PATTERN 0x000E
95#define APPLICATION_VERIFIER_CORRUPTED_SUFFIX_PATTERN 0x000F
96#define APPLICATION_VERIFIER_CORRUPTED_START_STAMP 0x0010
97#define APPLICATION_VERIFIER_CORRUPTED_END_STAMP 0x0011
98#define APPLICATION_VERIFIER_CORRUPTED_PREFIX_PATTERN 0x0012
static const WCHAR Message[]
IN PFCB IN PFILE_OBJECT FileObject IN ULONG AllocationSize
PRTL_VERIFIER_THUNK_DESCRIPTOR DllThunks
PVOID RtlpDebugPageHeapDestroy
RTL_VERIFIER_DLL_LOAD_CALLBACK ProviderDllLoadCallback
PVOID RtlpDebugPageHeapCreate
PVOID RtlpGetStackTraceAddress
RTL_VERIFIER_NTDLLHEAPFREE_CALLBACK ProviderNtdllHeapFreeCallback
PRTL_VERIFIER_DLL_DESCRIPTOR ProviderDlls
RTL_VERIFIER_DLL_UNLOAD_CALLBACK ProviderDllUnloadCallback
VOID(NTAPI * RTL_VERIFIER_NTDLLHEAPFREE_CALLBACK)(PVOID AllocationBase, SIZE_T AllocationSize)
struct _RTL_VERIFIER_PROVIDER_DESCRIPTOR * PRTL_VERIFIER_PROVIDER_DESCRIPTOR
struct _RTL_VERIFIER_THUNK_DESCRIPTOR * PRTL_VERIFIER_THUNK_DESCRIPTOR
struct _RTL_VERIFIER_DLL_DESCRIPTOR * PRTL_VERIFIER_DLL_DESCRIPTOR
VOID(NTAPI * RTL_VERIFIER_DLL_UNLOAD_CALLBACK)(PWSTR DllName, PVOID DllBase, SIZE_T DllSize, PVOID Reserved)
struct _RTL_VERIFIER_DLL_DESCRIPTOR RTL_VERIFIER_DLL_DESCRIPTOR
VOID NTAPI RtlApplicationVerifierStop(_In_ ULONG_PTR Code, _In_ PCSTR Message, _In_ PVOID Value1, _In_ PCSTR Description1, _In_ PVOID Value2, _In_ PCSTR Description2, _In_ PVOID Value3, _In_ PCSTR Description3, _In_ PVOID Value4, _In_ PCSTR Description4)
struct _RTL_VERIFIER_THUNK_DESCRIPTOR RTL_VERIFIER_THUNK_DESCRIPTOR
struct _RTL_VERIFIER_PROVIDER_DESCRIPTOR RTL_VERIFIER_PROVIDER_DESCRIPTOR
VOID(NTAPI * RTL_VERIFIER_DLL_LOAD_CALLBACK)(PWSTR DllName, PVOID DllBase, SIZE_T DllSize, PVOID Reserved)
_In_ UCHAR _In_ UCHAR _In_ ULONG Code
_Reserved_ PVOID Reserved