[WIN32KNT_APITEST]: -Make sure that NtUserUnregisterClass works when it gets the...
[reactos.git] / rostests / apitests / win32nt / ntuser / NtUserEnumDisplayMonitors.c
1 /*
2 * PROJECT: ReactOS api tests
3 * LICENSE: GPL - See COPYING in the top level directory
4 * PURPOSE: Test for NtUserEnumDisplayMonitors
5 * PROGRAMMERS:
6 */
7
8 #include <win32nt.h>
9
10 ULONG gMonitorCount = 0;
11 HDC ghdcMonitor = 0;
12 RECT grcMonitor = {0};
13
14 BOOL
15 NTAPI
16 NtUserEnumDisplayMonitors1(
17 HDC hDC,
18 LPCRECT lprcClip,
19 MONITORENUMPROC lpfnEnum,
20 LPARAM dwData)
21 {
22 return (INT)Syscall(L"NtUserEnumDisplayMonitors", 4, &hDC);
23 }
24
25 BOOL CALLBACK
26 MonitorEnumProc(
27 HMONITOR hMonitor,
28 HDC hdcMonitor,
29 LPRECT lprcMonitor,
30 LPARAM dwData)
31 {
32 gMonitorCount++;
33 if (gMonitorCount == 1)
34 {
35 ghdcMonitor = hdcMonitor;
36 grcMonitor = *lprcMonitor;
37 }
38 return TRUE;
39 }
40
41 START_TEST(NtUserEnumDisplayMonitors)
42 {
43 BOOL ret;
44
45 // WILL crash!
46 // TEST(NtUserEnumDisplayMonitors1(NULL, NULL, NULL, 0) == 0);
47
48 ret = NtUserEnumDisplayMonitors(0, NULL, MonitorEnumProc, 0);
49 TEST(ret == TRUE);
50 TEST(gMonitorCount > 0);
51 TEST(ghdcMonitor == 0);
52 TEST(grcMonitor.left == 0);
53 TEST(grcMonitor.right > 0);
54 TEST(grcMonitor.top == 0);
55 TEST(grcMonitor.bottom > 0);
56
57 }