Compartilhar via


C6381

Aviso C6381: API de Desligamento <função> requer um dwReason ou lpMessage válido.

Esse aviso é emitido se InitiateSystemShutdownEx é chamado:

  • Sem passar um motivo válido de desligamento (dwReason).Se o parâmetro de dwReason for zero, a opção é um desligamento indefinido.Por padrão, também é um desligamento não planejadas.Você deve usar um dos códigos da razão de desligamento do sistema para esse parâmetro.

  • Sem difundir uma mensagem de desligamento (lpMessage).

Recomendamos que você use parâmetros adequados ao chamar essa API os administradores do sistema de ajuda determina a causa de desligamento.

Exemplo

O código a seguir gerenciar esse aviso porque o dwReason for nulo e o lpMessage é nulo:

void f()
{
  //...
  BOOL bRet;
  bRet = InitiateSystemShutdownEx( NULL,
                                   NULL, // message
                                   0,        
                                   FALSE,    
                                   TRUE,     
                                   0);  // shutdown reason
  // ...
}

Para corrigir esse aviso, especifique o dwReason e o lpMessage conforme mostrado no seguinte código:

#include <windows.h>
void f()
{
  //...
  BOOL bRet;
  bRet = InitiateSystemShutdownEx( NULL,
                               "Hardware Failure",  // message  
                               0,        
                               FALSE,    
                               TRUE,     
                               SHTDN_REASON_MAJOR_HARDWARE ); // reason
  // ...
}