PSHED_PI_READ_ERROR_RECORD función de devolución de llamada (ntddk.h)
Un complemento PSHED ReadErrorRecord función de devolución de llamada 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 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 un registro de error almacenado en el almacenamiento de datos persistente del sistema que coincida con este identificador, el readErrorRecord función de devolución de llamada 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, el ReadErrorRecord función de devolución de llamada 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, el ReadErrorRecord función de devolución de llamada establece esta variable en el tamaño, en bytes, que es 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
Un complemento PSHED ReadErrorRecord 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 leyó correctamente del 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 | Error. |
Observaciones
Un complemento PSHED que participa en la persistencia del registro de errores establece los Callbacks.WriteErrorRecord, Callbacks.ReadErrorRecord y Callbacks.ClearErrorRecord miembros de la estructura de WHEA_PSHED_PLUGIN_REGISTRATION_PACKET para que apunten a su WriteErrorRecord, ReadErrorRecord, y ClearErrorRecord 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 PshedFAErrorRecordPersistence en el miembro FunctionalAreaMask de la estructura WHEA_PSHED_PLUGIN_REGISTRATION_PACKET.
El kernel de Windows llama a 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 al complemento PSHED ReadErrorRecord función de devolución de llamada 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 | Valor |
---|---|
de la plataforma de destino de | Escritorio |
encabezado de | ntddk.h (incluya Ntddk.h) |
irQL | IRQL = DISPATCH_LEVEL |