On Thu, Apr 26, 2018 at 1:13 PM Alexandre Julliard julliard@winehq.org wrote:
Alex Henrie alexhenrie24@gmail.com writes:
@@ -266,8 +228,10 @@ static void test_noprivileges(void) recips = BSM_ALLDESKTOPS; ResetEvent(hevent); ret = BroadcastSystemMessageExW( BSF_QUERY, &recips, WM_NULL, 100,
0, NULL );
- ok(ret==1, "Returned: %d error %u\n", ret, GetLastError());
- ok(WaitForSingleObject(hevent, 0) != WAIT_TIMEOUT, "Asynchronous
message sent instead\n");
- ok((ret == 1 && WaitForSingleObject(hevent, 0) != WAIT_TIMEOUT) ||
(ret == 0 && WaitForSingleObject(hevent, 1000) == WAIT_TIMEOUT)
/* win10 */,
"Asynchronous message sent instead of synchronous message or no
message. Returned: %d error %08x\n",
ret, GetLastError());
These still look like hiding the problem. Why are these calls failing?
Lack of privileges. The test_noprivileges function calls AdjustTokenPrivileges to disable all privileges, then verifies that BroadcastSystemMessage can no longer send a message to BSM_ALLDESKTOPS, BSM_ALLCOMPONENTS, or BSM_APPLICATIONS.
If I understand correctly, before Windows 10 BroadcastSystemMessage would still send the message to the current application. In Windows 10, BroadcastSystemMessage does not send the message at all.
-Alex