Códigos de motivo de desligamento do sistema

Os códigos de motivo de desligamento são usados pelas funções ExitWindowsEx e InitiateSystemShutdownEx no parâmetro dwReason .

No máximo MAX_NUM_REASONS códigos de motivo serão processados pelo sistema. MAX_NUM_REASONS é definido em reason.h.

Veja a seguir os principais sinalizadores de motivo. Eles indicam o tipo de problema geral.

Constante/valor Descrição
SHTDN_REASON_MAJOR_APPLICATION
0x00040000
Problema do aplicativo.
SHTDN_REASON_MAJOR_HARDWARE
0x00010000
Problema de hardware.
SHTDN_REASON_MAJOR_LEGACY_API
0x00070000
A função InitiateSystemShutdown foi usada em vez de InitiateSystemShutdownEx.
SHTDN_REASON_MAJOR_OPERATINGSYSTEM
0x00020000
Problema do sistema operacional.
SHTDN_REASON_MAJOR_OTHER
0x00000000
Outro problema.
SHTDN_REASON_MAJOR_POWER
0x00060000
Falha de energia.
SHTDN_REASON_MAJOR_SOFTWARE
0x00030000
Problema de software.
SHTDN_REASON_MAJOR_SYSTEM
0x00050000
Falha do sistema.

Veja a seguir os sinalizadores de motivo secundário. Eles modificam o sinalizador de motivo principal especificado. Você pode usar qualquer motivo secundário em conjunto com qualquer motivo importante, mas algumas combinações não fazem sentido.

Constante/valor Descrição
SHTDN_REASON_MINOR_BLUESCREEN
0x0000000F
Evento de falha de tela azul.
SHTDN_REASON_MINOR_CORDUNPLUGGED
0x0000000b
Desconectado.
SHTDN_REASON_MINOR_DISK
0x00000007
Disk.
SHTDN_REASON_MINOR_ENVIRONMENT
0x0000000c
Ambiente.
SHTDN_REASON_MINOR_HARDWARE_DRIVER
0x0000000d
Driver.
SHTDN_REASON_MINOR_HOTFIX
0x00000011
Correção frequente.
SHTDN_REASON_MINOR_HOTFIX_UNINSTALL
0x00000017
Desinstalação de correção frequente.
SHTDN_REASON_MINOR_HUNG
0x00000005
Responder.
SHTDN_REASON_MINOR_INSTALLATION
0x00000002
Instalação.
SHTDN_REASON_MINOR_MAINTENANCE
0x00000001
Manutenção.
SHTDN_REASON_MINOR_MMC
0x00000019
Problema do MMC.
SHTDN_REASON_MINOR_NETWORK_CONNECTIVITY
0x00000014
Conectividade de rede.
SHTDN_REASON_MINOR_NETWORKCARD
0x00000009
Cartão de rede.
SHTDN_REASON_MINOR_OTHER
0x00000000
Outro problema.
SHTDN_REASON_MINOR_OTHERDRIVER
0x0000000e
Outro evento de driver.
SHTDN_REASON_MINOR_POWER_SUPPLY
0x0000000a
Alimentação.
SHTDN_REASON_MINOR_PROCESSOR
0x00000008
Processador.
SHTDN_REASON_MINOR_RECONFIG
0x00000004
Reconfigurar.
SHTDN_REASON_MINOR_SECURITY
0x00000013
Problema de segurança.
SHTDN_REASON_MINOR_SECURITYFIX
0x00000012
Patch de segurança.
SHTDN_REASON_MINOR_SECURITYFIX_UNINSTALL
0x00000018
Desinstalação de patch de segurança.
SHTDN_REASON_MINOR_SERVICEPACK
0x00000010
Service pack.
SHTDN_REASON_MINOR_SERVICEPACK_UNINSTALL
0x00000016
Desinstalação do service pack.
SHTDN_REASON_MINOR_TERMSRV
0x00000020
Serviços de Terminal.
SHTDN_REASON_MINOR_UNSTABLE
0x00000006
Instável.
SHTDN_REASON_MINOR_UPGRADE
0x00000003
Atualização.
SHTDN_REASON_MINOR_WMI
0x00000015
Problema do WMI.

Os sinalizadores opcionais a seguir fornecem informações adicionais sobre o evento.

Constante/valor Descrição
SHTDN_REASON_FLAG_USER_DEFINED
0x40000000
O código de motivo é definido pelo usuário. Para obter mais informações, consulte Definindo um código de motivo personalizado.
Se esse sinalizador não estiver presente, o código de motivo será definido pelo sistema.
SHTDN_REASON_FLAG_PLANNED
0x80000000
O desligamento foi planejado. O sistema gera um arquivo SSD (Dados de Estado do Sistema). Esse arquivo contém informações de estado do sistema, como processos, threads, uso de memória e configuração.
Se esse sinalizador não estiver presente, o desligamento não foi planejado. As opções de notificação e relatório são controladas por um conjunto de políticas. Por exemplo, depois de fazer logon, o sistema exibe uma caixa de diálogo relatando o desligamento não planejado se a política tiver sido habilitada. Um arquivo SSD será criado somente se a política SSD estiver habilitada no sistema. O administrador pode usar Relatório de Erros do Windows para enviar os dados SSD para um local central ou para a Microsoft.

Comentários

As combinações a seguir são reconhecidas pelo sistema. A tabela indica a cadeia de caracteres exibida no Rastreador de Eventos de Desligamento e fornece uma descrição mais detalhada. A cadeia de caracteres padrão é "Nenhum título por esse motivo pode ser encontrado".

Combinação Descrição
SHTDN_REASON_MAJOR_APPLICATION | SHTDN_REASON_MINOR_HUNG "Aplicativo: sem resposta" Uma reinicialização ou desligamento não planejado para solucionar problemas de um aplicativo sem resposta.
SHTDN_REASON_MAJOR_APPLICATION | SHTDN_REASON_MINOR_INSTALLATION | SHTDN_REASON_FLAG_PLANNED "Aplicativo: Instalação (Planejado)" Uma reinicialização ou desligamento planejado para executar a instalação do aplicativo.
SHTDN_REASON_MAJOR_APPLICATION | SHTDN_REASON_MINOR_MAINTENANCE "Aplicativo: manutenção (não planejado)" Uma reinicialização ou desligamento não planejado para atender a um aplicativo.
SHTDN_REASON_MAJOR_APPLICATION | SHTDN_REASON_MINOR_MAINTENANCE | SHTDN_REASON_FLAG_PLANNED "Aplicativo: Manutenção (Planejado)" Uma reinicialização ou desligamento planejado para executar a manutenção planejada em um aplicativo.
SHTDN_REASON_MAJOR_APPLICATION | SHTDN_REASON_MINOR_UNSTABLE "Aplicativo: Instável" Uma reinicialização ou desligamento não planejado para solucionar problemas de um aplicativo instável.
SHTDN_REASON_MAJOR_HARDWARE | SHTDN_REASON_MINOR_INSTALLATION "Hardware: Instalação (não planejado)" Uma reinicialização ou desligamento não planejado para iniciar ou concluir a instalação de hardware.
SHTDN_REASON_MAJOR_HARDWARE | SHTDN_REASON_MINOR_INSTALLATION | SHTDN_REASON_FLAG_PLANNED "Hardware: Instalação (Planejada)" Uma reinicialização ou desligamento planejado para iniciar ou concluir a instalação de hardware.
SHTDN_REASON_MAJOR_HARDWARE | SHTDN_REASON_MINOR_MAINTENANCE "Hardware: Manutenção (não planejado)" Uma reinicialização ou desligamento não planejado para o hardware de serviço no sistema.
SHTDN_REASON_MAJOR_HARDWARE | SHTDN_REASON_MINOR_MAINTENANCE | SHTDN_REASON_FLAG_PLANNED "Hardware: Manutenção (Planejado)" Uma reinicialização planejada ou desligamento do hardware de serviço no sistema.
SHTDN_REASON_MAJOR_LEGACY_API "Desligamento da API herdada" Esse desligamento foi iniciado pela função InitiateSystemShutdown herdada. Os aplicativos devem usar a função InitiateSystemShutdownEx .
SHTDN_REASON_MAJOR_OPERATINGSYSTEM | SHTDN_REASON_MINOR_HOTFIX "Sistema operacional: correção dinâmica (não planejada)" Uma reinicialização ou desligamento não planejado para instalar uma correção frequente.
SHTDN_REASON_MAJOR_OPERATINGSYSTEM | SHTDN_REASON_MINOR_HOTFIX | SHTDN_REASON_FLAG_PLANNED "Sistema operacional: correção dinâmica (planejada)" Uma reinicialização planejada ou desligamento para instalar uma correção frequente.
SHTDN_REASON_MAJOR_OPERATINGSYSTEM | SHTDN_REASON_MINOR_RECONFIG "Sistema operacional: reconfiguração (não planejado)" Uma reinicialização ou desligamento não planejado para alterar a configuração do sistema operacional.
SHTDN_REASON_MAJOR_OPERATINGSYSTEM | SHTDN_REASON_MINOR_RECONFIG | SHTDN_REASON_FLAG_PLANNED "Sistema Operacional: Reconfiguração (Planejado)" Uma reinicialização ou desligamento planejado para alterar a configuração do sistema operacional.
SHTDN_REASON_MAJOR_OPERATINGSYSTEM | SHTDN_REASON_MINOR_SECURITYFIX "Sistema operacional: correção de segurança (não planejada)" Uma reinicialização ou desligamento não planejado para instalar um patch de segurança.
SHTDN_REASON_MAJOR_OPERATINGSYSTEM | SHTDN_REASON_MINOR_SECURITYFIX | SHTDN_REASON_FLAG_PLANNED "Sistema operacional: correção de segurança (planejado)" Uma reinicialização ou desligamento planejado para instalar um patch de segurança.
SHTDN_REASON_MAJOR_OPERATINGSYSTEM | SHTDN_REASON_MINOR_SERVICEPACK | SHTDN_REASON_FLAG_PLANNED "Sistema Operacional: Service pack (Planejado)" Uma reinicialização ou desligamento planejado para instalar um service pack.
SHTDN_REASON_MAJOR_OPERATINGSYSTEM | SHTDN_REASON_MINOR_UPGRADE | SHTDN_REASON_FLAG_PLANNED "Sistema operacional: atualização (planejado)" Uma reinicialização ou desligamento planejado para atualizar a configuração do sistema operacional.
SHTDN_REASON_MAJOR_OTHER | SHTDN_REASON_MINOR_OTHER "Outro (não planejado)" Um desligamento ou reinicialização não planejado.
SHTDN_REASON_MAJOR_OTHER | SHTDN_REASON_MINOR_OTHER | SHTDN_REASON_FLAG_PLANNED "Outros (Planejado)" Um desligamento ou reinicialização planejado.
SHTDN_REASON_MAJOR_OTHER | SHTDN_REASON_MINOR_HUNG "Outra falha: sistema sem resposta" O sistema ficou sem resposta.
SHTDN_REASON_MAJOR_POWER | SHTDN_REASON_MINOR_CORDUNPLUGGED "Falha de energia: cabo desconectado" O computador estava desconectado.
SHTDN_REASON_MAJOR_POWER | SHTDN_REASON_MINOR_ENVIRONMENT "Falha de energia: ambiente" Houve uma queda de energia.
SHTDN_REASON_MAJOR_SYSTEM | SHTDN_REASON_MINOR_BLUESCREEN "Falha do sistema: erro de parada" O computador exibiu um evento de falha na tela azul.
SHTDN_REASON_MAJOR_SYSTEM | SHTDN_REASON_MINOR_NETWORK_CONNECTIVITY "Perda de conectividade de rede (não planejada)" O computador precisa ser desligado devido a um problema de conectividade de rede.
SHTDN_REASON_MAJOR_SYSTEM | SHTDN_REASON_MINOR_SECURITY "Problema de segurança" O computador precisa ser desligado devido a um problema de segurança.

 

Você também pode definir seus próprios motivos de desligamento e adicioná-los ao registro. Cada código de motivo deve ser armazenado como um valor do Registro na seguinte chave:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Reliability\UserDefined\<default_system_language_ID>

Essa chave contém nomes de valor do seguinte formulário: xxxxx; nnn; nnnnn. Os ponto e vírgula delimitam os componentes de um nome de valor.

Xxxxx

Um a cinco dos sinalizadores de controle a seguir (nenhum outro caractere pode ser usado).

Sinalizador Descrição
P Desligamento planejado; caso contrário, um desligamento não planejado.
C Um comentário é necessário. Esse sinalizador deve ser usado com S.
B Uma ID é necessária. Esse sinalizador deve ser usado com D.
S Exibir a caixa de diálogo de desligamento esperada. S, D ou S e D devem ser usados.
D Exibe a caixa de diálogo desligamento inesperado. S, D ou S e D devem ser usados.

 

A ordem na qual os sinalizadores são usados não é importante. Por exemplo, CSP indica um desligamento planejado em que a caixa de diálogo de desligamento esperada é exibida e um comentário é necessário.

Nnn

O principal motivo. Esse componente deve ser um número no intervalo de 64 a 255. O intervalo de 0 a 63 é reservado para uso pelo sistema.

Nnnnn

Uma razão menor. Esse componente deve estar no intervalo de 0 a 65535.

Os motivos personalizados são classificados na interface do usuário pelo número principal do motivo e, em seguida, pelo número de motivo secundário. Nenhum motivo personalizado pode usar os mesmos motivos principais e menores, a menos que um seja planejado e o outro não seja planejado. Caso contrário, o sistema usará a primeira instância e ignorará as outras.

Os dados de cada valor do Registro são duas cadeias de caracteres, separadas por \n\r. A primeira cadeia de caracteres é uma cadeia de caracteres de título a ser exibida na caixa de diálogo desligamento e gravada no log de eventos. O tamanho máximo é de 64 caracteres. As cadeias de caracteres de título devem ser exclusivas. Os títulos personalizados não podem corresponder aos títulos padrão definidos pelo sistema ou a outro título personalizado. A segunda cadeia de caracteres é uma cadeia de caracteres de descrição a ser exibida na caixa de diálogo desligamento; é opcional. O tamanho máximo é de 256 caracteres.

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows XP [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte
Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP]
Cabeçalho
Reason.h