Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Стек устройств хранения состоит из дерева объектов устройств, созданных драйверами, участвующими в обработке операций ввода-вывода на устройствах хранения в системе. Корнем этого дерева является функциональный объект устройства (FDO) для адаптера хранилища или другого стека драйверов, интегрированный с стеком хранилища. Листья этого дерева — это объекты устройств для использования файловыми системами и приложениями пользовательского режима.
Как и любой драйвер PnP, класс хранилища или драйвер фильтра хранилища добавляет себя в дерево в подпрограмме AddDevice путем создания объекта устройства с IoCreateDevice и присоединения его к стеку устройств с помощью IoAttachDeviceToDeviceStack, используя указатель на объект устройства, переданный в подпрограмму AddDevice драйвера диспетчером PnP при инициализации. IoAttachDeviceToDeviceStack присоединяет новый объект устройства к текущей верхней части стека устройств.
Для создания объекта устройства и подключения его к стеку устройств не требуется миникласс ленты, миникласс смены носителей или минипорт-драйвер SCSI. Вместо этого предоставляемый системой класс ленты, класс сменщика или драйвер порта SCSI обрабатывает эти задачи от имени миникласса/минипорта, вызывая рутины драйвера миникласса/минипорта для сбора данных, необходимых для создания объекта устройства.
Драйверы портов хранилища создают объекты физических устройств (PDOs) типа FILE_DEVICE_MASS_STORAGE. Класс диска, класс CD-ROM, класс ленты и драйверы классов переменных создают FDOs типов FILE_DEVICE_DISK, FILE_DEVICE_CD_ROM, FILE_DEVICE_TAPE и FILE_DEVICE_CHANGER соответственно.
Сведения о проектировании драйверов PnP см. в руководстве по проектированию драйверов PnP. Сведения о подпрограммах Io Xxx, связанных с PnP, см. в подпрограммах Plug and Play.