Reputation: 1
During the Windows login process, I try to activate the screensaver:
ret = SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, state, NULL, 0);
When I use GetLastError()
, it returns 329; I found on MSDN:
If the machine has entered power saving mode or system lock state, an ERROR_OPERATION_IN_PROGRESS exception occurs.
So I change the code:
int loopNum = 10;
do{
ret = SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, state, NULL, 0);
if(!ret){
loginfo("[set_screensave_active] set screensave active status to 1 failed, gle = %d",Getlasterror());
}
Sleep(1000);
}
while(loopNum--);
I'm sure that Windows login takes a short time.
This code is triggered when I login to Windows. Sometimes the error 329 is reported, all 10 times the loop fails!
The logs are as follows:
2022-03-08 08:58:33 [12120/14436] [WARN] [set_screensave_active] set screensave active status to 1 failed, gle 329
2022-03-08 08:58:34 [12120/14436] [WARN] [set_screensave_active] set screensave active status to 1 failed, gle 329
2022-03-08 08:58:35 [12120/14436] [WARN] [set_screensave_active] set screensave active status to 1 failed, gle 329
2022-03-08 08:58:36 [12120/14436] [WARN] [set_screensave_active] set screensave active status to 1 failed, gle 329
2022-03-08 08:58:37 [12120/14436] [WARN] [set_screensave_active] set screensave active status to 1 failed, gle 329
2022-03-08 08:58:38 [12120/14436] [WARN] [set_screensave_active] set screensave active status to 1 failed, gle 329
2022-03-08 08:58:39 [12120/14436] [WARN] [set_screensave_active] set screensave active status to 1 failed, gle 329
2022-03-08 08:58:40 [12120/14436] [WARN] [set_screensave_active] set screensave active status to 1 failed, gle 329
2022-03-08 08:58:41 [12120/14436] [WARN] [set_screensave_active] set screensave active status to 1 failed, gle 329
2022-03-08 08:58:42 [12120/14436] [WARN] [set_screensave_active] set screensave active status to 1 failed, gle 329
In 8:58:33, I began to logon the Win10.And, In 8:58:35, I logined the Win10.The API SystemParametersInfo is called every second for ten seconds. After 8:58:36, the system was not in lock states. But SystemParametersInfo also return error code 329.
Upvotes: 0
Views: 201