KBUGCHECK_REMOVE_PAGES 구조체(wdm.h)
KBUGCHECK_REMOVE_PAGES 구조는 크래시 덤프 파일에서 KBUGCHECK_REASON_CALLBACK_ROUTINE 콜백 루틴에 의해 제거될 드라이버 제공 데이터의 하나 이상의 페이지를 설명합니다.
통사론
typedef struct _KBUGCHECK_REMOVE_PAGES {
PVOID Context;
ULONG Flags;
ULONG BugCheckCode;
ULONG_PTR Address;
ULONG_PTR Count;
} KBUGCHECK_REMOVE_PAGES, *PKBUGCHECK_REMOVE_PAGES;
회원
Context
콜백 루틴을 단독으로 사용하기 위한 프라이빗 컨텍스트 데이터를 포함합니다. 콜백 루틴은 이 멤버를 모든 값으로 설정할 수 있습니다. 일반적으로 콜백 루틴을 두 번 이상 호출해야 하는 경우 루틴은 초기 호출 중에 드라이버 제공 버퍼를 가리키도록 이 멤버를 설정합니다. 후속 호출 중에 콜백 루틴은 이 버퍼의 이전 내용을 읽고 해당 내용을 업데이트할 수 있습니다. 콜백 루틴에 대한 초기 호출 전에 컨텍스트 NULL .
Flags
제거 페이지 요청을 설명하는 플래그를 포함합니다. 콜백 루틴은 이 멤버의 값을 설정해야 합니다. 이 멤버를 다음 플래그 비트 중 하나 이상의 비트 OR로 설정합니다.
KB_ADD_PAGES_FEATURE_SHIFT 4
KB_REMOVE_PAGES_FEATURE_SHIFT 4
KB_ADD_PAGES_FEATURE_MASK (0xF << KB_ADD_PAGES_FEATURE_SHIFT)
KB_REMOVE_PAGES_FEATURE_MASK (0xF << (KB_ADD_PAGES_FEATURE_SHIFT + KB_REMOVE_PAGES_FEATURE_SHIFT))
BugCheckCode
버그 검사 이유를 지정하는 버그 확인 코드를 포함합니다. 콜백 루틴은 이 정보를 사용하여 크래시 덤프 파일에 페이지를 추가할지 여부를 결정할 수 있습니다. 버그 확인 코드의 전체 목록은 WDK에 포함된 Bugcodes.h 헤더 파일을 참조하세요.
Address
콜백 루틴 요청이 크래시 덤프 파일에서 제거될 페이지 또는 페이지의 실제 또는 가상 주소를 지정합니다.
Count
Address 멤버가 지정한 가상 또는 실제 주소에서 시작하여 크래시 덤프 파일에서 제거할 연속 페이지 수를 지정합니다. 개수> 1 및 주소 가상 주소인 경우 페이지는 가상 메모리 공간에서 연속됩니다. 개수> 1 및 주소 실제 주소인 경우 페이지는 실제 메모리 공간에서 연속됩니다. 콜백 루틴은 크래시 덤프 파일에서 페이지를 제거할 필요가 없음을 나타내기 위해 이 멤버를 0으로 설정할 수 있습니다.
발언
KBUGCHECK_REASON_CALLBACK_ROUTINE 콜백 루틴에 대한 호출에서 운영 체제는 Reason 매개 변수를 KbCallbackRemovePages설정하고 KBUGCHECK_REMOVE_PAGES 구조를 가리키도록 ReasonSpecificData 매개 변수를 설정합니다.
버그 확인 콜백 루틴에 대한 자세한 내용은 버그 확인 콜백 루틴작성을 참조하세요.
요구 사항
요구 | 값 |
---|---|
헤더 | wdm.h |