PSHED_PI_ATTEMPT_ERROR_RECOVERY función de devolución de llamada (ntddk.h)
Un complemento PSHED AttemptRecovery función de devolución de llamada intenta recuperarse de un error de hardware recuperable.
Sintaxis
PSHED_PI_ATTEMPT_ERROR_RECOVERY PshedPiAttemptErrorRecovery;
NTSTATUS PshedPiAttemptErrorRecovery(
[in, out, optional] PVOID PluginContext,
[in] ULONG BufferLength,
[in] PWHEA_ERROR_RECORD ErrorRecord
)
{...}
Parámetros
[in, out, optional] PluginContext
Puntero al área de contexto que se especificó en el miembro Context de la estructura WHEA_PSHED_PLUGIN_REGISTRATION_PACKET cuando el complemento PSHED llamó a la función pshedRegisterPlugin para registrarse en el PSHED.
[in] BufferLength
Tamaño, en bytes, del registro de error al que apunta el parámetro ErrorRecord.
[in] ErrorRecord
Puntero a una estructura de WHEA_ERROR_RECORD que describe un registro de error para un error de hardware recuperable.
Valor devuelto
Un complemento PSHED AttemptRecovery función de devolución de llamada devuelve uno de los siguientes códigos NTSTATUS.
Código devuelto | Descripción |
---|---|
STATUS_SUCCESS | El intento de recuperarse del error de hardware se realizó correctamente. |
STATUS_UNSUCCESSFUL | El intento de recuperarse del error de hardware no se realizó correctamente. |
Observaciones
Un complemento PSHED que participa en la recuperación de errores establece la Callbacks.AttemptRecovery miembro de la estructura de WHEA_PSHED_PLUGIN_REGISTRATION_PACKET para que apunte a su función de devolución de llamada AttemptRecovery cuando el complemento llama a la función PshedRegisterPlugin para registrarse en el PSHED. El complemento PSHED también debe establecer la marca PshedFAErrorRecovery en el miembro FunctionalAreaMask de la estructura WHEA_PSHED_PLUGIN_REGISTRATION_PACKET.
El kernel de Windows intenta recuperarse de un error de hardware recuperable mientras procesa el error después de que se hayan colocado todos los datos de error de hardware en el registro de errores. A continuación, el kernel de Windows llama al PSHED para darle la oportunidad de realizar las operaciones de recuperación necesarias. Si se registra un complemento PSHED para participar en la recuperación de errores, PSHED llama al complemento PSHED AttemptRecovery función de devolución de llamada para que pueda intentar corregir el error o realizar cualquier operación adicional necesaria para recuperarse completamente de la condición de error.
Si el kernel de Windows o el PSHED se recuperan correctamente del error de hardware, actualiza la estructura de WHEA_ERROR_RECORD que describe el error antes de llamar al complemento PSHED AttemptRecovery función de devolución de llamada de la siguiente manera:
El miembro Header.Severity cambia de WheaErrSevRecoverable a WheaErrSevCorrected.
Se establece el bit Header.Flags.Recovered.
Si el complemento PSHED se recupera correctamente del error de hardware, el PSHED actualizará la estructura de WHEA_ERROR_RECORD en nombre del complemento PSHED después de la llamada al complemento PSHED AttemptRecovery devuelve. Un complemento PSHED AttemptRecovery función de devolución de llamada no debe modificar el registro de error.
PSHED llama a la función de devolución de llamada de un complemento PSHED AttemptRecovery en IRQL <= HIGH_LEVEL. El IRQL exacto en el que se llama a esta función de devolución de llamada depende del tipo específico de error de hardware que se produjo.
Requisitos
Requisito | Valor |
---|---|
de la plataforma de destino de | Escritorio |
encabezado de | ntddk.h (incluya Ntddk.h) |
irQL | IRQL >= DISPATCH_LEVEL |