Поделиться через


структура 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

Содержит флаги, описывающие запрос страницы надстройки. Подпрограмма обратного вызова должна задать значение этого элемента. Присвойте этому элементу побитовое ЗНАЧЕНИЕ ИЛИ одного или нескольких из следующих битов флага:

KB_ADD_PAGES_FLAG_VIRTUAL_ADDRESS

Указывает, что элемент 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, но не оба. При входе в подпрограмму обратного вызова флаги инициализируются нулевым значением.

BugCheckCode

Содержит код проверка ошибки, указывающий причину проверка ошибки. Подпрограмма обратного вызова может использовать эти сведения, чтобы решить, следует ли добавлять какие-либо страницы в файл аварийного дампа. Полный список кодов проверка ошибок см. в файле заголовка Bugcodes.h, включенном в WDK.

Address

Указывает физический или виртуальный адрес страницы или страниц, которые запросы подпрограммы обратного вызова добавляются в файл аварийного дампа.

Count

Указывает количество смежных страниц, добавляемых в файл аварийного дампа, начиная с виртуального или физического адреса, указанного элементом Address . Если число> 1 и адрес является виртуальным адресом, страницы являются смежными в виртуальной памяти. Если число> 1 и адрес является физическим адресом, страницы являются смежными в физическом пространстве памяти. Подпрограмма обратного вызова может задать для этого элемента нулевое значение, чтобы указать, что ему не нужно добавлять страницы в файл аварийного дампа.

Комментарии

При вызове подпрограммы обратного вызова KbCallbackAddPages операционная система устанавливает для параметра Reason значение KbCallbackAddPages, а параметр ReasonSpecificData указывает на структуру KBUGCHECK_ADD_PAGES .

Дополнительные сведения об использовании этой структуры см. в статье Написание процедуры обратного вызова проверки ошибок и функции обратного вызова KBUGCHECK_REASON_CALLBACK_ROUTINE.

Требования

Требование Значение
Минимальная версия клиента Поддерживается в Windows Server 2008 и более поздних версиях Windows.
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h)

См. также раздел

Написание процедуры обратного вызова проверки ошибок.