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


Интерфейс SRB порта SCSI с драйвером класса хранилища

Драйверы класса хранилища и другие компоненты более высокого уровня взаимодействуют с драйвером порта SCSI, создавая блоки запросов SCSI (SRB). Дополнительные сведения о SSP см. в разделе SCSI_REQUEST_BLOCK. Драйверы класса хранилища передают создаваемые ИРБ на порт SCSI в IRP с элементом MajorFunction, для параметра MajorFunction задано значение IRP_MJ_SCSI. Описание действий, которые необходимо предпринять драйверу класса хранения для создания SRB перед передачей в драйвер порта, см. в разделе Подпрограмма buildRequest Driver для класса хранилища.

Перед перенаправлением SRB вниз по стеку порт SCSI задает в SRB определенные значения, такие как номер порта, путь, целевой номер и номер логической единицы целевого устройства.

В отличие от других драйверов портов, таких как системные драйверы портов для шин IDE/ATAPI и IEEE 1394, порту SCSI не нужно преобразовывать блок дескриптора команд (CDB) в получаемых ему SРБ в другой формат, прежде чем пересылать его на базовый адаптер. Порт SCSI просто добавляет некоторые сведения, относящиеся к целевому объекту, в SRB и передает их драйверу мини-порта с CDB не измененным. Таким образом, порт SCSI — это просто посланник, который передает SDB-файлы, содержащие CDB, вниз по стеку.

По этой причине большинство аспектов интерфейса SRB между драйвером класса хранения и портом SCSI рассматриваются в общей документации по драйверам класса хранения и минипорта хранилища, а также в сопутствующих справочных материалах. Список разделов, связанных с интерфейсом SRB между драйвером класса хранилища и парой драйверов SCSI Port-miniport, см. в разделе SCSI Port's Interface with SCSI Port Miniport Drivers.