ВУЗ:
Составители:
41
Поле CancelIrql (KIRQL – тип целого числа, содержащего значение IRQL)
содержит уровень запроса прерывания (IRQL), на котором была захвачена спин-
блокировка отмены.
Поле CancelRoutine (PDRIVER_CANCEL) содержит адрес функции
отмены IRP данного драйвера.
Поле UserBuffer (PVOID) содержит виртуальный адрес пользовательского
режима для выходного буфера запроса IRP_MJ_DEVICE_CONTROL, если для
него задан
режим METHOD_NEITHER.
Поле Taile содержит объединение полей (рисунок 3.2).
Поле Taile.Overlay таже содержит объединение альтернатив:
Taile.Overlay.DeviceQueueEntry (KDEVICE_QUEUE_ENTRY) и
Taile.Overlay.DriverContext (PVOID[4]).
Диспетчер ввода-вывода использует поле Taile.Overlay.DeviceQueueEntry
для организации стандартных очередей.
Taile.Overlay
DeviceQueueEntry
DriverContext
Tail.Apc
TailCompletionKey
Thread
AuxiliaryBuffer
ListEntry
CurrentStackLocation PacketType
OriginalFileObject
Рисунок 3.2 – Объединение Tail в IRP
Последний элемент массива Taile.Overlay.DriverContext используют
функции IoCsqXxx (функции отмены безопасной очереди). Если драйвер является
Поле CancelIrql (KIRQL – тип целого числа, содержащего значение IRQL) содержит уровень запроса прерывания (IRQL), на котором была захвачена спин- блокировка отмены. Поле CancelRoutine (PDRIVER_CANCEL) содержит адрес функции отмены IRP данного драйвера. Поле UserBuffer (PVOID) содержит виртуальный адрес пользовательского режима для выходного буфера запроса IRP_MJ_DEVICE_CONTROL, если для него задан режим METHOD_NEITHER. Поле Taile содержит объединение полей (рисунок 3.2). Поле Taile.Overlay таже содержит объединение альтернатив: Taile.Overlay.DeviceQueueEntry (KDEVICE_QUEUE_ENTRY) и Taile.Overlay.DriverContext (PVOID[4]). Диспетчер ввода-вывода использует поле Taile.Overlay.DeviceQueueEntry для организации стандартных очередей. Taile.Overlay DeviceQueueEntry TailCompletionKey DriverContext Thread AuxiliaryBuffer ListEntry Tail.Apc CurrentStackLocation PacketType OriginalFileObject Рисунок 3.2 – Объединение Tail в IRP Последний элемент массива Taile.Overlay.DriverContext используют функции IoCsqXxx (функции отмены безопасной очереди). Если драйвер является 41
Страницы
- « первая
- ‹ предыдущая
- …
- 39
- 40
- 41
- 42
- 43
- …
- следующая ›
- последняя »