72b83a079017584dbbfe3e4f9f12d0995fc06a78
[reactos.git] / rostests / apitests / w32knapi / ntuser / NtUserCallOneParam.c
1
2 INT
3 Test_OneParamRoutine_BeginDeferWindowPos(PTESTINFO pti) /* 0x1e */
4 {
5 HDWP hWinPosInfo;
6
7 hWinPosInfo = (HDWP)NtUserCallOneParam(5, 0x1e);
8 TEST(hWinPosInfo != 0);
9 TEST(EndDeferWindowPos(hWinPosInfo) != 0);
10
11 return APISTATUS_NORMAL;
12 }
13
14 INT
15 Test_OneParamRoutine_WindowFromDC(PTESTINFO pti) /* 0x1f */
16 {
17 HDC hDC = GetDC(NULL);
18 HWND hWnd;
19
20 hWnd = (HWND)NtUserCallOneParam((DWORD)hDC, 0x1f);
21 TEST(hWnd != 0);
22 TEST(IsWindow(hWnd));
23 TEST(hWnd == GetDesktopWindow());
24
25 return APISTATUS_NORMAL;
26 }
27
28 INT
29 Test_OneParamRoutine_MapDesktopObject(PTESTINFO pti) /* 0x30 */
30 {
31 DWORD pObject;
32 HWND hWnd;
33 HMENU hMenu;
34
35 hWnd = GetDesktopWindow();
36 pObject = NtUserCallOneParam((DWORD)hWnd, _ONEPARAM_ROUTINE_MAPDEKTOPOBJECT);
37 TEST(pObject > 0);
38 TEST(pObject < 0x80000000);
39
40 hMenu = CreateMenu();
41 pObject = NtUserCallOneParam((DWORD)hMenu, _ONEPARAM_ROUTINE_MAPDEKTOPOBJECT);
42 DestroyMenu(hMenu);
43 TEST(pObject > 0);
44 TEST(pObject < 0x80000000);
45
46 return APISTATUS_NORMAL;
47 }
48
49 INT
50 Test_OneParamRoutine_SwapMouseButtons(PTESTINFO pti) /* 0x42 */
51 {
52 BOOL bInverse;
53
54 NtUserCallOneParam(TRUE, _ONEPARAM_ROUTINE_SWAPMOUSEBUTTON);
55 bInverse = (BOOL)NtUserCallOneParam(FALSE, _ONEPARAM_ROUTINE_SWAPMOUSEBUTTON);
56 TEST(bInverse == TRUE);
57 bInverse = (BOOL)NtUserCallOneParam(FALSE, _ONEPARAM_ROUTINE_SWAPMOUSEBUTTON);
58 TEST(bInverse == FALSE);
59
60 // TODO: test other values
61 return APISTATUS_NORMAL;
62 }
63
64 INT
65 Test_NtUserCallOneParam(PTESTINFO pti)
66 {
67 Test_OneParamRoutine_BeginDeferWindowPos(pti); /* 0x1e */
68 Test_OneParamRoutine_WindowFromDC(pti); /* 0x1f */
69 Test_OneParamRoutine_MapDesktopObject(pti); /* 0x30 */
70
71 Test_OneParamRoutine_SwapMouseButtons(pti); /* 0x42 */
72
73 return APISTATUS_NORMAL;
74 }