Microsoft Windows Server 2003. Наиболее полное руководство


Обнаружение и распознавание устройств Plug and Play - часть 3


Установка новых устройств происходит после регистрации пользователя в системе. Схема, иллюстрирующая процессы, которые происходят при установке драйверов нового устройства, приведена на рис. 2.11.



Рис. 2.11. Схема процесса установки драйверов устройств

Процессы, имеющие место при установке драйвера нового устройства, происходят в следующей последовательности:

1. Пользователь подключает новое устройство к компьютеру. Обратите внимание, что если шина, к которой подключено устройство, поддерживает уведомление о неожиданном подключении нового устройства (hot-plug notification), то вы можете не останавливать Windows и не выключать компьютер,

2. PnP Manager совместно с шинным драйвером производят энумерацию нового устройства. Шинный драйвер при поддержке шины получает уведомление о присутствии нового устройства, и, в свою очередь, уведомляет модуль PnP Manager режима ядра об изменении аппаратной конфигурации (в данном случае, о добавлении нового устройства). PnP Manager режима ядра запрашивает у шинного драйвера список физически присутствующих на шине устройств и сравнивает этот список с его предыдущей копией, чтобы определить, какое устройство было добавлено. Затем PnP Manager запрашивает у шинного драйвера информацию о новом устройстве (hardware ID, vendor ID, идентификаторы совместимых устройств).

3. PnP Manager режима ядра уведомляет PnP Manager режима пользователя о необходимости установки нового устройства.

4. PnP Manager режима пользователя создает новый процесс с использованием rundli32.exe и запускает модуль newdev.dll для установки нового устройства. Например, на рис. 2.12 показан вид окна программы-мастера Found New Hardware Wizard, предлагающего пользователю установить обнаруженное новое устройство (в данном случае, это — портативный накопитель Ziv, подключаемый к компьютеру через интерфейс USB).

5. DLL-библиотека, отвечающая за установку новых устройств, вызывает функции Setup API и функции диспетчера конфигурации PnP (CfgMgr API). Таким образом, Newdev.dll создает список драйверов, которые возможно использовать с данным устройством (рис. 2.13).




Начало  Назад  Вперед