Freigeben über


C6381

C6381

Warnung C6381: Zum Herunterfahren der API <Funktion> ist ein gültiges dwReason oder lpMessage erforderlich.

Diese Warnung wird ausgegeben, wenn InitiateSystemShutdownEx in folgenden Situationen aufgerufen wird:

  • Ohne Übergabe eines gültigen Grunds für das Herunterfahren (dwReason). Wenn der dwReason-Parameter 0 (null) ist, ist standardmäßig kein Grund für das Herunterfahren definiert. Standardmäßig ist dies auch ein ungeplantes Herunterfahren. Sie sollten für diesen Parameter einen der Ursachencodes für das Herunterfahren des Systems verwenden.

  • Ohne Übergabe einer Meldung über das Herunterfahren (lpMessage) zu übergeben.

Es empfiehlt sich, beim Aufrufen dieser API geeignete Parameter zu verwenden, damit Systemadministratoren den Grund für das Herunterfahren ermitteln können.

Beispiel

Im folgenden Code wird diese Warnung generiert, da dwReason 0 (null) und lpMessage NULL ist:

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

Um diese Warnung zu korrigieren, geben Sie dwReason und lpMessage an, wie im folgenden Code gezeigt:

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