C6381
更新:2007 年 11 月
警告 C6381: 關閉 API <function> 需要有效的 dwReason 或 lpMessage
如果呼叫 InitiateSystemShutdownEx,就會發出這個警告:
未傳遞有效的關機理由 (dwReason)。如果 dwReason 參數是零,則預設值是未定義的關機。依照預設,它也會是不在計劃中的關機。您應使用這個參數的其中一個「系統關機理由代碼」。
未傳遞關機訊息 (lpMessage)。
建議您在呼叫這個 API 以協助系統管理員判定關機原因時,使用適當的參數。
範例
下列程式碼會因為 dwReason 為零且 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
// ...
}