PSHED_PI_FINALIZE_ERROR_RECORD función de devolución de llamada (ntddk.h)
Una función de devolución de llamada FinalizeErrorRecord del complemento PSHED agrega secciones de registros 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 de 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 de 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
Una función de devolución de llamada FinalizeErrorRecord del complemento PSHED devuelve uno de los siguientes códigos NTSTATUS:
Código devuelto | Descripción |
---|---|
STATUS_SUCCESS | El registro de error se actualizó correctamente con cualquier sección de registro de error adicional. |
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 error si se actualiza con las secciones de registro de error complementarios. |
STATUS_NOT_SUPPORTED | El complemento PSHED no admite el origen de error especificado. |
STATUS_UNSUCCESSFUL | Se produjo un error. |
Comentarios
Un complemento PSHED que participa en la recuperación de información de error establece los miembros Callbacks.RetrieveErrorInfo, Callbacks.FinalizeErrorRecord y Callbacks.ClearErrorStatus de la estructura de WHEA_PSHED_PLUGIN_REGISTRATION_PACKET para que apunten a sus funciones de devolución de llamada RetrieveErrorInfo, FinalizeErrorRecord y ClearErrorStatus cuando el complemento llama a la función PshedRegisterPlugin para registrarse en el PSHED. El complemento PSHED también debe establecer la marca PshedFAErrorInfoRetrieval en el miembro FunctionalAreaMask de la estructura 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 a la función de devolución de llamada FinalizeErrorRecord del complemento PSHED para que el complemento PSHED pueda agregar secciones de registros de errores adicionales al registro de error que describa más 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 asigna el kernel de Windows para que un búfer contenga un registro de error determinado se calcula a partir de los miembros MaxRawDataLength y MaxSectionsPerRecord de la estructura WHEA_ERROR_SOURCE_DESCRIPTOR que describe el origen de error que informó del error de hardware. Si un complemento PSHED requiere espacio de búfer adicional 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 miembro MaxSectionsPerRecord 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 | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | ntddk.h (incluya Ntddk.h) |
IRQL | IRQL >= DISPATCH_LEVEL |