PSHED_PI_FINALIZE_ERROR_RECORD funzione di callback (ntddk.h)
Una funzione di callback FinalizeErrorRecord di un plug-in PSHED aggiunge sezioni di record di errore supplementari a un record di errore che descrive più completamente la condizione di errore.
Sintassi
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
)
{...}
Parametri
[in, out, optional] PluginContext
Puntatore all'area di contesto specificata nel membro Context della struttura WHEA_PSHED_PLUGIN_REGISTRATION_PACKET quando il plug-in PSHED ha chiamato la funzione PshedRegisterPlugin per registrarsi con PSHED.
[in] ErrorSource
Puntatore a una struttura di WHEA_ERROR_SOURCE_DESCRIPTOR che descrive l'origine dell'errore che ha segnalato l'errore hardware.
[in] BufferLength
Dimensione, in byte, del buffer a cui punta il parametro ErrorRecord .
[in, out] ErrorRecord
Puntatore a una struttura WHEA_ERROR_RECORD che descrive il record di errore che viene aggiornato con sezioni supplementari del record di errore.
Valore restituito
Una funzione di callback FinalizeErrorRecord di un plug-in PSHED restituisce uno dei codici NTSTATUS seguenti:
Codice restituito | Descrizione |
---|---|
STATUS_SUCCESS | Il record di errore è stato aggiornato correttamente con eventuali sezioni di record di errore supplementari. |
STATUS_BUFFER_TOO_SMALL | Le dimensioni del buffer a cui punta il parametro ErrorRecord come specificato dal parametro BufferLength sono troppo piccole per contenere il record di errore se viene aggiornato con le sezioni supplementari del record di errore. |
STATUS_NOT_SUPPORTED | Il plug-in PSHED non supporta l'origine errore specificata. |
STATUS_UNSUCCESSFUL | Si è verificato un errore. |
Commenti
Un plug-in PSHED che partecipa al recupero delle informazioni sugli errori imposta i membri Callbacks.RetrieveErrorInfo, Callbacks.FinalizeErrorRecord e Callbacks.ClearErrorStatus della struttura WHEA_PSHED_PLUGIN_REGISTRATION_PACKET in modo che puntino ai relativi callback RetrieveErrorInfo, FinalizeErrorRecord e ClearErrorStatus quando il plug-in chiama la funzione PshedRegisterPlugin per registrarsi con PSHED. Il plug-in PSHED deve anche impostare il flag PshedFAErrorInfoRetrieval nel membro FunctionalAreaMask della struttura WHEA_PSHED_PLUGIN_REGISTRATION_PACKET .
Il kernel di Windows chiama il PSHED in modo che possa aggiungere sezioni di record di errore supplementari a un record di errore. Se un plug-in PSHED viene registrato per partecipare al recupero delle informazioni sugli errori, PSHED chiama la funzione di callback FinalizeErrorRecord del plug-in PSHED in modo che il plug-in PSHED possa aggiungere eventuali sezioni aggiuntive del record di errore al record di errore che descrive in modo più completo la condizione di errore.
Un plug-in PSHED deve garantire che non vengano aggiunte sezioni di record di errore supplementari oltre la fine del record di errore. La quantità di memoria allocata dal kernel di Windows per un buffer in modo che contenga un determinato record di errore viene calcolata dai membri MaxRawDataLength e MaxSectionsPerRecord della struttura WHEA_ERROR_SOURCE_DESCRIPTOR che descrive l'origine dell'errore che ha segnalato l'errore hardware. Se un plug-in PSHED richiede spazio del buffer aggiuntivo per contenere le sezioni supplementari del record di errore aggiunte al record di errore, deve partecipare all'individuazione dell'origine degli errori e aumentare il valore nel membro MaxSectionsPerRecord della struttura di WHEA_ERROR_SOURCE_DESCRIPTOR per ogni origine degli errori in base alle esigenze per tenere conto di eventuali sezioni supplementari del record di errore.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | ntddk.h (include Ntddk.h) |
IRQL | IRQL >= DISPATCH_LEVEL |