ScsiPortLogError 函数 (srb.h)

当微型端口驱动程序或其 HBA 检测到 SCSI 错误条件时,ScsiPortLogError 例程将错误记录到系统事件日志中。

注意

将来可能会更改 SCSI 端口驱动程序和 SCSI 微型端口驱动程序模型或不可用。 请改用 Storport 驱动程序Storport 微型端口 驱动程序模型。

语法

SCSIPORT_API VOID ScsiPortLogError(
  PVOID               HwDeviceExtension,
  PSCSI_REQUEST_BLOCK Srb,
  UCHAR               PathId,
  UCHAR               TargetId,
  UCHAR               Lun,
  ULONG               ErrorCode,
  ULONG               UniqueId
);

参数

HwDeviceExtension

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

Srb

[in,可选]指向 SCSI 请求块的指针(如果其中一个与错误相关联)。 否则,此参数 NULL

PathId

[in]标识 SCSI 总线。

TargetId

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

Lun

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

ErrorCode

[in]指定错误代码。 此参数可以是以下值之一作为错误类型。

价值 意义
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 指示目标意外断开连接。

UniqueId

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

返回值

没有

言论

微型端口驱动程序应记录所有真正的硬件错误。 但是,它不应记录常见的作错误,例如选择超时或总线重置。

要求

要求 价值
目标平台 桌面
标头 srb.h (包括 Miniport.h、Scsi.h)
Scsiport.lib

另请参阅

ScsiPortNotification