C6381C6381

Avertissement C6381 : l’API de fermeture <fonction > exige un dwReason ou le lpMessage validewarning C6381: Shutdown API <function> requires a valid dwReason or lpMessage

Cet avertissement est émis si InitiateSystemShutdownEx est appelé :This warning is issued if InitiateSystemShutdownEx is called:

  • Sans passer une raison de fermeture valide (dwReason).Without passing a valid shutdown reason (dwReason). Si le paramètre dwReason est zéro, la valeur par défaut est une fermeture non définie.If dwReason parameter is zero, the default is an undefined shutdown. Par défaut, il est également un arrêt non planifié.By default, it is also an unplanned shutdown. Vous devez utiliser un des Codes de raison de l’arrêt système pour ce paramètre.You should use one of the System Shutdown Reason Codes for this parameter.

  • Sans passer un message d’arrêt (lpMessage).Without passing a shutdown message (lpMessage).

    Nous vous recommandons d’utiliser les paramètres appropriés lors de l’appel de cette API pour aider les administrateurs système à déterminer la cause de l’arrêt.We recommend that you use appropriate parameters when calling this API to help system administrators determine the cause of the shutdown.

ExempleExample

Le code suivant génère cet avertissement car dwReason est égal à zéro et lpMessage a la valeur null :The following code generates this warning because dwReason is zero and lpMessage is 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 :To correct this warning, specify dwReason and lpMessage as shown in the following code:

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