mirror of
https://github.com/reactos/reactos.git
synced 2025-02-25 01:39:30 +00:00
53 lines
987 B
C
53 lines
987 B
C
![]() |
|
||
|
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;
|
||
|
}
|
||
|
|
||
|
INT
|
||
|
Test_NtUserEnumDisplayMonitors(PTESTINFO pti)
|
||
|
{
|
||
|
BOOL ret;
|
||
|
|
||
|
// WILL crash!
|
||
|
// TEST(NtUserEnumDisplayMonitors1(NULL, NULL, NULL, 0) == 0);
|
||
|
|
||
|
ret = NtUserEnumDisplayMonitors1(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);
|
||
|
|
||
|
|
||
|
return APISTATUS_NORMAL;
|
||
|
}
|