次の方法で共有


ScsiPortFlushDma 関数 (srb.h)

ScsiPortFlushDma ルーチンは、転送の終了時にシステム DMA コントローラーにキャッシュされたすべてのデータをフラッシュするか、システム DMA 転送を終了します。

メモ SCSI ポート ドライバーと SCSI ミニポート ドライバー モデルは、今後変更または使用できない可能性があります。 代わりに、 Storport ドライバーStorport ミニポート ドライバー モデルを使用することをお勧めします。
 

構文

SCSIPORT_API VOID ScsiPortFlushDma(
  [in] PVOID DeviceExtension
);

パラメーター

[in] DeviceExtension

ミニポート ドライバーの HBA ごとの記憶域へのポインター。

戻り値

なし

解説

システム DMA コントローラーを使用する下位 HBA のミニポート ドライバーのみが、このルーチンを呼び出します。

下位 DMA 転送操作が完了した後、SRB が完了する前、または現在のバッファーの ScsiPortIoMapTransfer に対して次の呼び出しが行われる前に、ScsiPortFlushDma を呼び出す必要があります。

また、転送が発生しておらず、ドライバーの HwScsiDmaStarted ルーチンがまだ呼び出されていない場合でも、DMA 操作を取り消すには、ScsiPortIoMapTransfer の後に ScsiPortFlushDma を呼び出す必要があります。

要件

要件
対象プラットフォーム デスクトップ
Header srb.h (Miniport.h、Scsi.h を含む)
Library Scsiport.lib

こちらもご覧ください

HwScsiDmaStarted

ScsiPortIoMapTransfer