Компьютерные книги
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Аппаратное обеспечение -> Агуров П.В. -> "Интерфейсы USB. Практика использования и программирования" -> 63

Интерфейсы USB. Практика использования и программирования - Агуров П.В.

Агуров П.В. Интерфейсы USB. Практика использования и программирования — БВХ-Петербург, 2004. — 576 c.
ISBN 5-94157-202-6
Скачать (прямая ссылка): interfeysusbpraktikaispolzovaniya2004.djvu
Предыдущая << 1 .. 57 58 59 60 61 62 < 63 > 64 65 66 67 68 69 .. 168 >> Следующая

001111000030}
Более подробно мы будем рассматривать использование HID-функций на
практическом примере в главе 13.
Глава 9
Введение в WDM
Когда ваш компьютер говорит "Вставьте диск номер два", не торопитесь,
сначала выньте диск номер один... даже если вы уверены, что сможете
засунуть туда оба.
WDM (Windows Driver Modei, драйверная модель Windows) - новая модель
архитектуры драйверов, предложенная Microsoft для Windows 2000. Конечно,
эта архитектура развивалась, начиная с Windows 3.11, продолжала
развиваться в Windows 98 и Windows NT, но по-настоящему полной она стала
только в Windows 2000.
С точки зрения WDM, существует три типа драйверов:
? драйвер шины (Bus Driver) - драйвер, обслуживающий контроллер шины,
адаптер, мост или любые другие устройства, имеющие дочерние устройства.
Драйверы шин нужны для работы системы и, в общем случае, поставляются
Microsoft. Для каждого типа шины (PCI, PCMCIA и USB) в системе имеется
свой драйвер. Сторонние разработчики создаю! драйверы для поддержки новых
шин, например, для VMEbus, Multibus или Fir turebus;
? функциональный драйвер (Function Driver) - основной драйвер устройства,
предоставляющий его функциональный интерфейс. Обязателен, кроме тех
случаев, когда устройство используется без драйверов (г. с. ввод/вывод
осуществляется драйвером шины или драйвером фильтров шины).
Функциональный драйвер но определению обладает наиболее полной
информацией о своем устройстве. Обычно только этот драйвер имеет доступ к
специфическим регистрам устройства;
? драйвер фильтра (Filter Driver) - драйвер, поддерживающий
дополнительную функциональность устройства (или сущеетвующего драйвера)
или изменяющий запросы на ввод/вывод и ответы на них от других драйверов
(это часто используется для коррекции устройств, предоставляющих неверную
информацию о своих требованиях к аппаратным ресурсам). Такие драйверы
необязательны, и их может быть несколько

Часть III. Практика программирования
Они могут работать как на более высоком уровне, чем функциональный
драйвер или драйвер шины, так и на более низком. Обычно эти драйверы
предоставляются производителями или независимыми поставщиками
оборудования.
В среде WDM один драйвер не может контролировать все аспекты устройства:
драйвер шины информирует диспетчера РпР (см. главу 10) об устройствах,
подключенных к шине, в то время как функциональный драйвер управляет
устройством. Драйверы фильтров низкого уровня позволяют ис-травлять
информацию о требованиях устройства к системным ресурсам, а 1райверы
фильтров высокого уровня добавляют устройству дополнитель-iyio
функциональность (например, производят дополнительную защиту клавиатуры).
^ Примечание ^
Получить список загруженных в данный момент драйверов можно с помощью
утилиты Drivers (файл drivers.exe), как показано на рис. 9.1.
C:>Dnvers ModuleName Code Data Bss Paged Init LinJtDate
ntoskrnl.exe 431488 75904 0 1170944 171904 Thu Aug 29
13:03:24 2002
hal.dll 32896 42624 0 28672 14336 Thu Aug 29 12:05:02 2002
KDC0M.DLL 2560 256 0 1280 512 Sat Aug 18 00:49:10 2001
B00TVID.dll 5632 3584 0 0 512 Sat Aug 18 00:49:09 2001
ACPI.sys 103936 11008 0 40192 4736 Thu Aug 29 12:09:03 2002
WMILIB.SYS 512 0 0 1280 256 Sat Aug 18 01:07:23 2001
Cdfs.SYS 6528 640 0 42880 4480 Thu Aug 29 12:58:50 2002
asyncmac.sys 8576 1024 0 0 1152 Sat Aug 18 00:55:29 2001
USBSTOR.SYS 6656 128 0 10368 1536 Thu Aug 29 12:32:50 2002
ntdll.dll 466944 20480 0 0 0 Thu Aug 29 14:40:40 2002
Total 5785536 818400 0 4474912 532192
Рис. 9.1. Получение списка загруженных драйверов
Гпава 9. Введение в WDM
183
9.1. Драйверные слои
Согласно типам драйверов, существуют три типа объектов:
? объекты физических устройств (PDO, Physical Device Object);
? объекты функциональных устройств (FDO, Functional Device Object);
? объекты фильтров устройств (FiDO, Filter Device Object).
Объекты PDO создаются для каждого физически идентифицируемого элемента
аппаратуры, подключенного к шине данных. Объект FDO подразумевает единицу
логической функциональности устройства. Объекты фильтров
предоставляют дополнительную функциональность.
Начиная с Windows 2000, последовательность загрузки драйверов такая:
1. Во время загрузки ОС производится загрузка шинных драйверов для каждой
известной системы шины (список шин составляется при инсталляции ОС и
сохраняется в реестре).
2. Вызывается DriverEntry (см. разд. 9.3.1), а затем AddDevice (см. разд.
9.3.2) каждого шинного драйвера. В AddDevice создается FDO для драйвера
системной шины. Потом посылают irp_mn_start_device на созданный FDO.
3. Шинный драйвер составляет список всех устройств, подключенных к шине.
Для каждого найденного устройства создается объект PDO.
4. На каждый PDO посылается запрос irp_mn_query_device_relation, в ответ
на который шинный драйвер возвращает идентификаторы всех найденных
устройств.
5. На эти PDO посылают запрос irp_mn_query_id, в ответ на который драйвер
системной шины сообщает идентификаторы этих устройств.
Предыдущая << 1 .. 57 58 59 60 61 62 < 63 > 64 65 66 67 68 69 .. 168 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Завалишин Д. "Интернетско-русский разговорник" (Web-программирование)

Заенцев И.В. "Нейронные сети: основные модели" (Web-программирование)

Владимиров А.А. "Wi-фу: «боевые» приемы взлома и защиты беспроводных сетей" (Web-программирование)

Вьейра Р. "SQL Server 2000. Программирование в 2 ч." (Web-программирование)

Веллинг Л.Т. "Разработка web приложений с помощью php и mysql" (Web-программирование)
Авторские права © 2013 ComputersBooks. Все права защищены.

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed