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 错误的详细信息,请参阅 日志记录错误。