Sdílet prostřednictvím


C6381

upozornění C6381: vypnutí rozhraní API <function> vyžaduje platný dwReason nebo lpMessage

Toto upozornění je vydán, pokud se nazývá InitiateSystemShutdownEx:

  • Bez průchodu důvod vypnutí platné (dwReason).Pokud dwReason parametr nulový, výchozí hodnota je undefined vypnutí.Ve výchozím nastavení je také neplánované vypnutí systému.Pro tento parametr byste použít jeden z kódů důvodu vypnutí systému.

  • Bez průchodu zprávy shutdown (lpMessage).

Doporučujeme používat příslušné parametry při volání tohoto rozhraní API správcům systému zjistit příčinu vypnutí počítače.

Příklad

Následující kód vygeneruje toto varování, protože dwReason je nula a lpMessage má hodnotu null:

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

Chcete-li opravit toto varování, zadejte dwReason a lpMessage, jak je znázorněno v následujícím kódu:

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