ScsiPortLogError-Funktion (srb.h)
Der ScsiPortLogError Routine protokolliert Fehler im Systemereignisprotokoll, wenn ein Miniporttreiber oder dessen HBA eine SCSI-Fehlerbedingung erkennt.
Anmerkung
Die SCSI-Porttreiber- und SCSI-Miniporttreibermodelle können in Zukunft geändert oder nicht verfügbar sein. Verwenden Sie stattdessen den Storport-Treiber und Storport Miniport Treibermodelle.
Syntax
SCSIPORT_API VOID ScsiPortLogError(
PVOID HwDeviceExtension,
PSCSI_REQUEST_BLOCK Srb,
UCHAR PathId,
UCHAR TargetId,
UCHAR Lun,
ULONG ErrorCode,
ULONG UniqueId
);
Parameter
HwDeviceExtension
[in] Zeiger auf die Hardwaregeräteerweiterung. Dies ist ein Speicherbereich pro HBA, den der Porttreiber im Namen des Miniporttreibers zuordnet und initialisiert. Miniporttreiber speichern in der Regel HBA-spezifische Informationen in dieser Erweiterung, z. B. den Zustand der HBA und die zugeordneten Zugriffsbereiche der HBA. Dieser Bereich steht dem Miniporttreiber im DeviceExtension->HwDeviceExtension Mitglied des Geräteobjekts der HBA unmittelbar nach dem Aufruf ScsiPortInitializezur Verfügung. Der Porttreiber gibt diesen Speicher frei, wenn es das Gerät entfernt.
Srb
[in, optional] Zeigen Sie auf einen SCSI-Anforderungsblock,, wenn einer dem Fehler zugeordnet ist. Andernfalls ist dieser Parameter NULL-.
PathId
[in] Identifiziert den SCSI-Bus.
TargetId
[in] Identifiziert den Zielcontroller oder das Gerät auf dem Bus.
Lun
[in] Identifiziert die logische Einheitennummer des Zielgeräts.
ErrorCode
[in] Gibt einen Fehlercode an. Dieser Parameter kann einer der folgenden Werte als Fehlertyp sein.
Wert | Bedeutung |
---|---|
SP_BAD_FW_ERROR | Gibt an, dass der Treiber schlechte oder alte Firmware erkannt hat. Das Gerät wird nicht verwendet. |
SP_BAD_FW_WARNING | Gibt an, dass der Treiber eine Karte mit alter oder schlechter Firmware erkannt hat, was zu einer reduzierten Leistung oder Funktionalität führen kann. |
SP_BUS_PARITY_ERROR | Gibt an, dass ein SCSI-Busparitätsfehler erkannt wurde. |
SP_BUS_TIME_OUT | Gibt eine SCSI-Busverbindung mit einem logischen Timeout einer Einheit an. |
SP_INTERNAL_ADAPTER_ERROR | Gibt an, dass ein interner HBA-Fehler erkannt wurde. |
SP_INVALID_RESELECTION | Gibt an, dass eine logische Einheit unerwartet oder mit einem ungültigen Warteschlangentag erneut ausgewählt wurde. |
SP_IRQ_NOT_RESPONDING | Gibt an, dass die HBA nicht unterbrochen wird, wenn erwartet. |
SP_PROTOCOL_ERROR | Gibt an, dass der Miniporttreiber einen SCSI-Busprotokollfehler erkannt hat. |
SP_REQUEST_TIMEOUT | Gibt an, dass für den Controller ein Timeout aufgetreten ist. |
SP_UNEXPECTED_DISCONNECT | Gibt an, dass ein Ziel unerwartet getrennt wurde. |
UniqueId
[in] Gibt einen eindeutigen Bezeichner für den Fehler an. Dieser Wert unterscheidet den aktuellen Fehler von anderen Fehlern mit demselben ErrorCode-. Bei einigen Miniporttreibern identifiziert dies die Codezeile, in der der Fehler erkannt wurde. Für andere werden zusätzliche Informationen vom HBA zurückgegeben.
Rückgabewert
Nichts
Bemerkungen
Ein Miniporttreiber sollte alle echten Hardwarefehler protokollieren. Es sollten jedoch keine allgemeinen Betriebsfehler protokolliert werden, z. B. Auswahltimeouts oder Buszurücksetzungen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Desktop |
Header- | srb.h (include Miniport.h, Scsi.h) |
Library | Scsiport.lib |