ScsiPortLogError ルーチンは、ミニポート ドライバーまたはその HBA が SCSI エラー状態を検出したときに、システム イベント ログにエラーを記録します。
手記
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
[入力、省略可能]エラーに関連付けられている場合に 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 (ミニポート h、Scsi.h を含む) |
| ライブラリ | Scsiport.lib |
関連項目
ScsiPortNotificationの