KBUGCHECK_SECONDARY_DUMP_DATA_EX structure (wdm.h)

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.

Syntax

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;

Members

InBuffer

Pointer to a buffer that is allocated by the system.

InBufferLength

Specifies the size of the buffer, in bytes, specified by the InBuffer member.

MaximumAllowed

Specifies the maximum amount of data that the KBUGCHECK_REASON_CALLBACK_ROUTINE routine can write to the crash dump file.

Guid

Specifies 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.

OutBuffer

Pointer to the buffer where the driver writes its crash dump data, or NULL.

OutBufferLength

Specifies the size of the buffer, in bytes, that was specified by the OutBuffer member.

Context

Contains 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.

Flags

Contains 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:

KB_ADD_PAGES_FLAG_VIRTUAL_ADDRESS

Indicates that the Address member contains a virtual address.

KB_ADD_PAGES_FLAG_PHYSICAL_ADDRESS

Indicates that the Address member contains a physical address.

KB_ADD_PAGES_FLAG_ADDITIONAL_RANGES_EXIST

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.

DumpType

One 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

BugCheckCode

Contains 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.

BugCheckParameter1

Bug Check Parameter 1. The bug check parameters inform the callback the bugcheck parameters that were passed to KeBugcheckEx.

BugCheckParameter2

Bug Check Parameter 2. The bug check parameters inform the callback the bugcheck parameters that were passed to KeBugcheckEx.

BugCheckParameter3

Bug Check Parameter 3. The bug check parameters inform the callback the bugcheck parameters that were passed to KeBugcheckEx.

BugCheckParameter4

Bug Check Parameter 4. The bug check parameters inform the callback the bugcheck parameters that were passed to KeBugcheckEx.

Remarks

For more information about bug check callback routines, see Writing a Bug Check Callback Routine.

Requirements

Requirement Value
Header wdm.h

See also

Writing a Bug Check Callback Routine. KBUGCHECK_REASON_CALLBACK_ROUTINE