Compartilhar via


PSHED_PI_READ_ERROR_RECORD função de retorno de chamada (ntddk.h)

A função de retorno de chamada ReadErrorRecord de um plug-in PSHED lê um registro de erro do armazenamento de dados persistente do sistema.

Sintaxe

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

Um ponteiro para a área de contexto que foi especificada no membro Context da estrutura WHEA_PSHED_PLUGIN_REGISTRATION_PACKET quando o plug-in PSHED chamou a função PshedRegisterPlugin para se registrar no PSHED.

[in] Flags

Uma combinação or'ed bit-wise de sinalizadores que afetam a operação de leitura. Nenhum sinalizador está definido no momento.

[in] ErrorRecordId

O identificador do registro de erro a ser lido do armazenamento de dados persistente do sistema. Se não houver um registro de erro armazenado no armazenamento de dados persistente do sistema que corresponda a esse identificador, a função de retorno de chamada ReadErrorRecord deverá retornar STATUS_OBJECT_NOT_FOUND.

[out] NextErrorRecordId

Um ponteiro para uma variável do tipo ULONGLONG que recebe o identificador do próximo registro de erro armazenado no armazenamento de dados persistente do sistema. Se não houver outros registros de erro armazenados no armazenamento de dados persistente do sistema, o identificador do registro de erro que está sendo lido no momento deverá ser retornado nesse parâmetro.

[in, out] RecordLength

Um ponteiro para uma variável do tipo ULONG que contém o tamanho, em bytes, do buffer apontado pelo parâmetro ErrorRecord . Se o tamanho do buffer for grande o suficiente para conter o registro de erro que está sendo lido, a função de retorno de chamada ReadErrorRecord definirá essa variável como o tamanho, em bytes, do registro de erro retornado no buffer. No entanto, se o tamanho do buffer for muito pequeno para conter o registro de erro que está sendo lido, a função de retorno de chamada ReadErrorRecord definirá essa variável como o tamanho, em bytes, necessário para conter o registro de erro. Nessa situação, a função de retorno de chamada ReadErrorRecord deve retornar STATUS_BUFFER_TOO_SMALL.

[out] ErrorRecord

Um ponteiro para um buffer que recebe o registro de erro lido do armazenamento de dados persistente do sistema.

Retornar valor

A função de retorno de chamada ReadErrorRecord de um plug-in PSHED retorna um dos seguintes códigos NTSTATUS:

Código de retorno Descrição
STATUS_SUCCESS O registro de erro foi lido com êxito do armazenamento de dados persistente do sistema.
STATUS_OBJECT_NOT_FOUND Não há nenhum registro de erro no armazenamento de dados persistente do sistema que corresponda ao identificador especificado no parâmetro ErrorRecordId .
STATUS_BUFFER_TOO_SMALL O tamanho do buffer é muito pequeno para conter o registro de erro que está sendo lido.
STATUS_UNSUCCESSFUL Ocorreu um erro.

Comentários

Um plug-in PSHED que participa da persistência de registro de erro define o Callbacks.WriteErrorRecord, Os membros Callbacks.ReadErrorRecord e Callbacks.ClearErrorRecord da estrutura WHEA_PSHED_PLUGIN_REGISTRATION_PACKET para apontar para suas funções de retorno de chamada WriteErrorRecord, ReadErrorRecord e ClearErrorRecord quando o plug-in chama a função PshedRegisterPlugin para se registrar no PSHED. O plug-in PSHED também deve definir o sinalizador PshedFAErrorRecordPersistence no membro FunctionalAreaMask da estrutura WHEA_PSHED_PLUGIN_REGISTRATION_PACKET .

O kernel do Windows chama o PSHED para ler um registro de erro do armazenamento de dados persistente do sistema depois que o sistema é reiniciado após uma condição de erro fatal ou irrecuperável. Se um plug-in PSHED estiver registrado para participar da persistência de registro de erro, o PSHED chamará a função de retorno de chamada ReadErrorRecord do plug-in PSHED para executar a operação de leitura. O mecanismo usado para ler o registro de erro do armazenamento de dados persistente do sistema é específico da plataforma.

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho ntddk.h (inclua Ntddk.h)
IRQL IRQL = DISPATCH_LEVEL

Confira também

ClearErrorRecord

PshedRegisterPlugin

WHEA_ERROR_RECORD

WHEA_PSHED_PLUGIN_REGISTRATION_PACKET

WriteErrorRecord