PSHED_PI_ATTEMPT_ERROR_RECOVERY funzione di callback (ntddk.h)
Una funzione di callback del plug-in PSHED tenta di ripristinare da un errore hardware recuperabile.
Sintassi
PSHED_PI_ATTEMPT_ERROR_RECOVERY PshedPiAttemptErrorRecovery;
NTSTATUS PshedPiAttemptErrorRecovery(
[in, out, optional] PVOID PluginContext,
[in] ULONG BufferLength,
[in] PWHEA_ERROR_RECORD ErrorRecord
)
{...}
Parametri
[in, out, optional] PluginContext
Puntatore all'area di contesto specificata nel membro Contesto della struttura WHEA_PSHED_PLUGIN_REGISTRATION_PACKET quando il plug-in PSHED ha chiamato la funzione PshedRegisterPlugin per registrarsi con PSHED.
[in] BufferLength
Dimensioni, in byte, del record di errore a cui fa riferimento il parametro ErrorRecord .
[in] ErrorRecord
Puntatore a una struttura WHEA_ERROR_RECORD che descrive un record di errore per un errore hardware recuperabile.
Valore restituito
Una funzione di callback del plug-in PSHED restituisce uno dei codici NTSTATUS seguenti.
Codice restituito | Descrizione |
---|---|
STATUS_SUCCESS | Il tentativo di ripristino dall'errore hardware ha avuto esito positivo. |
STATUS_UNSUCCESSFUL | Il tentativo di ripristino dall'errore hardware non è riuscito. |
Commenti
Un plug-in PSHED che partecipa al ripristino degli errori imposta il membro Callbacks.AttemptRecovery della struttura WHEA_PSHED_PLUGIN_REGISTRATION_PACKET per puntare alla funzione di callback Di tentativo quando il plug-in chiama la funzione PshedRegisterPlugin per registrarsi con PSHED. Il plug-in PSHED deve anche impostare il flag PshedFAErrorRecovery nel membro FunctionalAreaMask della struttura WHEA_PSHED_PLUGIN_REGISTRATION_PACKET.
Il kernel di Windows tenta di eseguire il ripristino da un errore hardware ripristinabile mentre elabora l'errore dopo che tutti i dati degli errori hardware sono stati inseriti nel record di errore. Il kernel di Windows chiama quindi psHED per dare la possibilità di eseguire tutte le operazioni di ripristino necessarie. Se un plug-in PSHED è registrato per partecipare al ripristino degli errori, il PSHED chiama la funzione di callback del plug-in PSHED in modo che possa tentare di correggere l'errore e/o eseguire eventuali operazioni aggiuntive necessarie per ripristinare completamente la condizione di errore.
Se il kernel di Windows o PSHED recupera correttamente dall'errore hardware, aggiorna la struttura di WHEA_ERROR_RECORD che descrive l'errore prima di chiamare la funzione di callback del plug-in PSHED AttemptRecovery come indicato di seguito:
Il membro Header.Gravità viene modificato da WheaErrSevRecoverable a WheaErrSevCorrected.
Il bit Header.Flags.Recovered è impostato.
Se il plug-in PSHED recupera correttamente l'errore hardware, PSHED aggiornerà la struttura di WHEA_ERROR_RECORD per conto del plug-in PSHED dopo la chiamata alla funzione di callback del plug-in PSHED. La funzione di callback Di tentativo di ripristino di PSHED non deve modificare il record di errore.
IL PSHED chiama una funzione di callback Di tentativo di ripristino di PSHED in IRQL <= HIGH_LEVEL. L'esatto IRQL in cui viene chiamata questa funzione di callback dipende dal tipo specifico di errore hardware che si è verificato.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | ntddk.h (include Ntddk.h) |
IRQL | IRQL >= DISPATCH_LEVEL |