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 后,HBA 设备对象的 DeviceExtension-HwDeviceExtension> 成员中的微型端口驱动程序可以使用此区域。 端口驱动程序在删除设备时释放此内存。
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) |
Library | Scsiport.lib |