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 |