PSHED_PI_READ_ERROR_RECORD fonction de rappel (ntddk.h)
Un plug-in PSHED ReadErrorRecord fonction de rappel lit un enregistrement d’erreur à partir du stockage de données persistant du système.
Syntaxe
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
)
{...}
Paramètres
[in, out, optional] PluginContext
Pointeur vers la zone de contexte spécifiée dans le Context membre de la structure WHEA_PSHED_PLUGIN_REGISTRATION_PACKET lorsque le plug-in PSHED appelé PshedRegisterPlugin fonction pour s’inscrire auprès du PSHED.
[in] Flags
Combinaison or’ed de bits d’indicateurs qui affectent l’opération de lecture. Aucun indicateur n’est actuellement défini.
[in] ErrorRecordId
Identificateur de l’enregistrement d’erreur à lire à partir du stockage de données persistant du système. S’il n’existe pas d’enregistrement d’erreur stocké dans le stockage de données persistant du système qui correspond à cet identificateur, la fonction de rappel ReadErrorRecord doit retourner STATUS_OBJECT_NOT_FOUND.
[out] NextErrorRecordId
Pointeur vers une variable typée ULONGLONG qui reçoit l’identificateur de l’enregistrement d’erreur suivant stocké dans le stockage des données persistantes du système. S’il n’existe aucun autre enregistrement d’erreur stocké dans le stockage de données persistants du système, l’identificateur de l’enregistrement d’erreur en cours de lecture doit être retourné dans ce paramètre.
[in, out] RecordLength
Pointeur vers une variable typée ULONG qui contient la taille, en octets, de la mémoire tampon pointée par le paramètre ErrorRecord. Si la taille de la mémoire tampon est suffisamment grande pour contenir l’enregistrement d’erreur en cours de lecture, la ReadErrorRecord fonction de rappel définit cette variable sur la taille, en octets, de l’enregistrement d’erreur retourné dans la mémoire tampon. Toutefois, si la taille de la mémoire tampon est trop petite pour contenir l’enregistrement d’erreur en cours de lecture, le ReadErrorRecord fonction de rappel définit cette variable sur la taille, en octets, requise pour contenir l’enregistrement d’erreur. Dans ce cas, la fonction de rappel ReadErrorRecord doit retourner STATUS_BUFFER_TOO_SMALL.
[out] ErrorRecord
Pointeur vers une mémoire tampon qui reçoit l’enregistrement d’erreur lu à partir du stockage de données persistant du système.
Valeur de retour
Un plug-in PSHED ReadErrorRecord fonction de rappel retourne l’un des codes NTSTATUS suivants :
Retourner le code | Description |
---|---|
STATUS_SUCCESS | L’enregistrement d’erreur a été lu avec succès à partir du stockage de données persistant du système. |
STATUS_OBJECT_NOT_FOUND | Il n’existe aucun enregistrement d’erreur dans le stockage de données persistants du système qui correspond à l’identificateur spécifié dans le paramètre ErrorRecordId. |
STATUS_BUFFER_TOO_SMALL | La taille de la mémoire tampon est trop petite pour contenir l’enregistrement d’erreur en cours de lecture. |
STATUS_UNSUCCESSFUL | Une erreur s’est produite. |
Remarques
Un plug-in PSHED qui participe à la persistance des enregistrements d’erreur définit les membres Callbacks.WriteErrorRecord, Callbacks.ReadErrorRecord et Callbacks.ClearErrorRecord membres de la structure WHEA_PSHED_PLUGIN_REGISTRATION_PACKET pour pointer vers son WriteErrorRecord, ReadErrorRecord, et Fonctions de rappel ClearErrorRecord lorsque le plug-in appelle la fonction PshedRegisterPlugin pour s’inscrire auprès du PSHED. Le plug-in PSHED doit également définir l’indicateur PshedFAErrorRecordPersistence dans l’indicateur FunctionalAreaMask de la structure WHEA_PSHED_PLUGIN_REGISTRATION_PACKET.
Le noyau Windows appelle le PSHED pour lire un enregistrement d’erreur à partir du stockage de données persistant du système après le redémarrage du système à la suite d’une condition d’erreur irrécupérable ou irrécupérable. Si un plug-in PSHED est inscrit pour participer à la persistance des enregistrements d’erreur, le PSHED appelle le plug-in PSHED ReadErrorRecord fonction de rappel pour effectuer l’opération de lecture. Le mécanisme utilisé pour lire l’enregistrement d’erreur à partir du stockage de données persistants du système est spécifique à la plateforme.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Bureau |
d’en-tête | ntddk.h (include Ntddk.h) |
IRQL | IRQL = DISPATCH_LEVEL |