StorPortLogError 函数 (storport.h)

StorPortLogError 例程通知端口驱动程序发生了错误。

语法

STORPORT_API VOID StorPortLogError(
  [in]           PVOID               HwDeviceExtension,
  [in, optional] PSCSI_REQUEST_BLOCK Srb,
  [in]           UCHAR               PathId,
  [in]           UCHAR               TargetId,
  [in]           UCHAR               Lun,
  [in]           ULONG               ErrorCode,
  [in]           ULONG               UniqueId
);

参数

[in] HwDeviceExtension

指向硬件设备扩展的指针。 这是端口驱动程序代表微型端口驱动程序分配和初始化的每个 HBA 存储区域。 微型端口驱动程序通常在此扩展中存储特定于 HBA 的信息,例如 HBA 的状态和 HBA 的映射访问范围。 在微型端口驱动程序调用 StorPortInitialize 之后,微型端口立即可以使用此区域。 端口驱动程序在删除设备时释放此内存。

[in, optional] Srb

指向 SCSI 请求块(如果一个与错误关联)的指针。 否则,此参数为 NULL

[in] PathId

标识 SCSI 总线。

[in] TargetId

标识总线上的目标控制器或设备。

[in] Lun

标识目标设备的逻辑单元号。

[in] ErrorCode

指定一个错误代码,指示以下值之一作为错误类型。

含义
SP_BAD_FW_ERROR 指示驱动程序检测到固件不正确或旧。 不会使用设备。
SP_BAD_FW_WARNING 指示驱动程序检测到固件陈旧或错误卡,这可能会导致性能或功能降低。
SP_BUS_PARITY_ERROR 指示检测到 SCSI 总线奇偶校验错误。
SP_BUS_TIME_OUT 指示与逻辑单元的 SCSI 总线连接超时。
SP_INTERNAL_ADAPTER_ERROR 指示检测到内部 HBA 错误。
SP_INVALID_RESELECTION 指示逻辑单元意外重新选择或队列标记无效。
SP_IRQ_NOT_RESPONDING 指示 HBA 未按预期中断。
SP_PROTOCOL_ERROR 指示微型端口驱动程序检测到 SCSI 总线协议错误。
SP_REQUEST_TIMEOUT 指示对控制器的操作已超时。
SP_UNEXPECTED_DISCONNECT 指示目标意外断开连接。

[in] UniqueId

指定错误的唯一标识符。 此值将当前错误与具有相同 ErrorCode 值的其他错误区分开来。 对于某些微型端口驱动程序,这将标识检测到错误的代码行。 对于其他人,它是 HBA 返回的其他信息。

返回值

备注

端口驱动程序会将错误记录到系统事件日志中。

从 Windows 8 开始,Srb 参数可能指向 SCSI_REQUEST_BLOCKSTORAGE_REQUEST_BLOCK。 如果 Srb“函数”字段中的函数标识符SRB_FUNCTION_STORAGE_REQUEST_BLOCK,则 SRB 是STORAGE_REQUEST_BLOCK请求结构。

要求

要求
目标平台 通用
标头 storport.h (包括 Storport.h)
Library Storport.lib
DDI 符合性规则 StorPortDeprecated (storport)

另请参阅

SCSI_REQUEST_BLOCK

STORAGE_REQUEST_BLOCK

ScsiPortLogError

StorPortLogSystemEvent