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