共用方式為


ScsiPortIoMapTransfer 函式 (srb.h)

ScsiPortIoMapTransfer 例程會設定小型埠驅動程式的系統 DMA 控制器,以透過次級 HBA 傳輸數據。

注意 SCSI 連接埠驅動程式和 SCSI 迷你埠驅動程式模型未來可能會改變或無法使用。 相反地,我們建議使用 Storport 驅動程式Storport miniport 驅動程式模型。
 

語法

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

參數

[in] HwDeviceExtension

硬體裝置延伸模組的指標。 這是埠驅動程式代表迷你埠驅動程式配置和初始化的每個 HBA 儲存區域。 迷你埠驅動程式通常會在此延伸模組中儲存 HBA 特定資訊,例如 HBA 的狀態和 HBA 的對應存取範圍。 在迷你埠驅動程式呼叫 ScsiPortInitialize之後,此區域可供 DeviceExtension->HwDeviceExtension HBA 裝置對象的成員使用。 埠驅動程式會在移除裝置時釋放此記憶體。

[in] Srb

DMA 傳輸之 SCSI 要求區塊的指標。

[in] LogicalAddress

指定傳輸作業的起始位址。 這個值可以是要傳送數據或從中傳送數據的緩衝區基位址。 此值可以是這類緩衝區內的位移。

[in] Length

指定要傳輸的位元組數目。

傳回值

沒有

言論

只有使用系統 DMA 控制器 (從屬 DMA) 呼叫的 HBA 迷你連接埠驅動程式 ScsiPortIoMapTransfer。 在這類迷你埠驅動程式設定其 HBA 以傳輸數據之前,必須先呼叫此例程。 LogicalAddressLength 所指定的範圍必須位於指定的 SRB 所描述的緩衝區內。

作系統特定的埠驅動程式程式系統 DMA 控制器之後,它會呼叫迷你埠驅動程式的 HwScsiDmaStarted 例程。 HwScsiDmaStarted 應該將 HBA 程式設計為開始數據傳輸。 請注意,HBA 可以在迷你埠驅動程式呼叫 ScsiPortIoMapTransfer 與作系統特定的埠驅動程式呼叫 miniport 驅動程式的 HwScsiDmaStarted 例程之間中斷。

要求

要求 價值
目標平臺 桌面
標頭 srb.h (include Miniport.h, Scsi.h)
連結庫 Scsiport.lib

另請參閱

HwScsiDmaStarted

ScsiPortFlushDma