Partilhar via


C6381

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

Esse aviso é emitido se InitiateSystemShutdownEx for chamado:

  • Sem passar uma razão de desligado válido (dwReason).Se o parâmetro de dwReason for zero, o padrão é um desligado não definido.Por padrão, também é um desligado não planejado.Você deve usar um dos códigos de razão desligado sistema para este parâmetro.

  • Sem passar uma mensagem de desligado (lpMessage).

Recomendamos que você use parâmetros apropriados ao chamar essa API para ajudar os administradores de sistema a determinar a causa do desligado.

Exemplo

O código a seguir gera este aviso porque dwReason é zero e lpMessage é nula:

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

Para corrigir esse aviso, especifique dwReason e lpMessage sistema autônomo mostra o código a seguir:

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