KBUGCHECK_ADD_PAGES 구조체(wdm.h)

KBUGCHECK_ADD_PAGES 구조는 크래시 덤프 파일에 대한 KBUGCHECK_REASON_CALLBACK_ROUTINE 콜백 함수가 작성할 드라이버 제공 데이터의 하나 이상의 페이지를 설명합니다.

구문

typedef struct _KBUGCHECK_ADD_PAGES {
  PVOID     Context;
  ULONG     Flags;
  ULONG     BugCheckCode;
  ULONG_PTR Address;
  ULONG_PTR Count;
} KBUGCHECK_ADD_PAGES, *PKBUGCHECK_ADD_PAGES;

멤버

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으로 초기화됩니다.

BugCheckCode

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

Address

콜백 루틴 요청이 크래시 덤프 파일에 추가될 페이지 또는 페이지의 실제 또는 가상 주소를 지정합니다.

Count

Address 멤버가 지정한 가상 또는 물리적 주소부터 시작하여 크래시 덤프 파일에 추가할 연속 페이지 수를 지정합니다. Count> 1과 Address가 가상 주소인 경우 페이지는 가상 메모리 공간에서 연속됩니다. Count> 1과 Address가 실제 주소인 경우 페이지는 실제 메모리 공간에서 연속됩니다. 콜백 루틴은 크래시 덤프 파일에 페이지를 추가할 필요가 없음을 나타내기 위해 이 멤버를 0으로 설정할 수 있습니다.

설명

KbCallbackAddPages 콜백 루틴에 대한 호출에서 운영 체제는 Reason 매개 변수를 KbCallbackAddPages로 설정하고 ReasonSpecificData 매개 변수를 KBUGCHECK_ADD_PAGES 구조를 가리키도록 설정합니다.

이 구조체를 사용하는 방법에 대한 자세한 내용은 버그 검사 콜백 루틴 작성 및 콜백 함수 KBUGCHECK_REASON_CALLBACK_ROUTINE 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Server 2008 이상 버전의 Windows에서 지원됩니다.
헤더 wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함)

추가 정보

버그 검사 콜백 루틴 작성