PSHED_PI_INJECT_ERROR Rückruffunktion (ntddk.h)
Die InjectError Callbackfunktion eines PSHED-Plug-Ins fügt einen Fehler in die Hardwareplattform ein.
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
)
{...}
[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:
Ein korrekter Prozessorfehler.
Ein nicht korrigierter Nichtfataler Prozessorfehler.
Ein nicht korrigierter schwerwiegender Prozessorfehler.
Ein korrekter Speicherfehler.
Ein nicht korrigierter nicht behebbarer Speicherfehler.
Ein nicht korrigierter schwerwiegender Speicherfehler.
Ein korrekter PCI Express-Fehler.
Ein unkorrektbarer nicht behebbarer PCI-Express-Fehler.
Ein nicht korrigierter schwerwiegender PCI Express-Fehler.
Ein korrekturfähiger Plattformfehler.
Ein nicht korrigierter Nichtfataler Plattformfehler.
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.
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. |
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.
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 |