PSHED_PI_FINALIZE_ERROR_RECORD función de devolución de llamada (ntddk.h)
Un complemento PSHED FinalizeErrorRecord función de devolución de llamada agrega secciones de registro de error adicionales a un registro de error que describe más completamente la condición de error.
Sintaxis
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
)
{...}
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] ErrorSource
Puntero a una estructura de WHEA_ERROR_SOURCE_DESCRIPTOR que describe el origen del error que informó del error de hardware.
[in] BufferLength
Tamaño, en bytes, del búfer al que apunta el parámetro ErrorRecord.
[in, out] ErrorRecord
Puntero a una estructura de WHEA_ERROR_RECORD que describe el registro de error que se está actualizando con secciones de registros de error adicionales.
Valor devuelto
Un complemento PSHED FinalizeErrorRecord función de devolución de llamada devuelve uno de los siguientes códigos NTSTATUS:
Código devuelto | Descripción |
---|---|
STATUS_SUCCESS | El registro de error se actualizó correctamente con las secciones de registros de errores adicionales. |
STATUS_BUFFER_TOO_SMALL | El tamaño del búfer al que apunta el parámetro ErrorRecord especificado por el parámetro BufferLength es demasiado pequeño para contener el registro de errores si se actualiza con las secciones de registro de errores adicionales. |
STATUS_NOT_SUPPORTED | El complemento PSHED no admite el origen de error especificado. |
STATUS_UNSUCCESSFUL | Error. |
Observaciones
Un complemento PSHED que participa en la recuperación de información de error establece el Callbacks.RetrieveErrorInfo, Callbacks.FinalizeErrorRecordy Callbacks.ClearErrorStatus miembros de la estructura de WHEA_PSHED_PLUGIN_REGISTRATION_PACKET que apuntar a su RetrieveErrorInfo, FinalizeErrorRecordy ClearErrorStatus funciones de devolución de llamada cuando el complemento llama a la función PshedRegisterPlugin para registrarse en el PSHED. El complemento PSHED también debe establecer la marca de pshedFAErrorInfoRetrieval en el miembro FunctionalAreaMask de la estructura de WHEA_PSHED_PLUGIN_REGISTRATION_PACKET.
El kernel de Windows llama a PSHED para que pueda agregar secciones de registro de errores adicionales a un registro de error. Si se registra un complemento PSHED para participar en la recuperación de información de error, PSHED llama al complemento PSHED FinalizeErrorRecord función de devolución de llamada para que el complemento PSHED pueda agregar cualquier sección de registro de errores adicional al registro de error que describa completamente la condición de error.
Un complemento PSHED debe asegurarse de que no agrega secciones de registro de errores adicionales más allá del final del registro de error. La cantidad de memoria que el kernel de Windows asigna para un búfer para que contenga un registro de error determinado se calcula a partir de la MaxRawDataLength y miembros de MaxSectionsPerRecord de la estructura de WHEA_ERROR_SOURCE_DESCRIPTOR que describe el origen de error que informó del error de hardware. Si un complemento PSHED requiere espacio adicional en el búfer para contener las secciones de registro de errores adicionales que agrega al registro de error, debe participar en la detección del origen de errores y aumentar el valor en el MaxSectionsPerRecord miembro de la estructura de WHEA_ERROR_SOURCE_DESCRIPTOR para cada origen de error según corresponda para tener en cuenta las secciones de registro de errores adicionales.
Requisitos
Requisito | Valor |
---|---|
de la plataforma de destino de | Escritorio |
encabezado de | ntddk.h (incluya Ntddk.h) |
irQL | IRQL >= DISPATCH_LEVEL |