Fix merge r65567.
[reactos.git] / win32ss / user / user32 / include / ntwrapper.h
1 #pragma once
2
3 #if defined(__GNUC__)
4 #define EXTINLINE extern inline __attribute__((always_inline))
5 #elif defined(_MSC_VER)
6 #define EXTINLINE extern __forceinline
7 #else
8 #error
9 #endif
10
11 BOOL FASTCALL TestState(PWND, UINT);
12
13 EXTINLINE BOOL WINAPI
14 GetScrollBarInfo(HWND hWnd, LONG idObject, PSCROLLBARINFO psbi)
15 {
16 return NtUserGetScrollBarInfo(hWnd, idObject, psbi);
17 }
18
19 EXTINLINE BOOL WINAPI
20 ShowScrollBar(HWND hWnd, INT wBar, BOOL bShow)
21 {
22 return NtUserShowScrollBar(hWnd, wBar, bShow);
23 }
24
25 EXTINLINE BOOL WINAPI
26 CloseDesktop(HDESK hDesktop)
27 {
28 return NtUserCloseDesktop(hDesktop);
29 }
30
31 EXTINLINE HDESK WINAPI
32 OpenInputDesktop(DWORD dwFlags, BOOL fInherit, ACCESS_MASK dwDesiredAccess)
33 {
34 return NtUserOpenInputDesktop(dwFlags, fInherit, dwDesiredAccess);
35 }
36
37 EXTINLINE BOOL WINAPI
38 PaintDesktop(HDC hdc)
39 {
40 return NtUserPaintDesktop(hdc);
41 }
42
43 EXTINLINE BOOL WINAPI
44 SetThreadDesktop(HDESK hDesktop)
45 {
46 return NtUserSetThreadDesktop(hDesktop);
47 }
48
49 EXTINLINE BOOL WINAPI
50 SwitchDesktop(HDESK hDesktop)
51 {
52 return NtUserSwitchDesktop(hDesktop);
53 }
54
55 EXTINLINE BOOL WINAPI
56 SetShellWindowEx(HWND hwndShell, HWND hwndShellListView)
57 {
58 return NtUserSetShellWindowEx(hwndShell, hwndShellListView);
59 }
60
61 EXTINLINE DWORD WINAPI
62 GetGuiResources(HANDLE hProcess, DWORD uiFlags)
63 {
64 return NtUserGetGuiResources(hProcess, uiFlags);
65 }
66
67 EXTINLINE BOOL WINAPI
68 GetUserObjectInformationW(HANDLE hObj, int nIndex, PVOID pvInfo, DWORD nLength, LPDWORD lpnLengthNeeded)
69 {
70 return NtUserGetObjectInformation(hObj, nIndex, pvInfo, nLength, lpnLengthNeeded);
71 }
72
73 EXTINLINE BOOL WINAPI
74 LockWindowUpdate(HWND hWndLock)
75 {
76 return NtUserLockWindowUpdate(hWndLock);
77 }
78
79 EXTINLINE BOOL WINAPI
80 LockWorkStation(VOID)
81 {
82 return NtUserLockWorkStation();
83 }
84
85 EXTINLINE DWORD WINAPI
86 RegisterTasklist(DWORD x)
87 {
88 return NtUserRegisterTasklist(x);
89 }
90
91 EXTINLINE DWORD WINAPI
92 DragObject(HWND hwnd1, HWND hwnd2, UINT u1, ULONG_PTR dw1, HCURSOR hc1)
93 {
94 return NtUserDragObject(hwnd1, hwnd2, u1, dw1, hc1);
95 }
96
97 EXTINLINE BOOL WINAPI
98 KillTimer(HWND hWnd, UINT_PTR IDEvent)
99 {
100 return NtUserKillTimer(hWnd, IDEvent);
101 }
102
103 EXTINLINE UINT_PTR WINAPI
104 SetSystemTimer(HWND hWnd, UINT_PTR IDEvent, UINT Period, TIMERPROC TimerFunc)
105 {
106 return NtUserSetSystemTimer(hWnd, IDEvent, Period, TimerFunc);
107 }
108
109 EXTINLINE UINT_PTR WINAPI
110 SetTimer(HWND hWnd, UINT_PTR IDEvent, UINT Period, TIMERPROC TimerFunc)
111 {
112 return NtUserSetTimer(hWnd, IDEvent, Period, TimerFunc);
113 }
114
115 EXTINLINE BOOL WINAPI
116 CloseWindowStation(HWINSTA hWinSta)
117 {
118 return NtUserCloseWindowStation(hWinSta);
119 }
120
121 EXTINLINE HWINSTA WINAPI
122 GetProcessWindowStation(VOID)
123 {
124 return NtUserGetProcessWindowStation();
125 }
126
127 EXTINLINE BOOL WINAPI
128 SetProcessWindowStation(HWINSTA hWinSta)
129 {
130 return NtUserSetProcessWindowStation(hWinSta);
131 }
132
133 EXTINLINE BOOL WINAPI
134 LockWindowStation(HWINSTA hWinSta)
135 {
136 return NtUserLockWindowStation(hWinSta);
137 }
138
139 EXTINLINE BOOL WINAPI
140 UnlockWindowStation(HWINSTA hWinSta)
141 {
142 return NtUserUnlockWindowStation(hWinSta);
143 }
144
145 EXTINLINE int WINAPI
146 CopyAcceleratorTableW(HACCEL hAccelSrc, LPACCEL lpAccelDst, int cAccelEntries)
147 {
148 return NtUserCopyAcceleratorTable(hAccelSrc, lpAccelDst, cAccelEntries);
149 }
150
151 EXTINLINE HACCEL WINAPI
152 CreateAcceleratorTableW(LPACCEL lpaccl, int cEntries)
153 {
154 return NtUserCreateAcceleratorTable(lpaccl, cEntries);
155 }
156
157 EXTINLINE BOOL WINAPI
158 CreateCaret(HWND hWnd, HBITMAP hBitmap, int nWidth, int nHeight)
159 {
160 return NtUserCreateCaret(hWnd, hBitmap, nWidth, nHeight);
161 }
162
163 EXTINLINE UINT WINAPI
164 GetCaretBlinkTime(VOID)
165 {
166 return NtUserGetCaretBlinkTime();
167 }
168
169 EXTINLINE BOOL WINAPI
170 GetCaretPos(LPPOINT lpPoint)
171 {
172 return NtUserGetCaretPos(lpPoint);
173 }
174
175 EXTINLINE BOOL WINAPI
176 CloseClipboard(VOID)
177 {
178 return NtUserCloseClipboard();
179 }
180
181 EXTINLINE INT WINAPI
182 CountClipboardFormats(VOID)
183 {
184 return NtUserCountClipboardFormats();
185 }
186
187 EXTINLINE BOOL WINAPI
188 EmptyClipboard(VOID)
189 {
190 return NtUserEmptyClipboard();
191 }
192
193 EXTINLINE HWND WINAPI
194 GetClipboardOwner(VOID)
195 {
196 return NtUserGetClipboardOwner();
197 }
198
199 EXTINLINE DWORD WINAPI
200 GetClipboardSequenceNumber(VOID)
201 {
202 return NtUserGetClipboardSequenceNumber();
203 }
204
205 EXTINLINE HWND WINAPI
206 GetClipboardViewer(VOID)
207 {
208 return NtUserGetClipboardViewer();
209 }
210
211 EXTINLINE HWND WINAPI
212 GetOpenClipboardWindow(VOID)
213 {
214 return NtUserGetOpenClipboardWindow();
215 }
216
217 EXTINLINE INT WINAPI
218 GetPriorityClipboardFormat(UINT *paFormatPriorityList, INT cFormats)
219 {
220 return NtUserGetPriorityClipboardFormat(paFormatPriorityList, cFormats);
221 }
222
223 EXTINLINE BOOL WINAPI
224 IsClipboardFormatAvailable(UINT format)
225 {
226 return NtUserIsClipboardFormatAvailable(format);
227 }
228
229 EXTINLINE HWND WINAPI
230 SetClipboardViewer(HWND hWndNewViewer)
231 {
232 return NtUserSetClipboardViewer(hWndNewViewer);
233 }
234
235 EXTINLINE BOOL WINAPI
236 ChangeClipboardChain(HWND hWndRemove, HWND hWndNewNext)
237 {
238 return NtUserChangeClipboardChain(hWndRemove, hWndNewNext);
239 }
240
241 EXTINLINE BOOL WINAPI
242 GetClipCursor(LPRECT lpRect)
243 {
244 return NtUserGetClipCursor(lpRect);
245 }
246
247 EXTINLINE HBRUSH WINAPI GetControlBrush(HWND hwnd, HDC hdc, UINT ctlType)
248 {
249 return NtUserGetControlBrush(hwnd, hdc, ctlType);
250 }
251
252 EXTINLINE HBRUSH WINAPI GetControlColor(HWND hwndParent, HWND hwnd, HDC hdc, UINT CtlMsg)
253 {
254 return NtUserGetControlColor(hwndParent, hwnd, hdc, CtlMsg);
255 }
256
257 EXTINLINE BOOL WINAPI
258 GetCursorInfo(PCURSORINFO pci)
259 {
260 return NtUserGetCursorInfo(pci);
261 }
262
263 EXTINLINE BOOL WINAPI
264 ClipCursor(CONST RECT *lpRect)
265 {
266 return NtUserClipCursor((RECT *)lpRect);
267 }
268
269 EXTINLINE HCURSOR WINAPI
270 SetCursor(HCURSOR hCursor)
271 {
272 return NtUserSetCursor(hCursor);
273 }
274
275 EXTINLINE HDC WINAPI
276 GetDC(HWND hWnd)
277 {
278 return NtUserGetDC(hWnd);
279 }
280
281 EXTINLINE HDC WINAPI
282 GetDCEx(HWND hWnd, HRGN hrgnClip, DWORD flags)
283 {
284 return NtUserGetDCEx(hWnd, hrgnClip, flags);
285 }
286
287 EXTINLINE HDC WINAPI
288 GetWindowDC(HWND hWnd)
289 {
290 return NtUserGetWindowDC(hWnd);
291 }
292
293 EXTINLINE BOOL WINAPI
294 FlashWindowEx(PFLASHWINFO pfwi)
295 {
296 return NtUserFlashWindowEx(pfwi);
297 }
298
299 EXTINLINE BOOL WINAPI
300 DrawAnimatedRects(HWND hWnd, int idAni, CONST RECT *lprcFrom, CONST RECT *lprcTo)
301 {
302 return NtUserDrawAnimatedRects(hWnd, idAni, (RECT*)lprcFrom, (RECT*)lprcTo);
303 }
304
305 EXTINLINE BOOL WINAPI
306 BlockInput(BOOL fBlockIt)
307 {
308 return NtUserBlockInput(fBlockIt);
309 }
310
311 EXTINLINE UINT WINAPI
312 GetDoubleClickTime(VOID)
313 {
314 return NtUserGetDoubleClickTime();
315 }
316
317 EXTINLINE BOOL WINAPI
318 GetKeyboardState(PBYTE lpKeyState)
319 {
320 return NtUserGetKeyboardState((LPBYTE) lpKeyState);
321 }
322
323 EXTINLINE BOOL WINAPI
324 RegisterHotKey(HWND hWnd, int id, UINT fsModifiers, UINT vk)
325 {
326 return NtUserRegisterHotKey(hWnd, id, fsModifiers, vk);
327 }
328
329 EXTINLINE HWND WINAPI
330 SetFocus(HWND hWnd)
331 {
332 return NtUserSetFocus(hWnd);
333 }
334
335 EXTINLINE BOOL WINAPI
336 SetKeyboardState(LPBYTE lpKeyState)
337 {
338 return NtUserSetKeyboardState((LPBYTE)lpKeyState);
339 }
340
341 EXTINLINE UINT WINAPI
342 SendInput(UINT nInputs, LPINPUT pInputs, int cbSize)
343 {
344 return NtUserSendInput(nInputs, pInputs, cbSize);
345 }
346
347 EXTINLINE BOOL WINAPI
348 WaitMessage(VOID)
349 {
350 return NtUserWaitMessage();
351 }
352
353 EXTINLINE HDC WINAPI
354 BeginPaint(HWND hwnd, LPPAINTSTRUCT lpPaint)
355 {
356 return NtUserBeginPaint(hwnd, lpPaint);
357 }
358
359 EXTINLINE BOOL WINAPI
360 EndPaint(HWND hWnd, CONST PAINTSTRUCT *lpPaint)
361 {
362 return NtUserEndPaint(hWnd, lpPaint);
363 }
364
365 EXTINLINE int WINAPI
366 ExcludeUpdateRgn(HDC hDC, HWND hWnd)
367 {
368 return NtUserExcludeUpdateRgn(hDC, hWnd);
369 }
370
371 EXTINLINE BOOL WINAPI
372 InvalidateRgn(HWND hWnd, HRGN hRgn, BOOL bErase)
373 {
374 return NtUserInvalidateRgn(hWnd, hRgn, bErase);
375 }
376
377 EXTINLINE BOOL WINAPI
378 RedrawWindow(HWND hWnd, CONST RECT *lprcUpdate, HRGN hrgnUpdate, UINT flags)
379 {
380 return NtUserRedrawWindow(hWnd, lprcUpdate, hrgnUpdate, flags);
381 }
382
383 EXTINLINE BOOL WINAPI
384 DestroyWindow(HWND hWnd)
385 {
386 return NtUserDestroyWindow(hWnd);
387 }
388
389 EXTINLINE HWND WINAPI
390 GetForegroundWindow(VOID)
391 {
392 return NtUserGetForegroundWindow();
393 }
394
395 EXTINLINE BOOL WINAPI
396 GetGUIThreadInfo(DWORD idThread, LPGUITHREADINFO lpgui)
397 {
398 return NtUserGetGUIThreadInfo(idThread, lpgui);
399 }
400
401 EXTINLINE BOOL WINAPI
402 GetTitleBarInfo(HWND hwnd, PTITLEBARINFO pti)
403 {
404 return NtUserGetTitleBarInfo(hwnd, pti);
405 }
406
407 EXTINLINE BOOL WINAPI
408 GetWindowPlacement(HWND hWnd, WINDOWPLACEMENT *lpwndpl)
409 {
410 return NtUserGetWindowPlacement(hWnd, lpwndpl);
411 }
412
413 EXTINLINE BOOL WINAPI
414 MoveWindow(HWND hWnd, int X, int Y, int nWidth, int nHeight, BOOL bRepaint)
415 {
416 return NtUserMoveWindow(hWnd, X, Y, nWidth, nHeight, bRepaint);
417 }
418
419 EXTINLINE HWND WINAPI
420 SetParent(HWND hWndChild, HWND hWndNewParent)
421 {
422 return NtUserSetParent(hWndChild, hWndNewParent);
423 }
424
425 EXTINLINE BOOL WINAPI
426 SetWindowPlacement(HWND hWnd, CONST WINDOWPLACEMENT *lpwndpl)
427 {
428 return NtUserSetWindowPlacement(hWnd, (WINDOWPLACEMENT *)lpwndpl);
429 }
430
431 EXTINLINE BOOL WINAPI
432 SetWindowPos(HWND hWnd, HWND hWndAfter, int X, int Y, int cx, int cy, UINT uFlags)
433 {
434 return NtUserSetWindowPos(hWnd,hWndAfter, X, Y, cx, cy, uFlags);
435 }
436
437 EXTINLINE BOOL WINAPI
438 ShowWindow(HWND hWnd, int nCmdShow)
439 {
440 return NtUserShowWindow(hWnd, nCmdShow);
441 }
442
443 EXTINLINE BOOL WINAPI
444 ShowWindowAsync(HWND hWnd, int nCmdShow)
445 {
446 return NtUserShowWindowAsync(hWnd, nCmdShow);
447 }
448
449 EXTINLINE HWND WINAPI
450 SetActiveWindow(HWND hWnd)
451 {
452 return NtUserSetActiveWindow(hWnd);
453 }
454
455 EXTINLINE DWORD WINAPI
456 GetListBoxInfo(HWND hwnd)
457 {
458 return NtUserGetListBoxInfo(hwnd); // Do it right! Have the message org from kmode!
459 }
460
461 EXTINLINE BOOL WINAPI
462 DeleteMenu(HMENU hMenu, UINT uPosition, UINT uFlags)
463 {
464 return NtUserDeleteMenu(hMenu, uPosition, uFlags);
465 }
466
467 EXTINLINE BOOL WINAPI
468 DestroyMenu(HMENU hMenu)
469 {
470 return NtUserDestroyMenu(hMenu);
471 }
472
473 /*EXTINLINE BOOL WINAPI
474 GetMenuBarInfo(HWND hwnd, LONG idObject, LONG idItem, PMENUBARINFO pmbi)
475 {
476 return NtUserGetMenuBarInfo(hwnd, idObject, idItem, pmbi);
477 }
478 */
479 EXTINLINE BOOL WINAPI
480 GetMenuItemRect(HWND hWnd, HMENU hMenu, UINT uItem, LPRECT lprcItem)
481 {
482 return NtUserGetMenuItemRect(hWnd, hMenu, uItem, lprcItem);
483 }
484
485 EXTINLINE BOOL WINAPI
486 RemoveMenu(HMENU hMenu, UINT uPosition, UINT uFlags)
487 {
488 return NtUserRemoveMenu(hMenu, uPosition, uFlags);
489 }
490
491 EXTINLINE BOOL WINAPI
492 SetMenuDefaultItem(HMENU hMenu, UINT uItem, UINT fByPos)
493 {
494 return NtUserSetMenuDefaultItem(hMenu, uItem, fByPos);
495 }
496
497 EXTINLINE BOOL WINAPI
498 SetMenuContextHelpId(HMENU hmenu, DWORD dwContextHelpId)
499 {
500 return NtUserSetMenuContextHelpId(hmenu, dwContextHelpId);
501 }
502
503 EXTINLINE HWND WINAPI
504 SetCapture(HWND hWnd)
505 {
506 return(NtUserSetCapture(hWnd));
507 }
508
509 EXTINLINE BOOL WINAPI
510 InvalidateRect(HWND hWnd, CONST RECT* lpRect, BOOL bErase)
511 {
512 return NtUserInvalidateRect(hWnd, lpRect, bErase);
513 }
514
515 EXTINLINE BOOL WINAPI ValidateRect( HWND hWnd, CONST RECT *lpRect)
516 {
517 return NtUserValidateRect(hWnd, lpRect);
518 }
519
520 EXTINLINE BOOL WINAPI ShowCaret( HWND hWnd )
521 {
522 return NtUserShowCaret(hWnd);
523 }
524
525 EXTINLINE BOOL WINAPI HideCaret( HWND hWnd )
526 {
527 return NtUserHideCaret(hWnd);
528 }
529
530
531
532
533 /*
534 Inline functions that make calling NtUserCall*** functions readable
535 These functions are prepended with NtUserx because they are not
536 real syscalls and they are inlined
537 */
538
539 EXTINLINE BOOL NtUserxDestroyCaret(VOID)
540 {
541 return (BOOL)NtUserCallNoParam(NOPARAM_ROUTINE_DESTROY_CARET);
542 }
543
544 EXTINLINE VOID NtUserxMsqClearWakeMask()
545 {
546 NtUserCallNoParam(NOPARAM_ROUTINE_MSQCLEARWAKEMASK);
547 }
548
549 EXTINLINE HMENU NtUserxCreateMenu()
550 {
551 return (HMENU)NtUserCallNoParam(NOPARAM_ROUTINE_CREATEMENU);
552 }
553
554 EXTINLINE HMENU NtUserxCreatePopupMenu()
555 {
556 return (HMENU)NtUserCallNoParam(NOPARAM_ROUTINE_CREATEMENUPOPUP);
557 }
558
559 EXTINLINE DWORD NtUserxGetMessagePos(VOID)
560 {
561 return (DWORD)NtUserCallNoParam(NOPARAM_ROUTINE_GETMSESSAGEPOS);
562 }
563
564 EXTINLINE BOOL NtUserxReleaseCapture(VOID)
565 {
566 return (BOOL)NtUserCallNoParam(NOPARAM_ROUTINE_RELEASECAPTURE);
567 }
568
569 EXTINLINE BOOL NtUserxInitMessagePump()
570 {
571 return NtUserCallNoParam(NOPARAM_ROUTINE_INIT_MESSAGE_PUMP);
572 }
573
574 EXTINLINE BOOL NtUserxUnInitMessagePump()
575 {
576 return NtUserCallNoParam(NOPARAM_ROUTINE_UNINIT_MESSAGE_PUMP);
577 }
578
579 EXTINLINE HANDLE NtUserxMsqSetWakeMask(DWORD_PTR dwWaitMask)
580 {
581 return (HANDLE)NtUserCallOneParam(dwWaitMask, ONEPARAM_ROUTINE_GETINPUTEVENT);
582 }
583
584 EXTINLINE BOOL NtUserxSetCaretBlinkTime(UINT uMSeconds)
585 {
586 return (BOOL)NtUserCallOneParam(uMSeconds, ONEPARAM_ROUTINE_SETCARETBLINKTIME);
587 }
588
589 EXTINLINE HWND NtUserxWindowFromDC(HDC hDC)
590 {
591 return (HWND)NtUserCallOneParam((DWORD_PTR)hDC, ONEPARAM_ROUTINE_WINDOWFROMDC);
592 }
593
594 EXTINLINE BOOL NtUserxSwapMouseButton(BOOL fSwap)
595 {
596 return (BOOL)NtUserCallOneParam((DWORD_PTR)fSwap, ONEPARAM_ROUTINE_SWAPMOUSEBUTTON);
597 }
598
599 EXTINLINE LPARAM NtUserxSetMessageExtraInfo(LPARAM lParam)
600 {
601 return (LPARAM)NtUserCallOneParam((DWORD_PTR)lParam, ONEPARAM_ROUTINE_SETMESSAGEEXTRAINFO);
602 }
603
604 EXTINLINE INT NtUserxShowCursor(BOOL bShow)
605 {
606 return (INT)NtUserCallOneParam((DWORD_PTR)bShow, ONEPARAM_ROUTINE_SHOWCURSOR);
607 }
608
609 EXTINLINE UINT NtUserxEnumClipboardFormats(UINT format)
610 {
611 return (UINT)NtUserCallOneParam((DWORD_PTR)format, ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS);
612 }
613
614 EXTINLINE HICON NtUserxCreateEmptyCurObject(DWORD_PTR Param)
615 {
616 return (HICON)NtUserCallOneParam(Param, ONEPARAM_ROUTINE_CREATEEMPTYCUROBJECT);
617 }
618
619 EXTINLINE BOOL NtUserxMessageBeep(UINT uType)
620 {
621 return (BOOL)NtUserCallOneParam(uType, ONEPARAM_ROUTINE_MESSAGEBEEP);
622 }
623
624 EXTINLINE HKL NtUserxGetKeyboardLayout(DWORD idThread)
625 {
626 return (HKL)NtUserCallOneParam((DWORD_PTR) idThread, ONEPARAM_ROUTINE_GETKEYBOARDLAYOUT);
627 }
628
629 EXTINLINE INT NtUserxGetKeyboardType(INT nTypeFlag)
630 {
631 return (INT)NtUserCallOneParam((DWORD_PTR) nTypeFlag, ONEPARAM_ROUTINE_GETKEYBOARDTYPE);
632 }
633
634 EXTINLINE INT NtUserxReleaseDC(HDC hDC)
635 {
636 return (INT)NtUserCallOneParam((DWORD_PTR) hDC, ONEPARAM_ROUTINE_RELEASEDC);
637 }
638
639 EXTINLINE UINT NtUserxRealizePalette ( HDC hDC )
640 {
641 return (UINT)NtUserCallOneParam((DWORD_PTR) hDC, ONEPARAM_ROUTINE_REALIZEPALETTE);
642 }
643
644 EXTINLINE VOID NtUserxCreateSystemThreads(DWORD param)
645 {
646 NtUserCallOneParam(param, ONEPARAM_ROUTINE_CREATESYSTEMTHREADS);
647 }
648
649 EXTINLINE HDWP NtUserxBeginDeferWindowPos(INT nNumWindows)
650 {
651 return (HDWP)NtUserCallOneParam((DWORD_PTR)nNumWindows, ONEPARAM_ROUTINE_BEGINDEFERWNDPOS);
652 }
653
654 EXTINLINE BOOL NtUserxReplyMessage(LRESULT lResult)
655 {
656 return NtUserCallOneParam(lResult, ONEPARAM_ROUTINE_REPLYMESSAGE);
657 }
658
659 EXTINLINE VOID NtUserxPostQuitMessage(int nExitCode)
660 {
661 NtUserCallOneParam(nExitCode, ONEPARAM_ROUTINE_POSTQUITMESSAGE);
662 }
663
664 EXTINLINE DWORD NtUserxGetQueueStatus(UINT flags)
665 {
666 return (DWORD)NtUserCallOneParam(flags, ONEPARAM_ROUTINE_GETQUEUESTATUS);
667 }
668
669 EXTINLINE BOOL NtUserxValidateRgn(HWND hWnd, HRGN hRgn)
670 {
671 return (BOOL)NtUserCallHwndParamLock(hWnd, (DWORD_PTR)hRgn, TWOPARAM_ROUTINE_VALIDATERGN);
672 }
673
674 EXTINLINE BOOL NtUserxSetCursorPos(INT x, INT y)
675 {
676 return (BOOL)NtUserCallTwoParam((DWORD)x, (DWORD)y, TWOPARAM_ROUTINE_SETCURSORPOS);
677 }
678
679 EXTINLINE BOOL NtUserxEnableWindow(HWND hWnd, BOOL bEnable)
680 {
681 return (BOOL)NtUserCallTwoParam((DWORD_PTR)hWnd, (DWORD_PTR)bEnable, TWOPARAM_ROUTINE_ENABLEWINDOW);
682 }
683
684 EXTINLINE BOOL NtUserxUpdateUiState(HWND hWnd, DWORD Param)
685 {
686 return (BOOL)NtUserCallTwoParam((DWORD_PTR)hWnd, (DWORD_PTR)Param, TWOPARAM_ROUTINE_ROS_UPDATEUISTATE);
687 }
688
689 EXTINLINE BOOL NtUserxShowOwnedPopups(HWND hWnd, BOOL fShow)
690 {
691 return (BOOL)NtUserCallTwoParam((DWORD_PTR)hWnd, fShow, TWOPARAM_ROUTINE_SHOWOWNEDPOPUPS);
692 }
693
694 EXTINLINE BOOL NtUserxUnhookWindowsHook ( int nCode, HOOKPROC pfnFilterProc )
695 {
696 return (BOOL)NtUserCallTwoParam(nCode, (DWORD_PTR)pfnFilterProc, TWOPARAM_ROUTINE_UNHOOKWINDOWSHOOK);
697 }
698
699 EXTINLINE BOOL NtUserxSetWindowContextHelpId(HWND hWnd, DWORD_PTR dwContextHelpId)
700 {
701 return (BOOL)NtUserCallHwndParam(hWnd, dwContextHelpId, HWNDPARAM_ROUTINE_SETWNDCONTEXTHLPID);
702 }
703
704 EXTINLINE BOOL NtUserxKillSystemTimer(HWND hWnd, UINT_PTR IDEvent)
705 {
706 return (BOOL)NtUserCallHwndParam(hWnd, IDEvent, HWNDPARAM_ROUTINE_KILLSYSTEMTIMER);
707 }
708
709 EXTINLINE VOID NtUserxSetDialogPointer(HWND hWnd, PVOID dlgInfo)
710 {
711 NtUserCallHwndParam( hWnd, (DWORD_PTR)dlgInfo, HWNDPARAM_ROUTINE_SETDIALOGPOINTER );
712 }
713
714 EXTINLINE VOID NtUserxNotifyWinEvent(HWND hWnd, PVOID ne)
715 {
716 NtUserCallHwndParam(hWnd, (DWORD_PTR)ne, HWNDPARAM_ROUTINE_ROS_NOTIFYWINEVENT);
717 }
718
719 EXTINLINE DWORD NtUserxGetWindowContextHelpId(HWND hwnd)
720 {
721 return NtUserCallHwnd(hwnd, HWND_ROUTINE_GETWNDCONTEXTHLPID);
722 }
723
724 EXTINLINE BOOL NtUserxDeregisterShellHookWindow(HWND hWnd)
725 {
726 return NtUserCallHwnd(hWnd, HWND_ROUTINE_DEREGISTERSHELLHOOKWINDOW);
727 }
728
729 EXTINLINE BOOL NtUserxRegisterShellHookWindow(HWND hWnd)
730 {
731 return NtUserCallHwnd(hWnd, HWND_ROUTINE_REGISTERSHELLHOOKWINDOW);
732 }
733
734 EXTINLINE BOOL NtUserxSetMessageBox(HWND hWnd)
735 {
736 return NtUserCallHwnd(hWnd, HWND_ROUTINE_SETMSGBOX);
737 }
738
739 EXTINLINE VOID NtUserxClearWindowState(PWND pWnd, UINT Flag)
740 {
741 if (!TestState(pWnd, Flag)) return;
742 NtUserCallHwndParam(UserHMGetHandle(pWnd), (DWORD_PTR)Flag, HWNDPARAM_ROUTINE_CLEARWINDOWSTATE);
743 }
744
745 EXTINLINE VOID NtUserxSetWindowState(PWND pWnd, UINT Flag)
746 {
747 if (TestState(pWnd, Flag)) return;
748 NtUserCallHwndParam(UserHMGetHandle(pWnd), (DWORD_PTR)Flag, HWNDPARAM_ROUTINE_SETWINDOWSTATE);
749 }
750
751 EXTINLINE HWND NtUserxSetTaskmanWindow(HWND hWnd)
752 {
753 return NtUserCallHwndOpt(hWnd, HWNDOPT_ROUTINE_SETTASKMANWINDOW);
754 }
755
756 EXTINLINE HWND NtUserxSetProgmanWindow(HWND hWnd)
757 {
758 return NtUserCallHwndOpt(hWnd, HWNDOPT_ROUTINE_SETPROGMANWINDOW);
759 }
760
761 EXTINLINE UINT NtUserxArrangeIconicWindows(HWND hWnd)
762 {
763 return (UINT)NtUserCallHwndLock( hWnd, HWNDLOCK_ROUTINE_ARRANGEICONICWINDOWS);
764 }
765
766 EXTINLINE BOOL NtUserxUpdateWindow(HWND hWnd)
767 {
768 return NtUserCallHwndLock(hWnd, HWNDLOCK_ROUTINE_UPDATEWINDOW);
769 }
770
771 EXTINLINE BOOL NtUserxDrawMenuBar(HWND hWnd)
772 {
773 return (BOOL)NtUserCallHwndLock(hWnd, HWNDLOCK_ROUTINE_DRAWMENUBAR);
774 }
775
776 EXTINLINE BOOL NtUserxMDIRedrawFrame(HWND hWnd)
777 {
778 return (BOOL)NtUserCallHwndLock(hWnd, HWNDLOCK_ROUTINE_REDRAWFRAME);
779 }
780
781 EXTINLINE BOOL NtUserxSetForegroundWindow(HWND hWnd)
782 {
783 return NtUserCallHwndLock(hWnd, HWNDLOCK_ROUTINE_SETFOREGROUNDWINDOW);
784 }
785
786
787 /* Reactos specific definitions */
788
789 EXTINLINE LPARAM NtUserxGetMessageExtraInfo(VOID)
790 {
791 return (LPARAM)NtUserGetThreadState(THREADSTATE_GETMESSAGEEXTRAINFO);
792 }
793
794 EXTINLINE BOOL NtUserxSwitchCaretShowing(THRDCARETINFO* CaretInfo)
795 {
796 return (BOOL)NtUserCallOneParam((DWORD_PTR)CaretInfo, ONEPARAM_ROUTINE_SWITCHCARETSHOWING);
797 }
798
799 EXTINLINE VOID NtUserxEnableProcessWindowGhosting(BOOL bEnable)
800 {
801 NtUserCallOneParam((DWORD_PTR)bEnable, ONEPARAM_ROUTINE_ENABLEPROCWNDGHSTING);
802 }
803
804 EXTINLINE PVOID NtUserxGetDesktopMapping(PVOID ptr)
805 {
806 return (PVOID)NtUserCallOneParam((DWORD_PTR)ptr, ONEPARAM_ROUTINE_GETDESKTOPMAPPING);
807 }
808
809 EXTINLINE BOOL NtUserxGetCursorPos(POINT* lpPoint)
810 {
811 return (BOOL)NtUserCallOneParam((DWORD_PTR)lpPoint, ONEPARAM_ROUTINE_GETCURSORPOS);
812 }
813
814 EXTINLINE BOOL NtUserxSetMenuBarHeight(HMENU menu, INT height)
815 {
816 return (BOOL)NtUserCallTwoParam((DWORD_PTR)menu, (DWORD_PTR)height, TWOPARAM_ROUTINE_SETMENUBARHEIGHT);
817 }
818
819 EXTINLINE BOOL NtUserxSetGUIThreadHandle(DWORD_PTR field, HWND hwnd)
820 {
821 return (BOOL)NtUserCallTwoParam((DWORD_PTR)field, (DWORD_PTR)hwnd, TWOPARAM_ROUTINE_SETGUITHRDHANDLE);
822 }
823
824 EXTINLINE BOOL NtUserxSetCaretPos(INT x, INT y)
825 {
826 return (BOOL)NtUserCallTwoParam((DWORD_PTR)x, (DWORD_PTR)y, TWOPARAM_ROUTINE_SETCARETPOS);
827 }
828
829 EXTINLINE BOOL NtUserxRegisterLogonProcess(DWORD dwProcessId, BOOL bRegister)
830 {
831 return (BOOL)NtUserCallTwoParam((DWORD_PTR)dwProcessId, (DWORD_PTR)bRegister, TWOPARAM_ROUTINE_REGISTERLOGONPROCESS);
832 }
833
834 EXTINLINE BOOL NtUserxAllowSetForegroundWindow(DWORD dwProcessId)
835 {
836 return (BOOL)NtUserCallOneParam((DWORD_PTR)dwProcessId, ONEPARAM_ROUTINE_ALLOWSETFOREGND);
837 }
838
839 EXTINLINE BOOL NtUserxLockSetForegroundWindow(UINT uLockCode)
840 {
841 return (BOOL)NtUserCallOneParam((DWORD_PTR)uLockCode, ONEPARAM_ROUTINE_LOCKFOREGNDWINDOW);
842 }