![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Структура драйвера
Управление работой драйверов осуществляет подсистема ввода-вывода. Драйвер устройства состоит из набора процедур, вызываемых на различных этапах обработки запроса ввода-вывода. Основные процедуры драйвера показаны на рис. 1-31.
Рисунок 1-31 – основные процедуры драйвера Инициализирующая процедура – выполняется диспетчером ввода-вывода при загрузке данного драйвера в операционную систему. Процедура добавления устройства – реализуется в драйверах, поддерживающих технологию PnP. Процедуры диспетчеризации – основные функции, предоставляемые драйвером, например открытие, закрытие, чтение записи. Процедура инициализации ввода-вывода- с помощью этой процедуры драйвер может инициировать передачу данных как на устройство, так и с него. Процедура обслуживания прерываний ISR – начинает обработку прерываниия и записывает запрос в очередь DPC DPC процедура – завершает обработку начатого прерывания.
Взаимодействие прикладной программы с драйвером режима ядра
Для организации передачи драйверу данных и получения данных от драйвера используется функция DeviceIOControl ()
Cредства построения драйверов Драйверы режима ядра программируются на языке С в среде MS Visual Studio. Основной инструмент построения драйверов режима ядра – Windows DDK, содержащий необходимые справочные материалы, заголовочные файлы и утилиты. Для справочных целей может использоваться MSDN.
Тема 1.7 Управление вводом-выводом и файловые системы Win32
|