Структура драйвера

Управление работой драйверов осуществляет подсистема ввода-вывода.

Драйвер устройства состоит из набора процедур, вызываемых на различных этапах обработки запроса ввода-вывода.

Основные процедуры драйвера показаны на рис. 1-31.

Рисунок 1-31 – основные процедуры драйвера

Инициализирующая процедура – выполняется диспетчером ввода-вывода при загрузке данного драйвера в операционную систему.

Процедура добавления устройства – реализуется в драйверах, поддерживающих технологию PnP.

Процедуры диспетчеризации – основные функции, предоставляемые драйвером, например открытие, закрытие, чтение записи.

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

Процедура обслуживания прерываний ISR – начинает обработку прерываниия и записывает запрос в очередь DPC

DPC процедура – завершает обработку начатого прерывания.

Взаимодействие Структура драйвера прикладной программы с драйвером режима ядра

Для организации передачи драйверу данных и получения данных от драйвера используется функция

DeviceIOControl ()

Cредства построения драйверов

Драйверы режима ядра программируются на языке С в среде MS Visual Studio. Основной инструмент построения драйверов режима ядра – Windows DDK, содержащий необходимые справочные материалы, заголовочные файлы и утилиты. Для справочных целей может использоваться MSDN.

Тема 1.7 Управление вводом-выводом и файловые системы Win32


documentaybwhwz.html
documentaybwphh.html
documentaybwwrp.html
documentaybxebx.html
documentaybxlmf.html
Документ Структура драйвера