StorPortLogError-Funktion (storport.h)

Die StorPortLogError-Routine benachrichtigt den Porttreiber, dass ein Fehler aufgetreten ist.

Syntax

STORPORT_API VOID StorPortLogError(
  [in]           PVOID               HwDeviceExtension,
  [in, optional] PSCSI_REQUEST_BLOCK Srb,
  [in]           UCHAR               PathId,
  [in]           UCHAR               TargetId,
  [in]           UCHAR               Lun,
  [in]           ULONG               ErrorCode,
  [in]           ULONG               UniqueId
);

Parameter

[in] HwDeviceExtension

Ein Zeiger auf die Hardwaregeräteerweiterung. Dies ist ein HBA-Speicherbereich, den der Porttreiber im Namen des Miniporttreibers zuordnet und initialisiert. Miniport-Treiber speichern in dieser Erweiterung in der Regel HBA-spezifische Informationen, z. B. den Status des HBA und die zugeordneten Zugriffsbereiche für den HBA. Dieser Bereich steht dem Miniport unmittelbar nach dem Aufrufen von StorPortInitialize durch den Miniporttreiber zur Verfügung. Der Porttreiber gibt diesen Arbeitsspeicher frei, wenn er das Gerät entfernt.

[in, optional] Srb

Zeiger auf einen SCSI-Anforderungsblock, wenn ein SCSI-Anforderungsblock mit dem Fehler verknüpft ist. Andernfalls ist dieser Parameter NULL.

[in] PathId

Identifiziert den SCSI-Bus.

[in] TargetId

Identifiziert den Zielcontroller oder das Zielgerät im Bus.

[in] Lun

Gibt die Nummer der logischen Einheit des Zielgeräts an.

[in] ErrorCode

Gibt einen Fehlercode an, der einen der folgenden Werte als Fehlertyp angibt.

Wert Bedeutung
SP_BAD_FW_ERROR Gibt an, dass der Treiber eine ungültige 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 ungültiger Firmware erkannt hat, was zu einer Leistungs- oder Funktionsminderung 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 einer logischen Einheit an, die ein Timeout aufweist.
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 erneut ausgewählt wurde.
SP_IRQ_NOT_RESPONDING Gibt an, dass der 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 einen Vorgang für den Controller ein Timeout aufgetreten ist.
SP_UNEXPECTED_DISCONNECT Gibt an, dass ein Ziel unerwartet getrennt wurde.

[in] UniqueId

Gibt einen eindeutigen Bezeichner für den Fehler an. Dieser Wert unterscheidet den aktuellen Fehler von anderen Fehlern mit demselben ErrorCode-Wert . Bei einigen Miniporttreibern identifiziert dies die Codezeile, in der der Fehler erkannt wurde. Für andere sind es zusätzliche Informationen, die vom HBA zurückgegeben werden.

Rückgabewert

Keine

Bemerkungen

Der Porttreiber protokolliert einen Fehler im Systemereignisprotokoll.

Ab Windows 8 kann der Srb-Parameter auf SCSI_REQUEST_BLOCK oder STORAGE_REQUEST_BLOCK verweisen. Wenn der Funktionsbezeichner im Feld Funktion von SrbSRB_FUNCTION_STORAGE_REQUEST_BLOCK ist, ist der SRB eine STORAGE_REQUEST_BLOCK Anforderungsstruktur.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header storport.h (Storport.h einschließen)
Bibliothek Storport.lib
DDI-Complianceregeln StorPortDeprecated(storport)

Weitere Informationen

SCSI_REQUEST_BLOCK

STORAGE_REQUEST_BLOCK

ScsiPortLogError

StorPortLogSystemEvent