KBUGCHECK_SECONDARY_DUMP_DATA_EX 구조체(wdm.h)

KBUGCHECK_SECONDARY_DUMP_DATA_EX 구조는 크래시 덤프 파일에 대한 콜백 루틴을 KBUGCHECK_REASON_CALLBACK_ROUTINE 작성할 다중 파트 데이터를 설명합니다.

구문

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;

멤버

InBuffer

시스템에서 할당한 버퍼에 대한 포인터입니다.

InBufferLength

InBuffer 멤버가 지정한 버퍼의 크기(바이트)를 지정합니다.

MaximumAllowed

KBUGCHECK_REASON_CALLBACK_ROUTINE 루틴이 크래시 덤프 파일에 쓸 수 있는 최대 데이터 양을 지정합니다.

Guid

드라이버의 크래시 덤프 데이터를 식별하는 GUID를 지정합니다. (드라이버는 고유한 GUID를 사용하여 크래시 덤프 데이터를 표시해야 합니다. GuidGen.exe 도구를 사용하여 드라이버에 대한 GUID를 생성합니다.

OutBuffer

드라이버가 크래시 덤프 데이터 또는 NULL을 쓰는 버퍼에 대한 포인터입니다.

OutBufferLength

OutBuffer 멤버가 지정한 버퍼의 크기(바이트)를 지정합니다.

Context

콜백 루틴을 단독으로 사용하기 위한 프라이빗 컨텍스트 데이터를 포함합니다. 콜백 루틴은 이 멤버를 모든 값으로 설정할 수 있습니다. 일반적으로 콜백 루틴을 두 번 이상 호출해야 하는 경우 루틴은 초기 호출 중에 드라이버 제공 버퍼를 가리키도록 이 멤버를 설정합니다. 후속 호출 중에 콜백 루틴은 이 버퍼의 이전 콘텐츠를 읽고 해당 콘텐츠를 업데이트할 수 있습니다. 콜백 루틴을 처음 호출하기 전에 컨텍스트는 NULL입니다.

Flags

추가 페이지 요청을 설명하는 플래그를 포함합니다. 콜백 루틴은 이 멤버의 값을 설정해야 합니다. 이 멤버를 다음 플래그 비트 중 하나 이상의 비트 OR로 설정합니다.

KB_ADD_PAGES_FLAG_VIRTUAL_ADDRESS

주소 멤버에 가상 주소가 포함되어 있음을 나타냅니다.

KB_ADD_PAGES_FLAG_PHYSICAL_ADDRESS

Address 멤버에 실제 주소가 포함되어 있음을 나타냅니다.

KB_ADD_PAGES_FLAG_ADDITIONAL_RANGES_EXIST

콜백 루틴이 페이지를 더 추가할 수 있도록 다시 호출하도록 요청함을 나타냅니다.

콜백 루틴은 KB_ADD_PAGES_FLAG_VIRTUAL_ADDRESS 플래그 또는 KB_ADD_PAGES_FLAG_PHYSICAL_ADDRESS 플래그를 설정해야 하지만 둘 다 설정하지는 않습니다. 콜백 루틴에 진입하면 Flags 가 0으로 초기화됩니다.

DumpType

다음 덤프 유형 중 하나입니다.

    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

버그 검사 이유를 지정하는 버그 검사 코드를 포함합니다. 콜백 루틴은 이 정보를 사용하여 크래시 덤프 파일에 페이지를 추가할지 여부를 결정할 수 있습니다. 버그 검사 코드의 전체 목록은 WDK에 포함된 Bugcodes.h 헤더 파일을 참조하세요.

BugCheckParameter1

버그 검사 매개 변수 1. 버그 검사 매개 변수는 KeBugcheckEx에 전달된 버그 검사 매개 변수를 콜백에 알릴 수 있습니다.

BugCheckParameter2

버그 검사 매개 변수 2. 버그 검사 매개 변수는 KeBugcheckEx에 전달된 버그 검사 매개 변수를 콜백에 알릴 수 있습니다.

BugCheckParameter3

버그 검사 매개 변수 3. 버그 검사 매개 변수는 KeBugcheckEx에 전달된 버그 검사 매개 변수를 콜백에 알릴 수 있습니다.

BugCheckParameter4

버그 검사 매개 변수 4. 버그 검사 매개 변수는 KeBugcheckEx에 전달된 버그 검사 매개 변수를 콜백에 알릴 수 있습니다.

설명

버그 검사 콜백 루틴에 대한 자세한 내용은 버그 검사 콜백 루틴 작성을 참조하세요.

요구 사항

요구 사항
헤더 wdm.h

추가 정보

버그 검사 콜백 루틴 작성 KBUGCHECK_REASON_CALLBACK_ROUTINE