Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Структура 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) |