Partilhar via


Registos de erros

A arquitetura de erro de hardware do Windows (WHEA) usa um formato de registro de erro padrão para representar todos os erros de hardware da plataforma. Como resultado, o firmware do sistema, o sistema operacional Windows e os aplicativos de modo de usuário podem projetar mecanismos de relatório e recuperação de erros de hardware baseados no mesmo formato de registro de erro.

O formato dos registos de erro utilizados pelo WHEA baseia-se no Common Platform Error Record (CPER), conforme descrito no Apêndice N da versão 2.2 da Unified Extensible Firmware Interface (UEFI) Specification.

O diagrama a seguir mostra o formato geral de um registro de erro.

diagrama que ilustra o formato geral de um registo de erro.

Um registro de erro consiste em um cabeçalho de registro de erro seguido por um ou mais descritores de seção de registro de erro de comprimento fixo. Para cada descritor de seção de registro de erro, há uma seção de registro de erro de comprimento variável associada que contém dados de erro ou dados informativos. Um registro de erro deve conter pelo menos uma seção de registro de erro.

Um registro de erro pode incluir espaço de buffer extra para a adição dinâmica de seções de registro de erro e descritores de seção. O espaço de buffer extra também pode ser usado para aumentar dinamicamente o tamanho das seções de registro de erro existentes.

Um registro de erro é descrito por uma estrutura WHEA_ERROR_RECORD, o cabeçalho do registro de erro é descrito por uma estrutura WHEA_ERROR_RECORD_HEADER e os descritores da seção de registro de erro são descritos por uma estrutura WHEA_ERROR_RECORD_SECTION_DESCRIPTOR.

Cada seção de registro de erro pode ser um dos seguintes tipos de seção:

Pacote de erro de hardware
Esta seção de registro de erro contém o pacote de erro de hardware que foi passado para o sistema operacional pelo manipulador de erros de hardware de baixo nível (LLHEH) que relatou o erro. Os dados contidos nesta seção são descritos pela estrutura WHEA_ERROR_PACKET.

Erro de processador genérico
Esta seção de registro de erro contém dados de erro do processador que não são específicos de uma arquitetura de processador específica. Os dados contidos nesta secção são descritos pela estrutura WHEA_PROCESSOR_GENERIC_ERROR_SECTION.

Erro do processador x86/x64
Esta seção de registro de erro contém dados de erro do processador específicos para a arquitetura do processador x86 ou x64. Os dados contidos nesta seção são descritos pela estrutura WHEA_XPF_PROCESSOR_ERROR_SECTION. O diagrama a seguir mostra como as estruturas de dados que contêm os dados de erro do processador são armazenadas no membro VariableInfo.

Dados de erro do processador.

Erro do processador Itanium
Esta seção de registro de erro contém dados de erro do processador específicos para a arquitetura do processador Itanium. Para obter mais informações sobre o formato dos dados de erro contidos nesta seção de registro de erro, consulte a Especificação da camada de abstração do sistema da família de processadores Intel Itanium.

Referência de registro de erro de firmware do processador Itanium
Esta seção de registro de erro contém uma referência a um registro de erro de firmware específico para a arquitetura do processador Itanium. Esta secção de registo de erro é descrita por uma estrutura WHEA_FIRMWARE_ERROR_RECORD_REFERENCE.

Erro de memória da plataforma
Esta seção de registro de erro contém dados de erro de memória da plataforma. Os dados contidos nesta seção são descritos pela estrutura WHEA_MEMORY_ERROR_SECTION.

Interrupção não mascarável
Esta seção de registro de erro contém dados de interrupção não mascarável (NMI). Os dados contidos nesta seção são descritos pela estrutura WHEA_NMI_ERROR_SECTION.

Erro PCI Express
Esta seção de registro de erro contém dados de erro PCI Express. Os dados contidos nesta seção são descritos pela estrutura WHEA_PCIEXPRESS_ERROR_SECTION.

Erro de barramento PCI/PCI-X
Esta seção de registro de erro contém dados de erro de barramento PCI/PCI-X. Os dados contidos nesta seção são descritos pela estrutura WHEA_PCIXBUS_ERROR_SECTION.

Erro de dispositivo PCI /PCI-X
Esta seção de registro de erro contém dados de erro do dispositivo PCI/PCI-X. Os dados contidos nesta seção são descritos pela estrutura WHEA_PCIXDEVICE_ERROR_SECTION.

Para dados de erro de hardware adicionais que não se encaixam em um dos tipos de seção na lista anterior, uma seção de registro de erro específica da plataforma pode ser definida para conter os dados. Para cada tipo de seção de registro de erro específica da plataforma que é definida, um GUID correspondente que identifica o tipo da seção de registro de erro deve ser definido. Esse GUID é especificado no membro SectionType de qualquer estrutura WHEA_ERROR_RECORD_SECTION_DESCRIPTOR que descreva aquele tipo de registro de erro.

Se houver dados de erro de hardware adicionais que não se encaixam em um dos tipos de seção na lista anterior ou em uma seção de registro de erro específica da plataforma definida, uma seção de registro de erro genérica será usada para conter os dados.