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 |