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