次の方法で共有


C6381

警告 C6381: Shutdown API <関数> には、有効な dwReason または lpMessage が必要です

この警告は、InitiateSystemShutdownEx が呼び出されたときに生成されます。

  • 有効なシャットダウンの理由 (dwReason) が渡されない場合。dwReason パラメーターが 0 の場合、既定は未定義のシャットダウンになります。既定では、予定外のシャットダウンでもあります。このパラメーターには、システム シャットダウン理由コードの 1 つを使用する必要があります。

  • シャットダウン メッセージ (lpMessage) を渡さない場合。

この API を呼び出してシステム管理者がシャットダウンの原因を特定できるように、適切なパラメーターを使用することをお勧めします。

使用例

次のコードでは、dwReason が 0 で、lpMessage が null であるために、この警告が発生します。

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

この警告を解決するには、次のコードに示すように dwReason および lpMessage を指定します。

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