C6381
警告 C6381:Shutdown 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
// ...
}