Compartir a través de


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

Consulte también

ClearErrorRecord

PshedRegisterPlugin

WHEA_ERROR_RECORD

WHEA_PSHED_PLUGIN_REGISTRATION_PACKET

WriteErrorRecord