PSHED_PI_READ_ERROR_RECORD Rückruffunktion (ntddk.h)
Die Rückruffunktion ReadErrorRecord eines PSHED-Plug-Ins liest einen Fehlerdatensatz aus dem persistenten Datenspeicher des Systems.
Syntax
PSHED_PI_READ_ERROR_RECORD PshedPiReadErrorRecord;
NTSTATUS PshedPiReadErrorRecord(
[in, out, optional] PVOID PluginContext,
[in] ULONG Flags,
[in] ULONGLONG ErrorRecordId,
[out] PULONGLONG NextErrorRecordId,
[in, out] PULONG RecordLength,
[out] PWHEA_ERROR_RECORD ErrorRecord
)
{...}
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] Flags
Eine bitweise OR'ed-Kombination von Flags, die sich auf den Lesevorgang auswirken. Derzeit sind keine Flags definiert.
[in] ErrorRecordId
Der Bezeichner des Fehlerdatensatzes, der aus dem persistenten Datenspeicher des Systems gelesen werden soll. Wenn kein Fehlerdatensatz im persistenten Datenspeicher des Systems gespeichert ist, der diesem Bezeichner entspricht, muss die ReadErrorRecord-Rückruffunktion STATUS_OBJECT_NOT_FOUND zurückgeben.
[out] NextErrorRecordId
Ein Zeiger auf eine Variable vom Typ ULONGLONG, die den Bezeichner des nächsten Fehlerdatensatzes empfängt, der im persistenten Datenspeicher des Systems gespeichert ist. Wenn keine anderen Fehlerdatensätze im persistenten Datenspeicher des Systems gespeichert sind, sollte der Bezeichner für den Fehlerdatensatz, der gerade gelesen wird, in diesem Parameter zurückgegeben werden.
[in, out] RecordLength
Ein Zeiger auf eine Variable vom Typ ULONG, die die Größe des Puffers in Bytes enthält, auf den der ErrorRecord-Parameter verweist. Wenn die Größe des Puffers groß genug ist, um den zu lesenden Fehlerdatensatz zu enthalten, legt die ReadErrorRecord-Rückruffunktion diese Variable auf die Größe des im Puffer zurückgegebenen Fehlerdatensatzes in Bytes fest. Wenn die Größe des Puffers jedoch zu klein ist, um den zu lesenden Fehlerdatensatz zu enthalten, legt die ReadErrorRecord-Rückruffunktion diese Variable auf die Größe in Bytes fest, die erforderlich ist, um den Fehlerdatensatz zu enthalten. In diesem Fall muss die ReadErrorRecord-Rückruffunktion STATUS_BUFFER_TOO_SMALL zurückgeben.
[out] ErrorRecord
Ein Zeiger auf einen Puffer, der den Fehlerdatensatz empfängt, der aus dem persistenten Datenspeicher des Systems gelesen wird.
Rückgabewert
Die ReadErrorRecord-Rückruffunktion eines PSHED-Plug-Ins gibt einen der folgenden NTSTATUS-Codes zurück:
Rückgabecode | Beschreibung |
---|---|
STATUS_SUCCESS | Der Fehlerdatensatz wurde erfolgreich aus dem persistenten Datenspeicher des Systems gelesen. |
STATUS_OBJECT_NOT_FOUND | Im persistenten Datenspeicher des Systems ist kein Fehlerdatensatz vorhanden, der mit dem im ErrorRecordId-Parameter angegebenen Bezeichner übereinstimmt. |
STATUS_BUFFER_TOO_SMALL | Die Größe des Puffers ist zu klein, um den zu lesenden Fehlerdatensatz zu enthalten. |
STATUS_UNSUCCESSFUL | Ein Fehler ist aufgetreten. |
Hinweise
Ein PSHED-Plug-In, das an der Persistenz des Fehlerdatensatzes beteiligt ist, legt die Callbacks.WriteErrorRecord-, Callbacks.ReadErrorRecord- und Callbacks.ClearErrorRecord-Member der WHEA_PSHED_PLUGIN_REGISTRATION_PACKET-Struktur fest, um auf die Rückruffunktionen WriteErrorRecord, ReadErrorRecord und ClearErrorRecord zu verweisen, wenn das Plug-In die PshedRegisterPlugin-Funktion aufruft, um sich bei PSHED zu registrieren. Das PSHED-Plug-In muss auch das PshedFAErrorRecordPersistence-Flag im FunctionalAreaMask-Member der WHEA_PSHED_PLUGIN_REGISTRATION_PACKET-Struktur festlegen.
Der Windows-Kernel ruft den PSHED auf, um einen Fehlerdatensatz aus dem persistenten Datenspeicher des Systems zu lesen, nachdem das System nach einem schwerwiegenden oder anderweitig nicht behebbaren Fehler neu gestartet wurde. Wenn ein PSHED-Plug-In registriert ist, um an der Persistenz des Fehlerdatensatzes teilzunehmen, ruft das PSHED-Plug-In die ReadErrorRecord-Rückruffunktion des PSHED-Plug-Ins auf, um den Lesevorgang auszuführen. Der Mechanismus, der zum Lesen des Fehlerdatensatzes aus dem persistenten Datenspeicher des Systems verwendet wird, ist plattformspezifisch.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | ntddk.h (include Ntddk.h) |
IRQL | IRQL = DISPATCH_LEVEL |
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für