reactos/modules/rostests/apitests/win32nt/ntuser/NtUserEnumDisplayMonitors.c
Serge Gautherie a5c3bb5bce
[WIN32KNT_APITEST] 2 minor code improvements and a first fix (#5980)
- Update .rc filename; addendum to 7ad21a4 (r70458).
- Move one '#include "resource.h"' around to where it is needed.
  Addendum to e1b2e7a (r29284) then ec5e0ea (r48103).
- Adjust all '#include <win32nt.h>'
2023-11-16 21:57:10 +01:00

58 lines
1.1 KiB
C

/*
* PROJECT: ReactOS api tests
* LICENSE: GPL - See COPYING in the top level directory
* PURPOSE: Test for NtUserEnumDisplayMonitors
* PROGRAMMERS:
*/
#include "../win32nt.h"
ULONG gMonitorCount = 0;
HDC ghdcMonitor = 0;
RECT grcMonitor = {0};
BOOL
NTAPI
NtUserEnumDisplayMonitors1(
HDC hDC,
LPCRECT lprcClip,
MONITORENUMPROC lpfnEnum,
LPARAM dwData)
{
return (INT)Syscall(L"NtUserEnumDisplayMonitors", 4, &hDC);
}
BOOL CALLBACK
MonitorEnumProc(
HMONITOR hMonitor,
HDC hdcMonitor,
LPRECT lprcMonitor,
LPARAM dwData)
{
gMonitorCount++;
if (gMonitorCount == 1)
{
ghdcMonitor = hdcMonitor;
grcMonitor = *lprcMonitor;
}
return TRUE;
}
START_TEST(NtUserEnumDisplayMonitors)
{
BOOL ret;
// WILL crash!
// TEST(NtUserEnumDisplayMonitors1(NULL, NULL, NULL, 0) == 0);
ret = NtUserEnumDisplayMonitors(0, NULL, MonitorEnumProc, 0);
TEST(ret == TRUE);
TEST(gMonitorCount > 0);
TEST(ghdcMonitor == 0);
TEST(grcMonitor.left == 0);
TEST(grcMonitor.right > 0);
TEST(grcMonitor.top == 0);
TEST(grcMonitor.bottom > 0);
}