Функция ScsiPortIoMapTransfer (srb.h)
Подпрограмма ScsiPortIoMapTransfer настраивает системный контроллер DMA для драйвера мини-порта для передачи данных через подчиненный адаптер HBA.
Синтаксис
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 |