Поделиться через


Пример объекта устройства для запоминающих устройств USB

На следующем рисунке показаны объекты устройств, созданные для составного запоминающего устройства USB, содержащего как слот Smart Media, так и слот Compact Flash.

объекты устройства, созданные для составного запоминающего устройства USB, содержащего как слот Smart Media, так и слот Compact Flash.

Дерево объектов устройства для составного запоминающих устройств USB

Начиная с нижней части рисунка в следующем списке описывается каждый объект устройства или стек объектов устройства и связанный с ним драйвер:

  1. Драйвер шины PCI перечисляет контроллер узла USB. Система загружает драйвер порта ,usbport.sysи сопутствующие ей минипорты (не показано на рисунке). Затем usbport.sys создает FDO для контроллера узла.

  2. Драйвер порта перечисляет USB-концентраторы в системе, начиная с корневого концентратора. Драйвер usbhub.sys управляет всеми USB-концентраторами. На рисунке показан только один уровень объектов устройств-концентраторов, но USB позволяет выполнять последовательное связывание центральных устройств, поэтому потенциально в дереве может быть гораздо больше объектов центральных устройств. Драйвер концентратора обнаруживает и перечисляет запоминающее устройство USB и создает для него PDO.

  3. Windows предоставляет драйвер usb-накопителя ,usbstor.sys, который служит интерфейсом между USB-стеком и собственными драйверами класса хранения Windows. Драйвер порта usb-хранилища создает собственный объект функционального устройства (FDO). Драйвер usb-порта хранилища может разделить физическое запоминающее устройство на целых 16 логических единиц. В примере, показанном на рисунке, USB-запоминающее устройство содержит отдельные слоты для устройства Compact Flash и устройства Smart Media. Поэтому в этом примере драйвер usb-накопителя создает два отдельных PDO: один для устройства Compact Flash, а другой — для устройства Smart Media.

  4. Стек над драйвером порта USB-хранилища управляется обычным способом с помощью собственного драйвера класса дисков. Драйвер класса диска создает PDO и FDO для диска в целом (нулевой раздел) и PDO для каждого раздела на диске.

  5. Диспетчер секций создает FDO для каждого раздела диска.