PSHED_PI_INJECT_ERROR Rückruffunktion (ntddk.h)

Die InjectError-Rückruffunktion eines PSHED-Plug-Ins fügt einen Fehler in die Hardwareplattform ein.

Syntax

PSHED_PI_INJECT_ERROR PshedPiInjectError;

NTSTATUS PshedPiInjectError(
  [in, out, optional] PVOID PluginContext,
  [in]                ULONGLONG ErrorType,
  [in]                ULONGLONG Parameter1,
  [in]                ULONGLONG Parameter2,
  [in]                ULONGLONG Parameter3,
  [in]                ULONGLONG Parameter4
)
{...}

Parameter

[in, out, optional] PluginContext

Ein Zeiger auf den Kontextbereich, der im Kontextelement der WHEA_PSHED_PLUGIN_REGISTRATION_PACKET-Struktur angegeben wurde, als das PSHED-Plug-In die PshedRegisterPlugin-Funktion aufgerufen hat, um sich bei der PSHED zu registrieren.

[in] ErrorType

Der Typ des Fehlers, der in die Hardwareplattform eingefügt werden soll. Mögliche Werte:

INJECT_ERRTYPE_PROCESSOR_CORRECTABLE

Ein korrekturfähiger Prozessorfehler.

INJECT_ERRTYPE_PROCESSOR_UNCORRECTABLENONFATAL

Ein nicht behebbarer nicht schwerwiegender Prozessorfehler.

INJECT_ERRTYPE_PROCESSOR_UNCORRECTABLEFATAL

Ein nicht behebbarer schwerwiegender Prozessorfehler.

INJECT_ERRTYPE_MEMORY_CORRECTABLE

Ein korrekturfähiger Speicherfehler.

INJECT_ERRTYPE_MEMORY_UNCORRECTABLENONFATAL

Ein nicht korrigierter, nicht schwerwiegender Speicherfehler.

INJECT_ERRTYPE_MEMORY_UNCORRECTABLEFATAL

Ein nicht behebbarer schwerwiegender Speicherfehler.

INJECT_ERRTYPE_PCIEXPRESS_CORRECTABLE

Ein korrekturfähiger PCI Express-Fehler.

INJECT_ERRTYPE_PCIEXPRESS_UNCORRECTABLENONFATAL

Ein nicht behebbarer nicht schwerwiegender PCI Express-Fehler.

INJECT_ERRTYPE_PCIEXPRESS_UNCORRECTABLEFATAL

Ein nicht korrigierter schwerwiegender PCI Express-Fehler.

INJECT_ERRTYPE_PLATFORM_CORRECTABLE

Ein korrigierter Plattformfehler.

INJECT_ERRTYPE_PLATFORM_UNCORRECTABLENONFATAL

Ein nicht behebbarer nicht schwerwiegender Plattformfehler.

INJECT_ERRTYPE_PLATFORM_UNCORRECTABLEFATAL

Ein nicht korrigierter schwerwiegender Plattformfehler.

[in] Parameter1

Ein generischer Parameter, der zusätzliche Daten enthält, die von der WHEA-Verwaltungsanwendung übergeben werden, die den Fehler einschleust.

[in] Parameter2

Ein generischer Parameter, der zusätzliche Daten enthält, die von der WHEA-Verwaltungsanwendung übergeben werden, die den Fehler einschleust.

[in] Parameter3

Ein generischer Parameter, der zusätzliche Daten enthält, die von der WHEA-Verwaltungsanwendung übergeben werden, die den Fehler einschleust.

[in] Parameter4

Ein generischer Parameter, der zusätzliche Daten enthält, die von der WHEA-Verwaltungsanwendung übergeben werden, die den Fehler einschleust.

Rückgabewert

Die InjectError-Rückruffunktion eines PSHED-Plug-Ins gibt einen der folgenden NTSTATUS-Codes zurück:

Rückgabecode Beschreibung
STATUS_SUCCESS Der Fehler wurde erfolgreich in die Hardwareplattform eingefügt.
STATUS_UNSUCCESSFUL Ein Fehler ist aufgetreten. Bei injizierten Fehlern, die schwerwiegend oder anderweitig nicht behebbar sind, wird diese Rückruffunktion möglicherweise nicht zurückgegeben, bevor das Betriebssystem als Reaktion auf die Fehlerbedingung eine Fehlerüberprüfung generiert.

Hinweise

Ein PSHED-Plug-In, das an der Fehlerinjektion beteiligt ist, legt die Member Callbacks.GetInjectionCapabilities und Callbacks.InjectError der WHEA_PSHED_PLUGIN_REGISTRATION_PACKET-Struktur so fest, dass sie auf die Rückruffunktionen GetInjectionCapabilities und InjectError verweisen, wenn das Plug-In die PshedRegisterPlugin-Funktion aufruft, um sich beim PSHED zu registrieren. Das PSHED-Plug-In muss auch das PshedFAErrorInjection-Flag im FunctionalAreaMask-Member der WHEA_PSHED_PLUGIN_REGISTRATION_PACKET-Struktur festlegen.

Wenn eine WHEA-Verwaltungsanwendung eine Anforderung zum Einfügen eines Hardwarefehlers sendet, ruft der Windows-Kernel den PSHED auf, um den Fehler in die Hardwareplattform einzufügen. Wenn ein PSHED-Plug-In für die Teilnahme an der Fehlerinjektion registriert ist, ruft das PSHED die InjectError-Rückruffunktion des PSHED-Plug-Ins auf, um den Fehlereinschleusungsvorgang auszuführen.

Die WHEA-Verwaltungsanwendung, die den Fehler einschleust, kann mithilfe der Parameter Parameter1 bis Parameter4 zusätzliche fehlerspezifische Daten an die InjectError-Rückruffunktion des PSHED-Plug-Ins übergeben. Bei Itanium-basierten Systemen ist beispielsweise für einige Fehlereinschleusungen eine zugehörige Adresse erforderlich. In diesem Fall kann die WHEA-Verwaltungsanwendung die Adresse mithilfe eines dieser Parameter an die InjectError-Rückruffunktion des PSHED-Plug-Ins übergeben.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Unterstützt in Windows Server 2008, Windows Vista SP1 und höheren Versionen von Windows.
Zielplattform Desktop
Kopfzeile ntddk.h (include Ntddk.h)
IRQL IRQL = DISPATCH_LEVEL

Weitere Informationen

GetInjectionCapabilities

PshedRegisterPlugin

WHEA_PSHED_PLUGIN_REGISTRATION_PACKET