PSHED_PI_FINALIZE_ERROR_RECORD função de retorno de chamada (ntddk.h)
A função de retorno de chamada FinalizeErrorRecord de um plug-in PSHED adiciona seções de registro de erro suplementares 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 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] ErrorSource
Um ponteiro para uma estrutura WHEA_ERROR_SOURCE_DESCRIPTOR que descreve a origem do 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 WHEA_ERROR_RECORD que descreve o registro de erro que está sendo atualizado com seções de registro de erro suplementar.
Retornar valor
A 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 qualquer seção 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 à origem de erro especificada. |
STATUS_UNSUCCESSFUL | Ocorreu um erro. |
Comentários
Um plug-in PSHED que participa da recuperação de informações de erro define o Callbacks.RetrieveErrorInfo, Os membros Callbacks.FinalizeErrorRecord e Callbacks.ClearErrorStatus da estrutura WHEA_PSHED_PLUGIN_REGISTRATION_PACKET para apontar para suas funções de retorno de chamada RetrieveErrorInfo, FinalizeErrorRecord e ClearErrorStatus 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 suplementares a um registro de erro. Se um plug-in PSHED estiver registrado para participar da recuperação de informações de erro, o PSHED chamará a função de retorno de chamada FinalizeErrorRecord do plug-in PSHED 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 suplementares além do final do registro de erro. A quantidade de memória alocada pelo kernel do Windows para que um buffer contenha um registro de erro específico é calculada com base nos membros MaxRawDataLength e MaxSectionsPerRecord da estrutura WHEA_ERROR_SOURCE_DESCRIPTOR que descreve a origem do 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 suplementares que ele adiciona ao registro de erro, ele deverá participar da descoberta de origem de erro e aumentar o valor no membro MaxSectionsPerRecord da estrutura WHEA_ERROR_SOURCE_DESCRIPTOR para cada fonte de erro, conforme apropriado, para considerar quaisquer seções de registro de erro suplementar.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | ntddk.h (inclua Ntddk.h) |
IRQL | IRQL >= DISPATCH_LEVEL |