SCSI ポートと SCSI ポート ミニポート ドライバーとのインターフェイス
SCSI ポート ドライバーと SCSI ポート ミニポート ドライバーの間の通信は、SCSI 要求ブロック (SRB) とミニポート ドライバーのコールバック ルーチンによって行われます。 SCSI ポート ミニポート ドライバー コールバック ルーチンの詳細については、「SCSI ミニポート ドライバー」を参照してください。
個々の SRB 関数、SRB フラグ、および SRB ステータス値の概要と定義については、「SCSI_REQUEST_BLOCK」を参照してください。
ミニポート ドライバーが個々の SRB 関数にどのように応答しなければならないかについては、「SCSI ミニポート ドライバーの HwScsiStartIo ルーチン」を参照してください。
SCSI ポートは、アダプターがタグ付きキューをサポートしている場合を除き、SCSI ポート ミニポート ドライバーに SLB を同期的に転送します。 タグ付きキューをサポートするホスト バス アダプターは、要求を内部的にキューに入れ、SCSI ポートが各要求に割り当てるタグが示す順序で処理できます。 SCSI_REQUEST_BLOCK (SRB) 構造体には、SCSI ポート ドライバーがホスト アダプターの内部キューで SRB を並べ替える方法を指定するために使用する 2 つのメンバー、QueuedTag と QueueAction が含まれています。 SCSI ポートは、各 SRB の QueuedTag メンバーに、アダプターがパケットを処理する順序を示すカウント、つまり "タグ" 値 を割り当てます。 タグ値により、SCSI ポートは、どの SRB が正常に完了し、どの SRB がタイムアウトしたかを追跡することもできます。
QueueAction メンバーには、次のいずれかの値が割り当てられます。
SRB_SIMPLE_TAG_REQUEST
SRB_HEAD_OF_QUEUE_TAG_REQUEST
SRB_ORDERED_QUEUE_TAG_REQUEST
これらの値の説明については、SCSI-2 の仕様を参照してください。