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


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

Members

Context

Содержит данные частного контекста для эксклюзивного использования подпрограммы обратного вызова. Подпрограмма обратного вызова может задать для этого члена любое значение. Как правило, если подпрограмма обратного вызова должна вызываться несколько раз, подпрограмма задает этому члену указатель на буфер, предоставленный драйвером во время первоначального вызова. Во время последующих вызовов подпрограмма обратного вызова может считывать предыдущее содержимое этого буфера и обновлять его содержимое. Перед начальным вызовом подпрограммы обратного вызова контекст имеет значение NULL.

Flags

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

Flag Ценность Description
KB_ADD_PAGES_FLAG_VIRTUAL_ADDRESS 0x000000001UL Указывает, что член адреса содержит виртуальный адрес.
KB_ADD_PAGES_FLAG_PHYSICAL_ADDRESS 0x000000002UL Указывает, что член адреса содержит физический адрес.
KB_ADD_PAGES_FLAG_ADDITIONAL_RANGES_EXIST 0x800000000UL Указывает, что подпрограмма обратного вызова запрашивает повторное вызов, чтобы добавить дополнительные страницы.

Подпрограмма обратного вызова должна задать флаг KB_ADD_PAGES_FLAG_VIRTUAL_ADDRESS или флаг KB_ADD_PAGES_FLAG_PHYSICAL_ADDRESS , но не оба. При входе в подпрограмму обратного вызова флаги инициализированы до нуля.

BugCheckCode

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

Address

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

Count

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

Замечания

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

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

Требования

Требование Ценность
Минимальный поддерживаемый клиент Windows Vista
минимальный поддерживаемый сервер Windows Server 2008
Header wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)

См. также

KBUGCHECK_REMOVE_PAGES