// wdm.h
typedef struct _KBUGCHECK_SECONDARY_DUMP_DATA_EX {
PVOID InBuffer;
ULONG InBufferLength;
ULONG MaximumAllowed;
GUID Guid;
PVOID OutBuffer;
ULONG OutBufferLength;
PVOID Context;
ULONG Flags;
ULONG DumpType;
ULONG BugCheckCode;
ULONG_PTR BugCheckParameter1;
ULONG_PTR BugCheckParameter2;
ULONG_PTR BugCheckParameter3;
ULONG_PTR BugCheckParameter4;
} KBUGCHECK_SECONDARY_DUMP_DATA_EX, *PKBUGCHECK_SECONDARY_DUMP_DATA_EX;
View the official Windows Driver Kit DDI referenceNo description available.
The KBUGCHECK_SECONDARY_DUMP_DATA_EX structure describes multipart data to be written by KBUGCHECK_REASON_CALLBACK_ROUTINE callback routine to the crash dump file.
InBufferPointer to a buffer that is allocated by the system.
InBufferLengthSpecifies the size of the buffer, in bytes, specified by the InBuffer member.
MaximumAllowedSpecifies the maximum amount of data that the KBUGCHECK_REASON_CALLBACK_ROUTINE routine can write to the crash dump file.
GuidSpecifies a GUID that identifies the driver's crash dump data. (Drivers must use unique GUIDs to mark their crash dump data. Use the GuidGen.exe tool to generate GUIDs for your driver.
OutBufferPointer to the buffer where the driver writes its crash dump data, or NULL.
OutBufferLengthSpecifies the size of the buffer, in bytes, that was specified by the OutBuffer member.
ContextContains private context data for the exclusive use of the callback routine. The callback routine can set this member to any value. Typically, if the callback routine needs to be called more than one time, the routine sets this member to point to a driver-supplied buffer during the initial call. During subsequent calls, the callback routine can read the previous contents of this buffer and update its contents. Before the initial call to the callback routine, Context is NULL.
FlagsContains flags that describe the add-page request. The callback routine must set the value of this member. Set this member to the bitwise OR of one or more of the following flag bits:
Indicates that the Address member contains a virtual address.
Indicates that the Address member contains a physical address.
Indicates that the callback routine requests that it be called again so that it can add more pages.
The callback routine must set either the KB_ADD_PAGES_FLAG_VIRTUAL_ADDRESS flag or the KB_ADD_PAGES_FLAG_PHYSICAL_ADDRESS flag, but not both. On entry to the callback routine, Flags is initialized to zero.
DumpTypeOne of the following dump types.
DUMP_TYPE_INVALID = -1,
DUMP_TYPE_UNKNOWN = 0,
DUMP_TYPE_FULL = 1,
DUMP_TYPE_SUMMARY = 2,
DUMP_TYPE_HEADER = 3,
DUMP_TYPE_TRIAGE = 4,
DUMP_TYPE_BITMAP_FULL = 5,
DUMP_TYPE_BITMAP_KERNEL = 6,
DUMP_TYPE_AUTOMATIC = 7
BugCheckCodeContains a bug check code, which specifies the reason for the bug check. The callback routine can use this information to decide whether to add any pages to the crash dump file. For a full list of bug check codes, see the Bugcodes.h header file included in the WDK.
BugCheckParameter1Bug Check Parameter 1. The bug check parameters inform the callback the bugcheck parameters that were passed to KeBugcheckEx.
BugCheckParameter2Bug Check Parameter 2. The bug check parameters inform the callback the bugcheck parameters that were passed to KeBugcheckEx.
BugCheckParameter3Bug Check Parameter 3. The bug check parameters inform the callback the bugcheck parameters that were passed to KeBugcheckEx.
BugCheckParameter4Bug Check Parameter 4. The bug check parameters inform the callback the bugcheck parameters that were passed to KeBugcheckEx.
For more information about bug check callback routines, see Writing a Bug Check Callback Routine.
Writing a Bug Check Callback Routine. KBUGCHECK_REASON_CALLBACK_ROUTINE