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


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

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

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

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

Address

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

Count

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

Комментарии

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

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

Требования

Требование Значение
Заголовок wdm.h