ВУЗ:
Составители:
69
Рисунок 3.10 – Завершение в диспетчерской функции
Сценарий 4: постановка в очередь для последующей обработки
В этом сценарии извне получен IRP, который ваш драйвер не может
обработать немедленно. IRP помещается в очередь для последующей обработки в
функции StartIo (рисунок 3.11). Условия для применения этого сценария:
− IRP получен извне (а не создан вами),
−
вы не знаете заранее, возможна ли немедленная обработка IRP, как это
часто бывает для с IRP, требующими последовательного доступа к
оборудованию.
Типичный способ реализации этого сценария основан на управлении
очередью IRP при помощи объекта DEV1QUEUE. Приводимые ниже фрагменты
кода демонстрируют взаимодействие различных частей драйвера устройства с
программируемыми прерываниями ввода-вывода.
Рисунок 3.11 – Постановка в очередь для последующей обработки
Рисунок 3.10 – Завершение в диспетчерской функции Сценарий 4: постановка в очередь для последующей обработки В этом сценарии извне получен IRP, который ваш драйвер не может обработать немедленно. IRP помещается в очередь для последующей обработки в функции StartIo (рисунок 3.11). Условия для применения этого сценария: − IRP получен извне (а не создан вами), − вы не знаете заранее, возможна ли немедленная обработка IRP, как это часто бывает для с IRP, требующими последовательного доступа к оборудованию. Типичный способ реализации этого сценария основан на управлении очередью IRP при помощи объекта DEV1QUEUE. Приводимые ниже фрагменты кода демонстрируют взаимодействие различных частей драйвера устройства с программируемыми прерываниями ввода-вывода. Рисунок 3.11 – Постановка в очередь для последующей обработки 69
Страницы
- « первая
- ‹ предыдущая
- …
- 67
- 68
- 69
- 70
- 71
- …
- следующая ›
- последняя »