Compartilhar via


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

Um plug-in PSHED FinalizeErrorRecord função de retorno de chamada adiciona seções de registro de erro suplementar a um registro de erro que descreve mais completamente a condição de erro.

Sintaxe

PSHED_PI_FINALIZE_ERROR_RECORD PshedPiFinalizeErrorRecord;

NTSTATUS PshedPiFinalizeErrorRecord(
  [in, out, optional] PVOID PluginContext,
  [in]                PWHEA_ERROR_SOURCE_DESCRIPTOR ErrorSource,
  [in]                ULONG BufferLength,
  [in, out]           PWHEA_ERROR_RECORD ErrorRecord
)
{...}

Parâmetros

[in, out, optional] PluginContext

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

[in] ErrorSource

Um ponteiro para uma estrutura de WHEA_ERROR_SOURCE_DESCRIPTOR que descreve a fonte de erro que relatou o erro de hardware.

[in] BufferLength

O tamanho, em bytes, do buffer apontado pelo parâmetro ErrorRecord.

[in, out] ErrorRecord

Um ponteiro para uma estrutura de WHEA_ERROR_RECORD que descreve o registro de erro que está sendo atualizado com seções de registro de erro suplementar.

Valor de retorno

Uma função de retorno de chamada FinalizeErrorRecord 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 atualizado com êxito com as seções de registro de erro suplementar.
STATUS_BUFFER_TOO_SMALL O tamanho do buffer apontado pelo parâmetro ErrorRecord conforme especificado pelo parâmetro BufferLength é muito pequeno para conter o registro de erro se ele for atualizado com as seções de registro de erro suplementar.
STATUS_NOT_SUPPORTED O plug-in PSHED não dá suporte à fonte de erro especificada.
STATUS_UNSUCCESSFUL Ocorreu um erro.

Observações

Um plug-in PSHED que participa da recuperação de informações de erro define os Callbacks.RetrieveErrorInfo, Callbacks.FinalizeErrorRecorde Callbacks.ClearErrorStatus membros da estrutura WHEA_PSHED_PLUGIN_REGISTRATION_PACKET para apontar para sua estrutura RetrieveErrorInfo, FinalizeErrorRecorde clearErrorStatus funções de retorno de chamada quando o plug-in chama a função PshedRegisterPlugin para se registrar no PSHED. O plug-in PSHED também deve definir o sinalizador PshedFAErrorInfoRetrieval no membro FunctionalAreaMask da estrutura WHEA_PSHED_PLUGIN_REGISTRATION_PACKET.

O kernel do Windows chama o PSHED para que ele possa adicionar seções de registro de erro suplementar a um registro de erro. Se um plug-in PSHED for registrado para participar da recuperação de informações de erro, o PSHED chamará o plug-in PSHED FinalizeErrorRecord função de retorno de chamada para que o plug-in PSHED possa adicionar seções de registro de erro adicionais ao registro de erro que descrevam mais completamente a condição de erro.

Um plug-in PSHED deve garantir que ele não adicione seções de registro de erro suplementar além do final do registro de erro. A quantidade de memória alocada pelo kernel do Windows para um buffer para conter um registro de erro específico é calculada a partir do MaxRawDataLength e MaxSectionsPerRecord membros da estrutura WHEA_ERROR_SOURCE_DESCRIPTOR que descreve a fonte de erro que relatou o erro de hardware. Se um plug-in PSHED exigir espaço de buffer adicional para conter as seções de registro de erro complementares que ele adiciona ao registro de erro, ele deverá participar da descoberta da origem do erro e aumentar o valor no MaxSectionsPerRecord membro da estrutura de WHEA_ERROR_SOURCE_DESCRIPTOR para cada fonte de erro, conforme apropriado para considerar as seções de registro de erro suplementar.

Requisitos

Requisito Valor
da Plataforma de Destino Área de trabalho
cabeçalho ntddk.h (inclua Ntddk.h)
IRQL IRQL >= DISPATCH_LEVEL

Consulte também

ClearErrorStatus

PshedRegisterPlugin

RetrieveErrorInfo

WHEA_ERROR_RECORD

WHEA_ERROR_SOURCE_DESCRIPTOR

WHEA_PSHED_PLUGIN_REGISTRATION_PACKET