存储类驱动程序的 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 中包含存储端口驱动程序设置的 PathIdTargetIdLunSrbStatus 值,并尽可能将相关的请求感知信息作为错误日志条目的 DumpData 的一部分。 请注意,存储类驱动程序不得使用此类 SRB 中的 PathIdTargetIdLun 来处理其他请求。

有关记录 I/O 错误的详细信息,请参阅 日志记录错误