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 |