ScsiPortLogError-Funktion (srb.h)
Die ScsiPortLogError-Routine protokolliert Fehler im Systemereignisprotokoll, wenn ein Miniporttreiber oder dessen HBA eine SCSI-Fehlerbedingung erkennt.
Hinweis
Der SCSI-Porttreiber und die SCSI-Miniporttreibermodelle können in Zukunft geändert oder nicht mehr verfügbar sein. Verwenden Sie stattdessen die Modelle Storport-Treiber und Storport-Miniporttreiber .
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. Hierbei handelt es sich um einen HBA-Speicherbereich, den der Porttreiber im Namen des Miniporttreibers ordnet und initialisiert. Miniporttreiber speichern normalerweise HBA-spezifische Informationen in dieser Erweiterung, z. B. den Zustand des HBA und die zugeordneten Zugriffsbereiche des HBA. Dieser Bereich steht dem Miniporttreiber im DeviceExtension-HwDeviceExtension-Member> des HBA-Geräteobjekts unmittelbar nach dem Aufruf von ScsiPortInitialize durch den Miniporttreiber zur Verfügung. Der Porttreiber gibt diesen Arbeitsspeicher frei, wenn er das Gerät entfernt.
Srb
[in, optional] Zeiger auf einen SCSI-Anforderungsblock , wenn einer dem Fehler zugeordnet ist. Andernfalls ist dieser Parameter NULL.
PathId
[in] Gibt den SCSI-Bus an.
TargetId
[in] Identifiziert den Zielcontroller oder das Zielgerät auf dem Bus.
Lun
[in] Gibt die logische Einheitennummer des Zielgeräts an.
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 eine 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 Leistungs- oder Funktionsminderung führen kann. |
SP_BUS_PARITY_ERROR | Gibt an, dass ein Fehler bei der SCSI-Busparität erkannt wurde. |
SP_BUS_TIME_OUT | Gibt an, dass eine SCSI-Busverbindung mit einer logischen Einheit timeout ist. |
SP_INTERNAL_ADAPTER_ERROR | Gibt an, dass ein interner HBA-Fehler erkannt wurde. |
SP_INVALID_RESELECTION | Gibt eine logische Einheit an, die unerwartet oder mit einem ungültigen Warteschlangentag neu ausgewählt wurde. |
SP_IRQ_NOT_RESPONDING | Gibt an, dass der HBA nicht unterbrochen wird, wenn er erwartet wird. |
SP_PROTOCOL_ERROR | Gibt an, dass der Miniporttreiber einen SCSI-Busprotokollfehler erkannt hat. |
SP_REQUEST_TIMEOUT | Gibt an, dass ein Vorgang für den Controller ein Timeout aufweist. |
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 wird dadurch die Codezeile identifiziert, in der der Fehler erkannt wurde. Für andere sind es zusätzliche Informationen, die vom HBA zurückgegeben werden.
Rückgabewert
Keine
Bemerkungen
Ein Miniporttreiber sollte alle tatsächlichen Hardwarefehler protokollieren. Es sollten jedoch keine häufigen Betriebsfehler wie Auswahltimeouts oder Busrücksetzungen protokolliert werden.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | srb.h (einschließlich Miniport.h, Scsi.h) |
Bibliothek | Scsiport.lib |