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
// ...
}