Freigeben über


PSHED_PI_INJECT_ERROR Rückruffunktion (ntddk.h)

Die InjectError Callbackfunktion 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 Context Member der WHEA_PSHED_PLUGIN_REGISTRATION_PACKET Struktur angegeben wurde, als das PSHED-Plug-In die PshedRegisterPlugin--Funktion aufgerufen hat, um sich bei der PSHED-Funktion zu registrieren.

[in] ErrorType

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

INJECT_ERRTYPE_PROCESSOR_CORRECTABLE

Ein korrekter Prozessorfehler.

INJECT_ERRTYPE_PROCESSOR_UNCORRECTABLENONFATAL

Ein nicht korrigierter Nichtfataler Prozessorfehler.

INJECT_ERRTYPE_PROCESSOR_UNCORRECTABLEFATAL

Ein nicht korrigierter schwerwiegender Prozessorfehler.

INJECT_ERRTYPE_MEMORY_CORRECTABLE

Ein korrekter Speicherfehler.

INJECT_ERRTYPE_MEMORY_UNCORRECTABLENONFATAL

Ein nicht korrigierter nicht behebbarer Speicherfehler.

INJECT_ERRTYPE_MEMORY_UNCORRECTABLEFATAL

Ein nicht korrigierter schwerwiegender Speicherfehler.

INJECT_ERRTYPE_PCIEXPRESS_CORRECTABLE

Ein korrekter PCI Express-Fehler.

INJECT_ERRTYPE_PCIEXPRESS_UNCORRECTABLENONFATAL

Ein unkorrektbarer nicht behebbarer PCI-Express-Fehler.

INJECT_ERRTYPE_PCIEXPRESS_UNCORRECTABLEFATAL

Ein nicht korrigierter schwerwiegender PCI Express-Fehler.

INJECT_ERRTYPE_PLATFORM_CORRECTABLE

Ein korrekturfähiger Plattformfehler.

INJECT_ERRTYPE_PLATFORM_UNCORRECTABLENONFATAL

Ein nicht korrigierter Nichtfataler 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 injiziert.

[in] Parameter2

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

[in] Parameter3

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

[in] Parameter4

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

Rückgabewert

Die InjectError Callbackfunktion 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 Fehler. Bei eingefügten Fehlern, die schwerwiegende oder anderweitig nicht wiederherstellbar sind, gibt diese Rückruffunktion möglicherweise nicht zurück, bevor das Betriebssystem eine Fehlerüberprüfung als Reaktion auf die Fehlerbedingung generiert.

Bemerkungen

Ein PSHED-Plug-In, das an der Fehlereinfügung teilnimmt, legt die Callbacks.GetInjectionCapabilities- und Callbacks.InjectError- Member der WHEA_PSHED_PLUGIN_REGISTRATION_PACKET Struktur auf Punkt fest. zu seinen GetInjectionCapabilities und InjectError Rückruffunktionen, wenn das Plug-In die PshedRegisterPlugin--Funktion aufruft, um sich bei 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 vorgibt, ruft der Windows-Kernel den PSHED auf, um den Fehler in die Hardwareplattform einzufügen. Wenn ein PSHED-Plug-In registriert ist, um an der Fehlereinfügung teilzunehmen, ruft PSHED das InjectError Callback-Funktion des PSHED-Plug-Ins auf, um den Fehlereinfügungsvorgang auszuführen.

Die WHEA-Verwaltungsanwendung, die den Fehler einfing, kann zusätzliche fehlerspezifische Daten an die InjectError- Callbackfunktion des PSHED-Plug-Ins übergeben, indem Parameter Parameter1 über Parameter4. Auf Itanium-basierten Systemen sind beispielsweise einige Fehlereinfügungsvorgänge eine begleite Adresse erforderlich. In diesem Fall kann die WHEA-Verwaltungsanwendung die Adresse mithilfe eines dieser Parameter an die InjectError Callbackfunktion des PSHED-Plug-Ins übergeben.

Anforderungen

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

Siehe auch

GetInjectionCapabilities

PshedRegisterPlugin

WHEA_PSHED_PLUGIN_REGISTRATION_PACKET