次の方法で共有


警告 C6381

Shutdown API 'function' には有効な dwReason または lpMessage が必要です

解説

この警告は、次の場合 InitiateSystemShutdownEx に発行されます。

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

  • シャットダウン メッセージを渡さずに (lpMessage)。

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

コード分析名: SHUTDOWN_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
  // ...
}