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 |