PSHED_PI_READ_ERROR_RECORD función de devolución de llamada (ntddk.h)
Una función de devolución de llamada ReadErrorRecord del complemento PSHED lee un registro de error del almacenamiento de datos persistente del sistema.
Sintaxis
PSHED_PI_READ_ERROR_RECORD PshedPiReadErrorRecord;
NTSTATUS PshedPiReadErrorRecord(
[in, out, optional] PVOID PluginContext,
[in] ULONG Flags,
[in] ULONGLONG ErrorRecordId,
[out] PULONGLONG NextErrorRecordId,
[in, out] PULONG RecordLength,
[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] Flags
Combinación or'ed bit a bit de marcas que afectan a la operación de lectura. Actualmente no hay marcas definidas.
[in] ErrorRecordId
Identificador del registro de error que se va a leer del almacenamiento de datos persistente del sistema. Si no hay ningún registro de error almacenado en el almacenamiento de datos persistente del sistema que coincida con este identificador, la función de devolución de llamada ReadErrorRecord debe devolver STATUS_OBJECT_NOT_FOUND.
[out] NextErrorRecordId
Puntero a una variable con tipo ULONGLONG que recibe el identificador del siguiente registro de error almacenado en el almacenamiento de datos persistente del sistema. Si no hay ningún otro registro de error almacenado en el almacenamiento de datos persistente del sistema, el identificador del registro de error que se está leyendo actualmente debe devolverse en este parámetro.
[in, out] RecordLength
Puntero a una variable con tipo ULONG que contiene el tamaño, en bytes, del búfer al que apunta el parámetro ErrorRecord . Si el tamaño del búfer es lo suficientemente grande como para contener el registro de error que se está leyendo, la función de devolución de llamada ReadErrorRecord establece esta variable en el tamaño, en bytes, del registro de error que se devuelve en el búfer. Sin embargo, si el tamaño del búfer es demasiado pequeño para contener el registro de error que se está leyendo, la función de devolución de llamada ReadErrorRecord establece esta variable en el tamaño, en bytes, necesario para contener el registro de error. En esta situación, la función de devolución de llamada ReadErrorRecord debe devolver STATUS_BUFFER_TOO_SMALL.
[out] ErrorRecord
Puntero a un búfer que recibe el registro de error que se lee del almacenamiento de datos persistente del sistema.
Valor devuelto
Una función de devolución de llamada ReadErrorRecord del complemento PSHED devuelve uno de los siguientes códigos NTSTATUS:
Código devuelto | Descripción |
---|---|
STATUS_SUCCESS | El registro de error se leyó correctamente desde el almacenamiento de datos persistente del sistema. |
STATUS_OBJECT_NOT_FOUND | No hay ningún registro de errores en el almacenamiento de datos persistente del sistema que coincida con el identificador especificado en el parámetro ErrorRecordId . |
STATUS_BUFFER_TOO_SMALL | El tamaño del búfer es demasiado pequeño para contener el registro de error que se está leyendo. |
STATUS_UNSUCCESSFUL | Se produjo un error. |
Comentarios
Un complemento PSHED que participa en la persistencia del registro de errores establece los miembros Callbacks.WriteErrorRecord, Callbacks.ReadErrorRecord y Callbacks.ClearErrorRecord de la estructura WHEA_PSHED_PLUGIN_REGISTRATION_PACKET para que apunten a sus funciones writeErrorRecord, ReadErrorRecord y ClearErrorRecord cuando el complemento llama a la función PshedRegisterPlugin para registrarse con el PSHED. El complemento PSHED también debe establecer la marca PshedFAErrorRecordPersistence en el miembro FunctionalAreaMask de la estructura WHEA_PSHED_PLUGIN_REGISTRATION_PACKET .
El kernel de Windows llama al PSHED para leer un registro de error del almacenamiento de datos persistente del sistema después de reiniciar el sistema después de una condición de error irrecuperable o irrecuperable. Si se registra un complemento PSHED para participar en la persistencia del registro de errores, PSHED llama a la función de devolución de llamada ReadErrorRecord del complemento PSHED para realizar la operación de lectura. El mecanismo que se usa para leer el registro de errores del almacenamiento de datos persistente del sistema es específico de la plataforma.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | ntddk.h (incluya Ntddk.h) |
IRQL | IRQL = DISPATCH_LEVEL |