共用方式為


ScsiPortLogError 函式 (srb.h)

當迷你埠驅動程式或其 HBA 偵測到 SCSI 錯誤狀況時,ScsiPortLogError 例程會將錯誤記錄至系統事件記錄檔。

注意

未來可能會變更或無法使用 SCSI 埠驅動程式和 SCSI 迷你埠驅動程式模型。 請改用 Storport 驅動程式Storport miniport 驅動程式模型。

語法

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 裝置物件的>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 (include Miniport.h, Scsi.h)
連結庫 Scsiport.lib

另請參閱

ScsiPortNotification