Интерфейс SRB Storport с драйвером класса хранилища
Драйверы класса хранилища и другие компоненты более высокого уровня взаимодействуют с драйвером Storport, создавая блоки запросов SCSI (SRB). SRB содержит блок дескриптора команд SCSI (CDB) и указатель на буфер данных, который будет использоваться для передачи данных на устройство или с устройства (если таковой имеется). Он может содержать указатель на буфер чувств, который используется для хранения данных контроля SCSI в случае сбоя команды SCSI с состоянием Проверить условие. Дополнительные сведения о SSP см. в разделе SCSI_REQUEST_BLOCK. Драйверы класса хранилища передают создаваемые ИРБ в Storport в IRP с элементом MajorFunction , равным IRP_MJ_SCSI. Описание действий, которые необходимо предпринять драйверу класса хранения для создания SRB перед передачей в драйвер порта, см. в разделе Подпрограмма buildRequest Driver для класса хранилища.
Перед перенаправлением SRB вниз по стеку Storport задает в SRB определенные значения, такие как путь, целевой номер и номер логической единицы целевого устройства.
В отличие от других драйверов портов, таких как системные драйверы портов для шин IDE/ATAPI и IEEE 1394, Storport не нужно преобразовывать блок дескриптора команд (CDB) в получаемых СРБ в другой формат, прежде чем пересылать его на базовый адаптер. Storport просто добавляет некоторые сведения о целевом объекте в SRB и передает их драйверу мини-порта с CDB не измененным. Таким образом, Storport просто передает SSP, которые содержат CDB, вниз по стеку.
По этой причине большинство аспектов интерфейса SRB между драйвером класса хранения и Storport рассматриваются в общей документации по драйверам класса хранения и минипорта хранилища, а также в сопутствующих справочных материалах. Список разделов, связанных с интерфейсом SRB между драйвером класса хранения и парой драйверов Storport-miniport, см. в разделе Интерфейс Storport с драйверами Miniport.