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)
程式庫 Scsiport.lib

另請參閱

ScsiPortNotification