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