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


Функция ScsiPortIoMapTransfer (srb.h)

Подпрограмма ScsiPortIoMapTransfer настраивает системный контроллер DMA для драйвера мини-порта для передачи данных через подчиненный адаптер HBA.

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

Синтаксис

SCSIPORT_API VOID ScsiPortIoMapTransfer(
  [in] PVOID               HwDeviceExtension,
  [in] PSCSI_REQUEST_BLOCK Srb,
  [in] PVOID               LogicalAddress,
  [in] ULONG               Length
);

Параметры

[in] HwDeviceExtension

Указатель на расширение аппаратного устройства. Это область хранения для каждого HBA, которую драйвер порта выделяет и инициализирует от имени драйвера мини-порта. Драйверы мини-портов обычно хранят сведения, относящиеся к HBA, в этом расширении, такие как состояние HBA и сопоставленные диапазоны доступа HBA. Эта область доступна драйверу мини-порта в элементе DeviceExtension-HwDeviceExtension> объекта устройства HBA сразу после вызова драйвером мини-порта ScsiPortInitialize. Драйвер порта освобождает эту память при удалении устройства.

[in] Srb

Указатель на блок запросов SCSI для передачи DMA.

[in] LogicalAddress

Указывает начальный адрес для операции передачи. Это значение может быть базовым адресом буфера, в который или из которого должны передаваться данные. Это значение может быть смещением в пределах такого буфера.

[in] Length

Указывает количество передаваемых байтов.

Возвращаемое значение

None

Remarks

ScsiPortIoMapTransfer вызывают только драйверы мини-портов HBA, использующие системный контроллер DMA (подчиненный DMA). Эта подпрограмма должна быть вызвана до того, как драйвер мини-порта настроит свой адаптер HBA для передачи данных. Диапазон, указанный в параметрах LogicalAddress и Length , должен находиться в буфере, описываемом заданным SRB.

После того как драйвер порта операционной системы запрограммировал системный контроллер DMA, он вызывает подпрограмму HwScsiDmaStarted драйвера мини-порта. HwScsiDmaStarted должен запрограммировать HBA, чтобы начать передачу данных. Обратите внимание, что HBA может прерываться между вызовом драйвера мини-порта ScsiPortIoMapTransfer и вызовом драйвера порта операционной системы к подпрограмме HwScsiDmaStarted драйвера мини-порта.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть srb.h (включая Miniport.h, Scsi.h)
Библиотека Scsiport.lib

См. также раздел

HwScsiDmaStarted

ScsiPortFlushDma