C++ SetSuspendState()挂断,为什么?

C++ SetSuspendState()挂断,为什么?,c++,winapi,sleep,freeze,logoff,C++,Winapi,Sleep,Freeze,Logoff,我想知道为什么会发生以下情况 我需要注销用户,然后让计算机进入睡眠状态。我执行以下操作(C++/WinAPI): (从本地系统服务调用以下命令): 但是,当我在Windows Vista上运行此代码时,SetSuspendState()会挂起并且永远不会返回。同时,系统也不会进入睡眠模式。您的进程是否具有SE\u SHUTDOWN\u NAME权限?是。但即使它没有,SetSuspendState也不应该挂断,是吗? WTSLogoffSession(WTS_CURRENT_SERVER_HAN

我想知道为什么会发生以下情况

我需要注销用户,然后让计算机进入睡眠状态。我执行以下操作(C++/WinAPI):

(从本地系统服务调用以下命令):


但是,当我在Windows Vista上运行此代码时,SetSuspendState()会挂起并且永远不会返回。同时,系统也不会进入睡眠模式。

您的进程是否具有
SE\u SHUTDOWN\u NAME
权限?是。但即使它没有,SetSuspendState也不应该挂断,是吗?
WTSLogoffSession(WTS_CURRENT_SERVER_HANDLE, dwUserSessionID, TRUE);
SetSuspendState(FALSE, TRUE, FALSE);