PSHED_PI_READ_ERROR_RECORD fonction de rappel (ntddk.h)
La fonction de rappel ReadErrorRecord d’un plug-in PSHED 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 membre Context de la structure WHEA_PSHED_PLUGIN_REGISTRATION_PACKET lorsque le plug-in PSHED a appelé la fonction PshedRegisterPlugin 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 persistantes 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 de type ULONGLONG qui reçoit l’identificateur du prochain enregistrement d’erreur stocké dans le stockage de données persistantes du système. Si aucun autre enregistrement d’erreur n’est stocké dans le stockage de données persistantes 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 de type 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 fonction de rappel ReadErrorRecord 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, la fonction de rappel ReadErrorRecord 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 persistantes du système.
Valeur retournée
La fonction de rappel ReadErrorRecord d’un plug-in PSHED retourne l’un des codes NTSTATUS suivants :
Code de retour | Description |
---|---|
STATUS_SUCCESS | L’enregistrement d’erreur a été correctement lu à partir du stockage de données persistantes du système. |
STATUS_OBJECT_NOT_FOUND | Il n’existe aucun enregistrement d’erreur dans le stockage de données persistant 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 est survenue. |
Remarques
Un plug-in PSHED qui participe à la persistance des enregistrements d’erreurs définit les membres Callbacks.WriteErrorRecord, Callbacks.ReadErrorRecord et Callbacks.ClearErrorRecord de la structure WHEA_PSHED_PLUGIN_REGISTRATION_PACKET pour pointer vers ses fonctions de rappel WriteErrorRecord, ReadErrorRecord et 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 le membre 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 suite à 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’erreurs, le PSHED appelle la fonction de rappel ReadErrorRecord du plug-in PSHED pour effectuer l’opération de lecture. Le mécanisme utilisé pour lire l’enregistrement d’erreur à partir du stockage de données persistantes du système est propre à la plateforme.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | ntddk.h (inclure Ntddk.h) |
IRQL | IRQL = DISPATCH_LEVEL |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour