Partager via


PSHED_PI_FINALIZE_ERROR_RECORD fonction de rappel (ntddk.h)

Un plug-in PSHED FinaliseErrorRecord fonction de rappel ajoute des sections d’enregistrement d’erreur supplémentaires à un enregistrement d’erreur qui décrit plus complètement la condition d’erreur.

Syntaxe

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
)
{...}

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

Pointeur vers une structure WHEA_ERROR_SOURCE_DESCRIPTOR qui décrit la source d’erreur qui a signalé l’erreur matérielle.

[in] BufferLength

Taille, en octets, de la mémoire tampon pointée par le paramètre ErrorRecord.

[in, out] ErrorRecord

Pointeur vers une structure WHEA_ERROR_RECORD qui décrit l’enregistrement d’erreur mis à jour avec des sections d’enregistrement d’erreur supplémentaires.

Valeur de retour

Un plug-in PSHED FinaliseErrorRecord fonction de rappel retourne l’un des codes NTSTATUS suivants :

Retourner le code Description
STATUS_SUCCESS L’enregistrement d’erreur a été correctement mis à jour avec toutes les sections d’enregistrement d’erreur supplémentaires.
STATUS_BUFFER_TOO_SMALL La taille de la mémoire tampon pointée par le paramètre ErrorRecord comme spécifié par le paramètre BufferLength est trop petite pour contenir l’enregistrement d’erreur s’il est mis à jour avec les sections d’enregistrement d’erreur supplémentaires.
STATUS_NOT_SUPPORTED Le plug-in PSHED ne prend pas en charge la source d’erreur spécifiée.
STATUS_UNSUCCESSFUL Une erreur s’est produite.

Remarques

Un plug-in PSHED qui participe à la récupération des informations d’erreur définit les Callbacks.RetrieveErrorInfo, Callbacks.FinaliseErrorRecordet Callbacks.ClearErrorStatus membres de la structure WHEA_PSHED_PLUGIN_REGISTRATION_PACKET pour pointer à son RetrieveErrorInfo, FinaliseErrorRecordet fonctions de rappel ClearErrorStatus 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 PshedFAErrorInfoRetrieval dans le membre FunctionalAreaMask de la structure WHEA_PSHED_PLUGIN_REGISTRATION_PACKET.

Le noyau Windows appelle le PSHED afin qu’il puisse ajouter des sections d’enregistrement d’erreur supplémentaires à un enregistrement d’erreur. Si un plug-in PSHED est inscrit pour participer à la récupération des informations d’erreur, le PSHED appelle le plug-in PSHED FinaliseErrorRecord fonction de rappel afin que le plug-in PSHED puisse ajouter des sections d’enregistrement d’erreur supplémentaires à l’enregistrement d’erreur qui décrivent plus complètement la condition d’erreur.

Un plug-in PSHED doit s’assurer qu’il n’ajoute pas de sections d’enregistrement d’erreur supplémentaires au-delà de la fin de l’enregistrement d’erreur. La quantité de mémoire allouée par le noyau Windows pour qu’une mémoire tampon contienne un enregistrement d’erreur particulier est calculée à partir de l'MaxRawDataLength et membres maxSectionsPerRecord de la structure WHEA_ERROR_SOURCE_DESCRIPTOR qui décrit la source d’erreur qui a signalé l’erreur matérielle. Si un plug-in PSHED nécessite un espace tampon supplémentaire pour contenir les sections d’enregistrement d’erreur supplémentaires qu’il ajoute à l’enregistrement d’erreur, il doit participer à la découverte de source d’erreur et augmenter la valeur dans l'MaxSectionsPerRecord membre de la structure de WHEA_ERROR_SOURCE_DESCRIPTOR pour chaque source d’erreur selon le cas pour tenir compte des sections d’enregistrement d’erreur supplémentaires.

Exigences

Exigence Valeur
plateforme cible Bureau
d’en-tête ntddk.h (include Ntddk.h)
IRQL IRQL >= DISPATCH_LEVEL

Voir aussi

ClearErrorStatus

PshedRegisterPlugin

RetrieveErrorInfo

WHEA_ERROR_RECORD

WHEA_ERROR_SOURCE_DESCRIPTOR

WHEA_PSHED_PLUGIN_REGISTRATION_PACKET