PSHED_PI_ATTEMPT_ERROR_RECOVERY funzione di callback (ntddk.h)
Un plug-in PSHED AttemptRecovery funzione di callback tenta di eseguire il ripristino da un errore hardware ripristinabile.
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 Context membro della struttura WHEA_PSHED_PLUGIN_REGISTRATION_PACKET quando il plug-in PSHED ha chiamato il PshedRegisterPlugin funzione per registrarsi con PSHED.
[in] BufferLength
Dimensione, in byte, del record di errore a cui punta il parametro ErrorRecord.
[in] ErrorRecord
Puntatore a una struttura WHEA_ERROR_RECORD che descrive un record di errore per un errore hardware ripristinabile.
Valore restituito
Un plug-in PSHED AttemptRecovery funzione di callback restituisce uno dei codici NTSTATUS seguenti.
Codice restituito | Descrizione |
---|---|
STATUS_SUCCESS | Il tentativo di ripristino dall'errore hardware è riuscito. |
STATUS_UNSUCCESSFUL | Tentativo di ripristino dall'errore hardware non riuscito. |
Osservazioni
Un plug-in PSHED che partecipa al ripristino degli errori imposta il Callbacks.AttemptRecovery membro della struttura WHEA_PSHED_PLUGIN_REGISTRATION_PACKET in modo che punti alla relativa funzione di callback AttemptRecovery quando il plug-in chiama la funzione PshedRegisterPlugin per registrarsi con PSHED. Il plug-in PSHED deve anche impostare il flag di 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 durante l'elaborazione dell'errore dopo che tutti i dati degli errori hardware sono stati inseriti nel record di errore. Il kernel di Windows chiama quindi pshed per offrirgli l'opportunità di eseguire le operazioni di ripristino necessarie. Se un plug-in PSHED viene registrato per partecipare al ripristino degli errori, PSHED chiama il plug-in PSHED AttemptRecovery funzione di callback in modo che possa tentare di correggere l'errore e/o eseguire eventuali operazioni aggiuntive necessarie per il ripristino completo dalla condizione di errore.
Se il kernel di Windows o PSHED viene ripristinato correttamente dall'errore hardware, aggiorna la struttura WHEA_ERROR_RECORD che descrive l'errore prima di chiamare il plug-in PSHED AttemptRecovery funzione di callback come indicato di seguito:
Il membro Header.Severity viene modificato da WheaErrSevRecoverable a WheaErrSevCorrected.
È impostato bit Header.Flags.Recovered.
Se il plug-in PSHED viene ripristinato correttamente dall'errore hardware, PSHED aggiornerà la struttura WHEA_ERROR_RECORD per conto del plug-in PSHED dopo la chiamata al plug-in PSHED AttemptRecovery funzione di callback restituisce. Un plug-in PSHED AttemptRecovery funzione di callback non deve modificare il record di errore.
PSHED chiama un plug-in PSHED AttemptRecovery funzione di callback in IRQL <= HIGH_LEVEL. L'esatto IRQL in corrispondenza del quale viene chiamata questa funzione di callback dipende dal tipo specifico di errore hardware che si è verificato.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Desktop |
intestazione | ntddk.h (include Ntddk.h) |
IRQL | IRQL >= DISPATCH_LEVEL |