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 |