記憶域クラス ドライバーの InterpretRequestSense ルーチン
InterpretRequestSense ルーチンは、SRB の SenseInfoBuffer で返されたデータを解釈し、要求を再試行するかどうかを決定し、再試行しない場合は、IRP の I/O 状態ブロックの NTSTATUS 値にエラーをマップします。
システム ポート ドライバーは、SrbStatus で SRB_STATUS_AUTOSENSE_VALID または SRB_STATUS_REQUEST_SENSE_FAILED を設定することで、センス データ要求情報を使用できるかどうかを示します。
センス データ要求情報が使用できない場合、InterpretRequestSense は、SrbStatus 値をチェックして、特定の要求を再試行するか、NTSTATUS 値への適切なマッピングを決定するかを決定する必要があります。
InterpretRequestSense ルーチンは、ドライバーが提供するエラー ログ ルーチンを呼び出す場合もあります。 記憶域クラス ドライバーは、I/O エラーをログに記録するたびに、SRB にストレージ ポート ドライバーによって設定された PathId、TargetId、Lun、および SrbStatus の値を含める必要があります。また、可能であれば、エラー ログ エントリの DumpData の一部として関連するセンス データ要求情報を含める必要があります。 記憶域クラス ドライバーでは、他の要求に対処するために、このような SRB の PathId、TargetId、および Lun は使用できません。
I/O エラーのログ記録の詳細については、エラーのログ記録を参照してください。