ВУЗ:
Составители:
27
Поле DriverObject (PDRIVER_OBJECT) указывает на объект драйвера,
связанный с этим устройством. Обычно это тот драйвер, который и создал данный
объект устройства вызовом функции IoCreateDevice.
Поле NextDevice (PDEVICE_OBJECT) указывает на следующий объект
устройства, принадлежащий тому же драйверу, что и данный объект. Это поле
объединяет объекты устройств драйвера в связный список, начинающийся с
объекта
, указанного в поле DeviceObject объекта драйвера.
Type Size
ReferenceCount
DriverObject
NextDevice
AttachedDevice
CurrentIrp
Timer
Flags
Characteristics
DeviceExtension
DeviceType
StackSize
…
AlignmentRequirement
…
Рисунок 2.2 – Структура данных DeviceObject
Поле
CurrentIrp (PIRP) регистрирует последний пакет IRP, отправленный
функции StartIo. Это поле необходимо в том случае, если используются функции
StartPaket и StartNextPaket для работы с очередями IRP.
Поле Flags (ULONG) содержит набор битовых флагов (таблица 2.2).
Поле DriverObject (PDRIVER_OBJECT) указывает на объект драйвера, связанный с этим устройством. Обычно это тот драйвер, который и создал данный объект устройства вызовом функции IoCreateDevice. Поле NextDevice (PDEVICE_OBJECT) указывает на следующий объект устройства, принадлежащий тому же драйверу, что и данный объект. Это поле объединяет объекты устройств драйвера в связный список, начинающийся с объекта, указанного в поле DeviceObject объекта драйвера. Type Size ReferenceCount DriverObject NextDevice AttachedDevice CurrentIrp Timer Flags Characteristics DeviceExtension DeviceType StackSize … AlignmentRequirement … Рисунок 2.2 – Структура данных DeviceObject Поле CurrentIrp (PIRP) регистрирует последний пакет IRP, отправленный функции StartIo. Это поле необходимо в том случае, если используются функции StartPaket и StartNextPaket для работы с очередями IRP. Поле Flags (ULONG) содержит набор битовых флагов (таблица 2.2). 27
Страницы
- « первая
- ‹ предыдущая
- …
- 25
- 26
- 27
- 28
- 29
- …
- следующая ›
- последняя »