ストレージ クラス ドライバーで IRP の内部キューを設定することは可能ですが、これを行う必要はほとんどありませんし、ドライバーのパフォーマンスが低下することもほとんどありません。それは、ストレージ ポート ドライバーには、IRP 用に既にドライバーによって作成された LU 固有のデバイスごとのキューが保持されているためです。 特定の HBA が複数の未処理のコマンド (SCSI タグ付きキューなど) をサポートしているかどうかに関係なく、ストレージ クラス ドライバーは、IRP が発生するたびにすべての要求をデバイスに送信し、システム提供のポート ドライバーまたは HBA を使用してキューに登録されている要求を迅速に処理できます。
特定の SCSI エラーが発生すると、システム ポート ドライバーは、適切な LU 固有のキューをフリーズし、クラス ドライバーに通知します。 エラーの処理とフリーズした要求キューのリリースの詳細については、次を参照してください。
ストレージ クラス ドライバーの ReleaseQueue ルーチン
ストレージ クラス ドライバーの InterpretRequestSense ルーチン
ストレージ クラス ドライバーの RetryRequest ルーチン
返された STORAGE_ADAPTER_DESCRIPTOR データで示されているように、HBA がコマンド キューをサポートしている場合、クラス ドライバーは SRB_FLAGS_QUEUE_ENABLE を設定し、作成した SRB の QueueAction メンバーを使用して要求をキューに登録する方法を制御します。