ReactOS
0.4.16-dev-258-g81860b4
fxbugcheck.h
Go to the documentation of this file.
1
/*++
2
3
Copyright (c) Microsoft Corporation
4
5
Module Name:
6
7
FxBugcheck.h
8
9
Abstract:
10
This module contains private macros/defines for crashdumps.
11
12
--*/
13
14
#ifndef __FXBUGCHECK_H__
15
#define __FXBUGCHECK_H__
16
17
#ifdef __cplusplus
18
extern
"C"
{
19
#endif
20
21
//
22
// Macro for doing pointer arithmetic.
23
//
24
#define Add2Ptr(P,I) ((PVOID)((PUCHAR)(P) + (I)))
25
26
//
27
// This macro takes a length & rounds it up to a multiple of the alignment
28
// Alignment is given as a power of 2
29
//
30
#define EXP_ALIGN_UP_PTR_ON_BOUNDARY(_length, _alignment) \
31
(PVOID) ((((ULONG_PTR) (_length)) + ((_alignment)-1)) & \
32
~(ULONG_PTR)((_alignment) - 1))
33
34
//
35
// Checks if 1st argument is aligned on given power of 2 boundary specified
36
// by 2nd argument
37
//
38
#define EXP_IS_PTR_ALIGNED_ON_BOUNDARY(_pointer, _alignment) \
39
((((ULONG_PTR) (_pointer)) & ((_alignment) - 1)) == 0)
40
41
42
//
43
// This macro takes a size and rounds it down to a multiple of the alignemnt.
44
// Alignment doesn't need to be a power of 2.
45
//
46
#define EXP_ALIGN_DOWN_ON_BOUNDARY(_size, _alignment) \
47
((_size) - ((_size) % _alignment))
48
49
//
50
// Define the max data size the bugcheck callback can write. Per callback the
51
// total size is around 16K on 32bit OS (32K on 64bit OS).
52
//
53
#ifdef _WIN64
54
#define FX_MAX_DUMP_SIZE (32*1024)
55
#else
56
#define FX_MAX_DUMP_SIZE (16*1024)
57
#endif
58
59
//
60
// Maximum number of CPUs supported by the driver tracker.
61
//
62
#define FX_DRIVER_TRACKER_MAX_CPUS 256
// Max Win7 processors.
63
64
//
65
// The initial/increment size of the array to hold driver info.
66
//
67
#define FX_DUMP_DRIVER_INFO_INCREMENT 10
// # entries.
68
69
//
70
// The max size of the array to hold the driver info. This is the max data
71
// we can write into the minidump.
72
//
73
#define FX_MAX_DUMP_DRIVER_INFO_COUNT \
74
(FX_MAX_DUMP_SIZE/sizeof(FX_DUMP_DRIVER_INFO_ENTRY))
75
76
//
77
// During run-time we store info about the loaded drivers in an array
78
// of FX_DUMP_DRIVER_INFO_ENTRY struct entries, on a crash we write the
79
// entire array in the minidump for postmortem analysis.
80
//
81
typedef
struct
_FX_DUMP_DRIVER_INFO_ENTRY
{
82
PFX_DRIVER_GLOBALS
FxDriverGlobals
;
83
WDF_VERSION
Version
;
84
CHAR
DriverName
[
WDF_DRIVER_GLOBALS_NAME_LEN
];
85
}
FX_DUMP_DRIVER_INFO_ENTRY
, *
PFX_DUMP_DRIVER_INFO_ENTRY
;
86
87
#ifdef __cplusplus
88
}
// extern "C"
89
#endif
90
91
#endif
// __FXBUGCHECK_H__
PFX_DUMP_DRIVER_INFO_ENTRY
struct _FX_DUMP_DRIVER_INFO_ENTRY * PFX_DUMP_DRIVER_INFO_ENTRY
FX_DUMP_DRIVER_INFO_ENTRY
struct _FX_DUMP_DRIVER_INFO_ENTRY FX_DUMP_DRIVER_INFO_ENTRY
_FX_DRIVER_GLOBALS
Definition:
fxglobals.h:165
_FX_DUMP_DRIVER_INFO_ENTRY
Definition:
fxbugcheck.h:81
_FX_DUMP_DRIVER_INFO_ENTRY::FxDriverGlobals
PFX_DRIVER_GLOBALS FxDriverGlobals
Definition:
fxbugcheck.h:82
_FX_DUMP_DRIVER_INFO_ENTRY::Version
WDF_VERSION Version
Definition:
fxbugcheck.h:83
_FX_DUMP_DRIVER_INFO_ENTRY::DriverName
CHAR DriverName[WDF_DRIVER_GLOBALS_NAME_LEN]
Definition:
fxbugcheck.h:84
_WDF_VERSION
Definition:
fxldr.h:121
WDF_DRIVER_GLOBALS_NAME_LEN
#define WDF_DRIVER_GLOBALS_NAME_LEN
Definition:
wdfglobals.h:51
CHAR
char CHAR
Definition:
xmlstorage.h:175
sdk
lib
drivers
wdf
kmdf
inc
private
fxbugcheck.h
Generated on Thu Nov 14 2024 06:13:43 for ReactOS by
1.9.6