ReactOS  0.4.15-dev-5496-g599ba9c
verifier.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _RTL_VERIFIER_THUNK_DESCRIPTOR
 
struct  _RTL_VERIFIER_DLL_DESCRIPTOR
 
struct  _RTL_VERIFIER_PROVIDER_DESCRIPTOR
 

Macros

#define DLL_PROCESS_VERIFIER   4
 
#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
 
#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
 
#define APPLICATION_VERIFIER_CORRUPT_HEAP_POINTER   0x0006
 
#define APPLICATION_VERIFIER_DOUBLE_FREE   0x0007
 
#define APPLICATION_VERIFIER_EXCEPTION_WHILE_VERIFYING_BLOCK_HEADER   0x000B
 
#define APPLICATION_VERIFIER_CORRUPTED_HEAP_BLOCK_AFTER_FREE   0x000D
 
#define APPLICATION_VERIFIER_CORRUPTED_INFIX_PATTERN   0x000E
 
#define APPLICATION_VERIFIER_CORRUPTED_SUFFIX_PATTERN   0x000F
 
#define APPLICATION_VERIFIER_CORRUPTED_START_STAMP   0x0010
 
#define APPLICATION_VERIFIER_CORRUPTED_END_STAMP   0x0011
 
#define APPLICATION_VERIFIER_CORRUPTED_PREFIX_PATTERN   0x0012
 

Typedefs

typedef VOID(NTAPIRTL_VERIFIER_DLL_LOAD_CALLBACK) (PWSTR DllName, PVOID DllBase, SIZE_T DllSize, PVOID Reserved)
 
typedef VOID(NTAPIRTL_VERIFIER_DLL_UNLOAD_CALLBACK) (PWSTR DllName, PVOID DllBase, SIZE_T DllSize, PVOID Reserved)
 
typedef VOID(NTAPIRTL_VERIFIER_NTDLLHEAPFREE_CALLBACK) (PVOID AllocationBase, SIZE_T AllocationSize)
 
typedef struct _RTL_VERIFIER_THUNK_DESCRIPTOR RTL_VERIFIER_THUNK_DESCRIPTOR
 
typedef struct _RTL_VERIFIER_THUNK_DESCRIPTORPRTL_VERIFIER_THUNK_DESCRIPTOR
 
typedef struct _RTL_VERIFIER_DLL_DESCRIPTOR RTL_VERIFIER_DLL_DESCRIPTOR
 
typedef struct _RTL_VERIFIER_DLL_DESCRIPTORPRTL_VERIFIER_DLL_DESCRIPTOR
 
typedef struct _RTL_VERIFIER_PROVIDER_DESCRIPTOR RTL_VERIFIER_PROVIDER_DESCRIPTOR
 
typedef struct _RTL_VERIFIER_PROVIDER_DESCRIPTORPRTL_VERIFIER_PROVIDER_DESCRIPTOR
 

Functions

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)
 

Macro Definition Documentation

◆ APPLICATION_VERIFIER_CORRUPT_HEAP_POINTER

#define APPLICATION_VERIFIER_CORRUPT_HEAP_POINTER   0x0006

Definition at line 89 of file verifier.h.

◆ APPLICATION_VERIFIER_CORRUPTED_END_STAMP

#define APPLICATION_VERIFIER_CORRUPTED_END_STAMP   0x0011

Definition at line 97 of file verifier.h.

◆ APPLICATION_VERIFIER_CORRUPTED_HEAP_BLOCK_AFTER_FREE

#define APPLICATION_VERIFIER_CORRUPTED_HEAP_BLOCK_AFTER_FREE   0x000D

Definition at line 93 of file verifier.h.

◆ APPLICATION_VERIFIER_CORRUPTED_INFIX_PATTERN

#define APPLICATION_VERIFIER_CORRUPTED_INFIX_PATTERN   0x000E

Definition at line 94 of file verifier.h.

◆ APPLICATION_VERIFIER_CORRUPTED_PREFIX_PATTERN

#define APPLICATION_VERIFIER_CORRUPTED_PREFIX_PATTERN   0x0012

Definition at line 98 of file verifier.h.

◆ APPLICATION_VERIFIER_CORRUPTED_START_STAMP

#define APPLICATION_VERIFIER_CORRUPTED_START_STAMP   0x0010

Definition at line 96 of file verifier.h.

◆ APPLICATION_VERIFIER_CORRUPTED_SUFFIX_PATTERN

#define APPLICATION_VERIFIER_CORRUPTED_SUFFIX_PATTERN   0x000F

Definition at line 95 of file verifier.h.

◆ APPLICATION_VERIFIER_DOUBLE_FREE

#define APPLICATION_VERIFIER_DOUBLE_FREE   0x0007

Definition at line 90 of file verifier.h.

◆ APPLICATION_VERIFIER_EXCEPTION_WHILE_VERIFYING_BLOCK_HEADER

#define APPLICATION_VERIFIER_EXCEPTION_WHILE_VERIFYING_BLOCK_HEADER   0x000B

Definition at line 92 of file verifier.h.

◆ DLL_PROCESS_VERIFIER

#define DLL_PROCESS_VERIFIER   4

Definition at line 4 of file verifier.h.

◆ RTL_VRF_DBG_CS_CREATE_DELETE

#define RTL_VRF_DBG_CS_CREATE_DELETE   0x00800

Definition at line 78 of file verifier.h.

◆ RTL_VRF_DBG_CS_DUMP_SPLAYTREE

#define RTL_VRF_DBG_CS_DUMP_SPLAYTREE   0x00400

Definition at line 77 of file verifier.h.

◆ RTL_VRF_DBG_CS_SPLAYTREE

#define RTL_VRF_DBG_CS_SPLAYTREE   0x00200

Definition at line 76 of file verifier.h.

◆ RTL_VRF_DBG_ENTRYPOINT_CALLS

#define RTL_VRF_DBG_ENTRYPOINT_CALLS   0x20000

Definition at line 84 of file verifier.h.

◆ RTL_VRF_DBG_ENTRYPOINT_HOOKS

#define RTL_VRF_DBG_ENTRYPOINT_HOOKS   0x10000

Definition at line 83 of file verifier.h.

◆ RTL_VRF_DBG_LISTPROVIDERS

#define RTL_VRF_DBG_LISTPROVIDERS   0x00008

Definition at line 72 of file verifier.h.

◆ RTL_VRF_DBG_SHOWCHAINING

#define RTL_VRF_DBG_SHOWCHAINING   0x00010

Definition at line 73 of file verifier.h.

◆ RTL_VRF_DBG_SHOWCHAINING_DEBUG

#define RTL_VRF_DBG_SHOWCHAINING_DEBUG   0x00020

Definition at line 74 of file verifier.h.

◆ RTL_VRF_DBG_SHOWFOUNDEXPORTS

#define RTL_VRF_DBG_SHOWFOUNDEXPORTS   0x00002

Definition at line 70 of file verifier.h.

◆ RTL_VRF_DBG_SHOWSNAPS

#define RTL_VRF_DBG_SHOWSNAPS   0x00001

Definition at line 69 of file verifier.h.

◆ RTL_VRF_DBG_SHOWVERIFIEDEXPORTS

#define RTL_VRF_DBG_SHOWVERIFIEDEXPORTS   0x00004

Definition at line 71 of file verifier.h.

◆ RTL_VRF_DBG_VERIFIER_LOGCALLS

#define RTL_VRF_DBG_VERIFIER_LOGCALLS   0x04000

Definition at line 80 of file verifier.h.

◆ RTL_VRF_DBG_VERIFIER_SHOWDYNTHUNKS

#define RTL_VRF_DBG_VERIFIER_SHOWDYNTHUNKS   0x08000

Definition at line 81 of file verifier.h.

◆ RTL_VRF_FLG_APPCOMPAT_CHECKS

#define RTL_VRF_FLG_APPCOMPAT_CHECKS   0x00000010

Definition at line 49 of file verifier.h.

◆ RTL_VRF_FLG_COM_CHECKS

#define RTL_VRF_FLG_COM_CHECKS   0x00000100

Definition at line 53 of file verifier.h.

◆ RTL_VRF_FLG_DANGEROUS_APIS

#define RTL_VRF_FLG_DANGEROUS_APIS   0x00000200

Definition at line 54 of file verifier.h.

◆ RTL_VRF_FLG_DEADLOCK_CHECKS

#define RTL_VRF_FLG_DEADLOCK_CHECKS   0x00000800

Definition at line 56 of file verifier.h.

◆ RTL_VRF_FLG_DIRTY_STACKS

#define RTL_VRF_FLG_DIRTY_STACKS   0x00000040

Definition at line 51 of file verifier.h.

◆ RTL_VRF_FLG_ENABLE_LOGGING

#define RTL_VRF_FLG_ENABLE_LOGGING   0x00004000

Definition at line 59 of file verifier.h.

◆ RTL_VRF_FLG_ENABLED_SYSTEM_WIDE

#define RTL_VRF_FLG_ENABLED_SYSTEM_WIDE   0x00020000

Definition at line 62 of file verifier.h.

◆ RTL_VRF_FLG_FAST_FILL_HEAP

#define RTL_VRF_FLG_FAST_FILL_HEAP   0x00008000

Definition at line 60 of file verifier.h.

◆ RTL_VRF_FLG_FIRST_CHANCE_EXCEPTION_CHECKS

#define RTL_VRF_FLG_FIRST_CHANCE_EXCEPTION_CHECKS   0x00001000

Definition at line 57 of file verifier.h.

◆ RTL_VRF_FLG_FULL_PAGE_HEAP

#define RTL_VRF_FLG_FULL_PAGE_HEAP   0x00000001

Definition at line 45 of file verifier.h.

◆ RTL_VRF_FLG_HANDLE_CHECKS

#define RTL_VRF_FLG_HANDLE_CHECKS   0x00000004

Definition at line 47 of file verifier.h.

◆ RTL_VRF_FLG_LOCK_CHECKS

#define RTL_VRF_FLG_LOCK_CHECKS   0x00040000

Definition at line 64 of file verifier.h.

◆ RTL_VRF_FLG_MISCELLANEOUS_CHECKS

#define RTL_VRF_FLG_MISCELLANEOUS_CHECKS   0x00020000

Definition at line 63 of file verifier.h.

◆ RTL_VRF_FLG_RACE_CHECKS

#define RTL_VRF_FLG_RACE_CHECKS   0x00000400

Definition at line 55 of file verifier.h.

◆ RTL_VRF_FLG_RESERVED_DONOTUSE

#define RTL_VRF_FLG_RESERVED_DONOTUSE   0x00000002

Definition at line 46 of file verifier.h.

◆ RTL_VRF_FLG_RPC_CHECKS

#define RTL_VRF_FLG_RPC_CHECKS   0x00000080

Definition at line 52 of file verifier.h.

◆ RTL_VRF_FLG_STACK_CHECKS

#define RTL_VRF_FLG_STACK_CHECKS   0x00000008

Definition at line 48 of file verifier.h.

◆ RTL_VRF_FLG_TLS_CHECKS

#define RTL_VRF_FLG_TLS_CHECKS   0x00000020

Definition at line 50 of file verifier.h.

◆ RTL_VRF_FLG_VIRTUAL_MEM_CHECKS

#define RTL_VRF_FLG_VIRTUAL_MEM_CHECKS   0x00002000

Definition at line 58 of file verifier.h.

◆ RTL_VRF_FLG_VIRTUAL_SPACE_TRACKING

#define RTL_VRF_FLG_VIRTUAL_SPACE_TRACKING   0x00010000

Definition at line 61 of file verifier.h.

Typedef Documentation

◆ PRTL_VERIFIER_DLL_DESCRIPTOR

◆ PRTL_VERIFIER_PROVIDER_DESCRIPTOR

◆ PRTL_VERIFIER_THUNK_DESCRIPTOR

◆ RTL_VERIFIER_DLL_DESCRIPTOR

◆ RTL_VERIFIER_DLL_LOAD_CALLBACK

typedef VOID(NTAPI* RTL_VERIFIER_DLL_LOAD_CALLBACK) (PWSTR DllName, PVOID DllBase, SIZE_T DllSize, PVOID Reserved)

Definition at line 6 of file verifier.h.

◆ RTL_VERIFIER_DLL_UNLOAD_CALLBACK

typedef VOID(NTAPI* RTL_VERIFIER_DLL_UNLOAD_CALLBACK) (PWSTR DllName, PVOID DllBase, SIZE_T DllSize, PVOID Reserved)

Definition at line 7 of file verifier.h.

◆ RTL_VERIFIER_NTDLLHEAPFREE_CALLBACK

typedef VOID(NTAPI* RTL_VERIFIER_NTDLLHEAPFREE_CALLBACK) (PVOID AllocationBase, SIZE_T AllocationSize)

Definition at line 8 of file verifier.h.

◆ RTL_VERIFIER_PROVIDER_DESCRIPTOR

◆ RTL_VERIFIER_THUNK_DESCRIPTOR

Function Documentation

◆ RtlApplicationVerifierStop()

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 
)

Definition at line 23 of file appverifier.c.

34 {
35  PTEB Teb = NtCurrentTeb();
36 
37  DbgPrint("**************************************************\n");
38  DbgPrint("VERIFIER STOP %08Ix: pid %04Ix: %s\n",
40  DbgPrint(" %p : %s\n", Value1, Description1);
41  DbgPrint(" %p : %s\n", Value2, Description2);
42  DbgPrint(" %p : %s\n", Value3, Description3);
43  DbgPrint(" %p : %s\n", Value4, Description4);
44  DbgPrint("**************************************************\n");
45  DbgBreakPoint();
46 }
#define DbgPrint
Definition: hal.h:12
HANDLE UniqueProcess
Definition: compat.h:825
uint32_t ULONG_PTR
Definition: typedefs.h:65
CLIENT_ID ClientId
Definition: compat.h:839
VOID NTAPI DbgBreakPoint(VOID)
CHAR Message[80]
Definition: alive.c:5
_In_ UCHAR _In_ UCHAR _In_ ULONG Code
Definition: wdfdevice.h:1697
Definition: compat.h:835
FORCEINLINE struct _TEB * NtCurrentTeb(VOID)
Definition: psfuncs.h:420

Referenced by RtlpDphReportCorruptedBlock().