C6381
Avertissement C6381 : l'API de fermeture <fonction> exige un dwReason ou lpMessage valide
Cet avertissement s'affiche si InitiateSystemShutdownEx est appelé :
sans passer une raison de fermeture valide (dwReason). Si le paramètre dwReason a la valeur zéro, la valeur par défaut est une fermeture non définie. Par défaut, elle correspond également à une fermeture non planifiée. Vous devez utiliser l'un des codes de raison de fermeture du système pour ce paramètre ;
sans passer un message de fermeture (lpMessage).
Nous vous recommandons d'utiliser des paramètres appropriés lors de l'appel à cette API pour aider les administrateurs système à déterminer la cause de la fermeture.
Exemple
Le code suivant génère cet avertissement car dwReason a la valeur zéro et lpMessage a la valeur null :
void f()
{
//...
BOOL bRet;
bRet = InitiateSystemShutdownEx( NULL,
NULL, // message
0,
FALSE,
TRUE,
0); // shutdown reason
// ...
}
Pour corriger cet avertissement, spécifiez dwReason et lpMessage, comme indiqué dans le code suivant :
#include <windows.h>
void f()
{
//...
BOOL bRet;
bRet = InitiateSystemShutdownEx( NULL,
"Hardware Failure", // message
0,
FALSE,
TRUE,
SHTDN_REASON_MAJOR_HARDWARE ); // reason
// ...
}