Freigeben über


PSHED_PI_FINALIZE_ERROR_RECORD Rückruffunktion (ntddk.h)

Die FinalizeErrorRecord Rückruffunktion eines PSHED-Plug-Ins fügt einem Fehlerdatensatzabschnitt zusätzliche Fehlerdatensätze hinzu, die die Fehlerbedingung genauer beschreiben.

Syntax

PSHED_PI_FINALIZE_ERROR_RECORD PshedPiFinalizeErrorRecord;

NTSTATUS PshedPiFinalizeErrorRecord(
  [in, out, optional] PVOID PluginContext,
  [in]                PWHEA_ERROR_SOURCE_DESCRIPTOR ErrorSource,
  [in]                ULONG BufferLength,
  [in, out]           PWHEA_ERROR_RECORD ErrorRecord
)
{...}

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] ErrorSource

Ein Zeiger auf eine WHEA_ERROR_SOURCE_DESCRIPTOR-Struktur, die die Fehlerquelle beschreibt, die den Hardwarefehler gemeldet hat.

[in] BufferLength

Die Größe des Puffers in Bytes, auf den der ErrorRecord-Parameter verweist.

[in, out] ErrorRecord

Ein Zeiger auf eine WHEA_ERROR_RECORD Struktur, die den Fehlerdatensatz beschreibt, der mit zusätzlichen Fehlerdatensatzabschnitten aktualisiert wird.

Rückgabewert

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

Rückgabecode Beschreibung
STATUS_SUCCESS Der Fehlerdatensatz wurde erfolgreich mit allen zusätzlichen Fehlerdatensatzabschnitten aktualisiert.
STATUS_BUFFER_TOO_SMALL Die Größe des Puffers, auf den der ErrorRecord Parameter verweist, wie durch den parameter BufferLength angegeben, ist zu klein, um den Fehlerdatensatz zu enthalten, wenn er mit den zusätzlichen Fehlerdatensatzabschnitten aktualisiert wird.
STATUS_NOT_SUPPORTED Das PSHED-Plug-In unterstützt die angegebene Fehlerquelle nicht.
STATUS_UNSUCCESSFUL Fehler.

Bemerkungen

Ein PSHED-Plug-In, das am Abrufen von Fehlerinformationen teilnimmt, legt die Callbacks.RetrieveErrorInfo, Callbacks.FinalizeErrorRecordund Callbacks.ClearErrorStatus Member der WHEA_PSHED_PLUGIN_REGISTRATION_PACKET Struktur fest zeigen Sie auf die RetrieveErrorInfo-, FinalizeErrorRecordund ClearErrorStatus Rückruffunktionen, wenn das Plug-In die PshedRegisterPlugin--Funktion aufruft, um sich bei der PSHED-Funktion zu registrieren. Das PSHED-Plug-In muss auch das PshedFAErrorInfoRetrieval Flag im FunctionalAreaMask Member der WHEA_PSHED_PLUGIN_REGISTRATION_PACKET Struktur festlegen.

Der Windows-Kernel ruft den PSHED-Aufruf auf, sodass er einem Fehlerdatensatz zusätzliche Fehlerdatensätzeabschnitte hinzufügen kann. Wenn ein PSHED-Plug-In registriert ist, um am Abruf von Fehlerinformationen teilzunehmen, ruft PSHED das PSHED-Plug-Ins FinalizeErrorRecord Rückruffunktion auf, sodass das PSHED-Plug-In dem Fehlerdatensatz weitere Fehlerdatensätze abschnitte hinzufügen kann, die die Fehlerbedingung genauer beschreiben.

Ein PSHED-Plug-In muss sicherstellen, dass über das Ende des Fehlerdatensatzes hinaus keine zusätzlichen Fehlerdatensätze hinzugefügt werden. Der Arbeitsspeicher, den der Windows-Kernel einem Puffer zuweist, der einen bestimmten Fehlerdatensatz enthält, wird anhand der MaxRawDataLength und MaxSectionsPerRecord Member der WHEA_ERROR_SOURCE_DESCRIPTOR-Struktur berechnet, die die Fehlerquelle beschreibt, die den Hardwarefehler gemeldet hat. Wenn ein PSHED-Plug-In zusätzlichen Pufferraum benötigt, um die zusätzlichen Fehlerdatensätze, die es dem Fehlerdatensatz hinzufügt, enthalten, muss es an der Fehlerquellenermittlung teilnehmen und den Wert im MaxSectionsPerRecord Mitglied der WHEA_ERROR_SOURCE_DESCRIPTOR-Struktur für jede Fehlerquelle entsprechend erhöhen, um zusätzliche Fehlerdatensätze zu berücksichtigen.

Anforderungen

Anforderung Wert
Zielplattform- Desktop
Header- ntddk.h (include Ntddk.h)
IRQL- IRQL->= DISPATCH_LEVEL

Siehe auch

ClearErrorStatus-

PshedRegisterPlugin

RetrieveErrorInfo-

WHEA_ERROR_RECORD

WHEA_ERROR_SOURCE_DESCRIPTOR

WHEA_PSHED_PLUGIN_REGISTRATION_PACKET