Драйвер порта IDE

Замечание

В будущем драйвер портов ATA и модели драйверов мини-порта ATA могут быть изменены или недоступны. Вместо этого мы рекомендуем использовать модель драйвера Storport и модель драйвера Storport минипорт.

В Microsoft Windows NT 4.0 пара драйверов порта или минипорта, связанная с шиной интегрированной среды разработки, является драйвером мини-порта SCSI, atapi.sys, связанным с драйвером портов SCSI, scsiport.sys.

В Microsoft Windows 2000 и Windows XP драйвер порта интегрированной среды разработки atapi.sys является независимым драйвером, который больше не связывается с scsiport.sys, ни с любым другим драйвером-оболочкой.

Существует три системных драйвера в модели драйверов интегрированной среды разработки для Windows 2000 и Windows XP: atapi.sys (драйвер порта), pciidex.sys (драйвер контроллера) и pciide.sys (мини-driver универсального контроллера). На рисунке ниже показаны все три драйвера.

IDE стек драйверов Windows 2000 и Windows XP.

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

  1. IDE-стек в Windows 2000 и Windows XP слоится поверх драйвера шины PCI.

  2. Корпорация Майкрософт предоставляет собственную пару драйвер/минидрайвер для контроллера IDE, которая может управлять большинством контроллеров IDE. Драйвер контроллера IDE pciidex.sys обрабатывает аппаратно-независимые аспекты пары драйверов, а минидрайвер pciide.sys обрабатывает аппаратно-зависимые аспекты.

  3. Поставщики могут выбрать предоставление собственного минидрайвера контроллера IDE вместо использования встроенного минидрайвера pciide.sys. Минидрайвер поставщика должен работать вместе с драйвером контроллера, предоставленным Microsoft, чтобы сформировать пару контроллер-минидрайвер. Для объяснения требований, которым должен соответствовать минидрайвер поставщика для правильной работы с собственным драйвером контроллера Microsoft, см. Требования для минидрайверов IDE-контроллера поставщиков.

  4. Корпорация Майкрософт предоставляет драйвер порта интегрированной среды разработки ,atapi.sys, который также называется драйвером канала, так как он создает и управляет функциональным объектом устройства (FDO) для каждого канала интегрированной среды разработки. Драйвер порта расположен выше пары контроллер/минидрайвер IDE. Он преобразует блоки запросов SCSI (SRB), которые он получает от драйвера класса хранилища в формат, необходимый для базового контроллера интегрированной среды разработки. В частности, блоки дескриптора команд (CDB), содержащиеся в SRB, определяются по-разному для устройств ATAPI и SCSI. Драйвер порта переупаковывает CDB, чтобы обеспечить их совместимость с транспортным протоколом ATAPI, тем самым изолируя драйверы верхнего уровня от особенностей IDE шины.

  5. Корпорация Майкрософт предоставляет драйвер класса CD-ROM, способный управлять всеми устройствами CD-ROM (тип 5 SCSI).

Сведения о схеме стека объектов устройства, соответствующего стеку драйверов на предыдущем рисунке, см. в разделе "Пример объекта устройства" для контроллера интегрированной среды разработки PCI.

В Windows Vista и более поздних версиях операционной системы стек интегрированной среды разработки управляется драйвером портов ATA.