次の方法で共有


Storport の SRB と記憶域クラス ドライバーとのインターフェイス

記憶域クラス ドライバーとその他の上位レベルのコンポーネントは、SCSI 要求ブロック (SRB) を構築することによって Storport ドライバーと通信します。 SRB には、SCSI コマンド記述子ブロック (CDB) と、デバイスとの間でデータを転送するために使用されるデータ バッファーへのポインター (存在する場合) が含まれます。 SCSI コマンドが Check Condition 状態で失敗した場合に SCSI センス・データを保持するために使用されるセンス・バッファーへのポインターを含む場合があります。 SRB の詳細については、SCSI_REQUEST_BLOCK を参照してください。 記憶域クラス ドライバーは、MajorFunction メンバーが IRP_MJ_SCSI に設定されている IRP で Storport に作成する SRB を渡します。 SRB をポート ドライバーに渡す前に、記憶域クラス ドライバーが SRB をビルドするために実行する必要がある手順については、記憶域クラス ドライバーの BuildRequest ルーチンを参照してください。

SRB をスタックに転送する前に、Storport は SRB 内の特定の値 (パス、ターゲット番号、ターゲット デバイスの論理ユニット番号など) を設定します。

IDE/ATAPI および IEEE 1394 バス用のシステム提供ポート ドライバーなどの他のポート ドライバーとは異なり、Storport は、基になるアダプターへ転送前に、受信した SRB のコマンド記述子ブロック (CDB) を別の形式に変換する必要はありません。 Storport は、単に SRB にいくつかのターゲット固有の情報を追加し、変更されていない CDB を使用してミニポート ドライバーに渡します。 そのため、Storport は、CDB を含む SRB をスタックに渡すのみです。

このため、記憶域クラス ドライバーと Storport の間の SRB インターフェイスのほとんどの側面については、記憶域クラス ドライバーと記憶域ミニポート ドライバーとそれに付随する参照資料に関する一般的なドキュメントで説明されています。 記憶域クラス ドライバーと Storport ミニポート ドライバーのペアの間の SRB インターフェイスに関連するセクションのリストについては、Storport ミニポート ドライバーを使用した Storport のインターフェイスを参照してください。