[Win32SS]
[reactos.git] / reactos / win32ss / user / 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 HBRUSH WINAPI GetControlBrush(HWND hwnd, HDC hdc, UINT ctlType)
244 {
245 return NtUserGetControlBrush(hwnd, hdc, ctlType);
246 }
247
248 EXTINLINE HBRUSH WINAPI GetControlColor(HWND hwndParent, HWND hwnd, HDC hdc, UINT CtlMsg)
249 {
250 return NtUserGetControlColor(hwndParent, hwnd, hdc, CtlMsg);
251 }
252
253 EXTINLINE BOOL WINAPI
254 GetCursorInfo(PCURSORINFO pci)
255 {
256 return NtUserGetCursorInfo(pci);
257 }
258
259 EXTINLINE BOOL WINAPI
260 ClipCursor(CONST RECT *lpRect)
261 {
262 return NtUserClipCursor((RECT *)lpRect);
263 }
264
265 EXTINLINE HCURSOR WINAPI
266 SetCursor(HCURSOR hCursor)
267 {
268 return NtUserSetCursor(hCursor);
269 }
270
271 EXTINLINE HDC WINAPI
272 GetDC(HWND hWnd)
273 {
274 return NtUserGetDC(hWnd);
275 }
276
277 EXTINLINE HDC WINAPI
278 GetDCEx(HWND hWnd, HRGN hrgnClip, DWORD flags)
279 {
280 return NtUserGetDCEx(hWnd, hrgnClip, flags);
281 }
282
283 EXTINLINE HDC WINAPI
284 GetWindowDC(HWND hWnd)
285 {
286 return NtUserGetWindowDC(hWnd);
287 }
288
289 EXTINLINE BOOL WINAPI
290 FlashWindowEx(PFLASHWINFO pfwi)
291 {
292 return NtUserFlashWindowEx(pfwi);
293 }
294
295 EXTINLINE BOOL WINAPI
296 DrawAnimatedRects(HWND hWnd, int idAni, CONST RECT *lprcFrom, CONST RECT *lprcTo)
297 {
298 return NtUserDrawAnimatedRects(hWnd, idAni, (RECT*)lprcFrom, (RECT*)lprcTo);
299 }
300
301 EXTINLINE BOOL WINAPI
302 BlockInput(BOOL fBlockIt)
303 {
304 return NtUserBlockInput(fBlockIt);
305 }
306
307 EXTINLINE UINT WINAPI
308 GetDoubleClickTime(VOID)
309 {
310 return NtUserGetDoubleClickTime();
311 }
312
313 EXTINLINE BOOL WINAPI
314 GetKeyboardState(PBYTE lpKeyState)
315 {
316 return NtUserGetKeyboardState((LPBYTE) lpKeyState);
317 }
318
319 EXTINLINE BOOL WINAPI
320 RegisterHotKey(HWND hWnd, int id, UINT fsModifiers, UINT vk)
321 {
322 return NtUserRegisterHotKey(hWnd, id, fsModifiers, vk);
323 }
324
325 EXTINLINE HWND WINAPI
326 SetFocus(HWND hWnd)
327 {
328 return NtUserSetFocus(hWnd);
329 }
330
331 EXTINLINE BOOL WINAPI
332 SetKeyboardState(LPBYTE lpKeyState)
333 {
334 return NtUserSetKeyboardState((LPBYTE)lpKeyState);
335 }
336
337 EXTINLINE UINT WINAPI
338 SendInput(UINT nInputs, LPINPUT pInputs, int cbSize)
339 {
340 return NtUserSendInput(nInputs, pInputs, cbSize);
341 }
342
343 EXTINLINE BOOL WINAPI
344 WaitMessage(VOID)
345 {
346 return NtUserWaitMessage();
347 }
348
349 EXTINLINE HDC WINAPI
350 BeginPaint(HWND hwnd, LPPAINTSTRUCT lpPaint)
351 {
352 return NtUserBeginPaint(hwnd, lpPaint);
353 }
354
355 EXTINLINE BOOL WINAPI
356 EndPaint(HWND hWnd, CONST PAINTSTRUCT *lpPaint)
357 {
358 return NtUserEndPaint(hWnd, lpPaint);
359 }
360
361 EXTINLINE int WINAPI
362 ExcludeUpdateRgn(HDC hDC, HWND hWnd)
363 {
364 return NtUserExcludeUpdateRgn(hDC, hWnd);
365 }
366
367 EXTINLINE BOOL WINAPI
368 InvalidateRgn(HWND hWnd, HRGN hRgn, BOOL bErase)
369 {
370 return NtUserInvalidateRgn(hWnd, hRgn, bErase);
371 }
372
373 EXTINLINE BOOL WINAPI
374 RedrawWindow(HWND hWnd, CONST RECT *lprcUpdate, HRGN hrgnUpdate, UINT flags)
375 {
376 return NtUserRedrawWindow(hWnd, lprcUpdate, hrgnUpdate, flags);
377 }
378
379 EXTINLINE BOOL WINAPI
380 DestroyWindow(HWND hWnd)
381 {
382 return NtUserDestroyWindow(hWnd);
383 }
384
385 EXTINLINE HWND WINAPI
386 GetForegroundWindow(VOID)
387 {
388 return NtUserGetForegroundWindow();
389 }
390
391 EXTINLINE BOOL WINAPI
392 GetGUIThreadInfo(DWORD idThread, LPGUITHREADINFO lpgui)
393 {
394 return NtUserGetGUIThreadInfo(idThread, lpgui);
395 }
396
397 EXTINLINE BOOL WINAPI
398 GetTitleBarInfo(HWND hwnd, PTITLEBARINFO pti)
399 {
400 return NtUserGetTitleBarInfo(hwnd, pti);
401 }
402
403 EXTINLINE BOOL WINAPI
404 GetWindowPlacement(HWND hWnd, WINDOWPLACEMENT *lpwndpl)
405 {
406 return NtUserGetWindowPlacement(hWnd, lpwndpl);
407 }
408
409 EXTINLINE BOOL WINAPI
410 MoveWindow(HWND hWnd, int X, int Y, int nWidth, int nHeight, BOOL bRepaint)
411 {
412 return NtUserMoveWindow(hWnd, X, Y, nWidth, nHeight, bRepaint);
413 }
414
415 EXTINLINE HWND WINAPI
416 SetParent(HWND hWndChild, HWND hWndNewParent)
417 {
418 return NtUserSetParent(hWndChild, hWndNewParent);
419 }
420
421 EXTINLINE BOOL WINAPI
422 SetWindowPlacement(HWND hWnd, CONST WINDOWPLACEMENT *lpwndpl)
423 {
424 return NtUserSetWindowPlacement(hWnd, (WINDOWPLACEMENT *)lpwndpl);
425 }
426
427 EXTINLINE BOOL WINAPI
428 SetWindowPos(HWND hWnd, HWND hWndAfter, int X, int Y, int cx, int cy, UINT uFlags)
429 {
430 return NtUserSetWindowPos(hWnd,hWndAfter, X, Y, cx, cy, uFlags);
431 }
432
433 EXTINLINE BOOL WINAPI
434 ShowWindow(HWND hWnd, int nCmdShow)
435 {
436 return NtUserShowWindow(hWnd, nCmdShow);
437 }
438
439 EXTINLINE BOOL WINAPI
440 ShowWindowAsync(HWND hWnd, int nCmdShow)
441 {
442 return NtUserShowWindowAsync(hWnd, nCmdShow);
443 }
444
445 EXTINLINE HWND WINAPI
446 SetActiveWindow(HWND hWnd)
447 {
448 return NtUserSetActiveWindow(hWnd);
449 }
450
451 EXTINLINE DWORD WINAPI
452 GetListBoxInfo(HWND hwnd)
453 {
454 return NtUserGetListBoxInfo(hwnd); // Do it right! Have the message org from kmode!
455 }
456
457 EXTINLINE BOOL WINAPI
458 DeleteMenu(HMENU hMenu, UINT uPosition, UINT uFlags)
459 {
460 return NtUserDeleteMenu(hMenu, uPosition, uFlags);
461 }
462
463 EXTINLINE BOOL WINAPI
464 DestroyMenu(HMENU hMenu)
465 {
466 return NtUserDestroyMenu(hMenu);
467 }
468
469 EXTINLINE BOOL WINAPI
470 GetMenuBarInfo(HWND hwnd, LONG idObject, LONG idItem, PMENUBARINFO pmbi)
471 {
472 return NtUserGetMenuBarInfo(hwnd, idObject, idItem, pmbi);
473 }
474
475 EXTINLINE BOOL WINAPI
476 GetMenuItemRect(HWND hWnd, HMENU hMenu, UINT uItem, LPRECT lprcItem)
477 {
478 return NtUserGetMenuItemRect(hWnd, hMenu, uItem, lprcItem);
479 }
480
481 EXTINLINE BOOL WINAPI
482 RemoveMenu(HMENU hMenu, UINT uPosition, UINT uFlags)
483 {
484 return NtUserRemoveMenu(hMenu, uPosition, uFlags);
485 }
486
487 EXTINLINE BOOL WINAPI
488 SetMenuDefaultItem(HMENU hMenu, UINT uItem, UINT fByPos)
489 {
490 return NtUserSetMenuDefaultItem(hMenu, uItem, fByPos);
491 }
492
493 EXTINLINE BOOL WINAPI
494 SetMenuContextHelpId(HMENU hmenu, DWORD dwContextHelpId)
495 {
496 return NtUserSetMenuContextHelpId(hmenu, dwContextHelpId);
497 }
498
499 EXTINLINE HWND WINAPI
500 SetCapture(HWND hWnd)
501 {
502 return(NtUserSetCapture(hWnd));
503 }
504
505 EXTINLINE BOOL WINAPI
506 InvalidateRect(HWND hWnd, CONST RECT* lpRect, BOOL bErase)
507 {
508 return NtUserInvalidateRect(hWnd, lpRect, bErase);
509 }
510
511 EXTINLINE BOOL WINAPI ValidateRect( HWND hWnd, CONST RECT *lpRect)
512 {
513 return NtUserValidateRect(hWnd, lpRect);
514 }
515
516 EXTINLINE BOOL WINAPI ShowCaret( HWND hWnd )
517 {
518 return NtUserShowCaret(hWnd);
519 }
520
521 EXTINLINE BOOL WINAPI HideCaret( HWND hWnd )
522 {
523 return NtUserHideCaret(hWnd);
524 }
525
526
527
528
529 /*
530 Inline functions that make calling NtUserCall*** functions readable
531 These functions are prepended with NtUserx because they are not
532 real syscalls and they are inlined
533 */
534
535 EXTINLINE BOOL NtUserxDestroyCaret(VOID)
536 {
537 return (BOOL)NtUserCallNoParam(NOPARAM_ROUTINE_DESTROY_CARET);
538 }
539
540 EXTINLINE VOID NtUserxMsqClearWakeMask()
541 {
542 NtUserCallNoParam(NOPARAM_ROUTINE_MSQCLEARWAKEMASK);
543 }
544
545 EXTINLINE HMENU NtUserxCreateMenu()
546 {
547 return (HMENU)NtUserCallNoParam(NOPARAM_ROUTINE_CREATEMENU);
548 }
549
550 EXTINLINE HMENU NtUserxCreatePopupMenu()
551 {
552 return (HMENU)NtUserCallNoParam(NOPARAM_ROUTINE_CREATEMENUPOPUP);
553 }
554
555 EXTINLINE DWORD NtUserxGetMessagePos(VOID)
556 {
557 return (DWORD)NtUserCallNoParam(NOPARAM_ROUTINE_GETMSESSAGEPOS);
558 }
559
560 EXTINLINE BOOL NtUserxReleaseCapture(VOID)
561 {
562 return (BOOL)NtUserCallNoParam(NOPARAM_ROUTINE_RELEASECAPTURE);
563 }
564
565 EXTINLINE BOOL NtUserxInitMessagePump()
566 {
567 return NtUserCallNoParam(NOPARAM_ROUTINE_INIT_MESSAGE_PUMP);
568 }
569
570 EXTINLINE BOOL NtUserxUnInitMessagePump()
571 {
572 return NtUserCallNoParam(NOPARAM_ROUTINE_UNINIT_MESSAGE_PUMP);
573 }
574
575 EXTINLINE HANDLE NtUserxMsqSetWakeMask(DWORD_PTR dwWaitMask)
576 {
577 return (HANDLE)NtUserCallOneParam(dwWaitMask, ONEPARAM_ROUTINE_GETINPUTEVENT);
578 }
579
580 EXTINLINE BOOL NtUserxSetCaretBlinkTime(UINT uMSeconds)
581 {
582 return (BOOL)NtUserCallOneParam(uMSeconds, ONEPARAM_ROUTINE_SETCARETBLINKTIME);
583 }
584
585 EXTINLINE HWND NtUserxWindowFromDC(HDC hDC)
586 {
587 return (HWND)NtUserCallOneParam((DWORD_PTR)hDC, ONEPARAM_ROUTINE_WINDOWFROMDC);
588 }
589
590 EXTINLINE BOOL NtUserxSwapMouseButton(BOOL fSwap)
591 {
592 return (BOOL)NtUserCallOneParam((DWORD_PTR)fSwap, ONEPARAM_ROUTINE_SWAPMOUSEBUTTON);
593 }
594
595 EXTINLINE LPARAM NtUserxSetMessageExtraInfo(LPARAM lParam)
596 {
597 return (LPARAM)NtUserCallOneParam((DWORD_PTR)lParam, ONEPARAM_ROUTINE_SETMESSAGEEXTRAINFO);
598 }
599
600 EXTINLINE INT NtUserxShowCursor(BOOL bShow)
601 {
602 return (INT)NtUserCallOneParam((DWORD_PTR)bShow, ONEPARAM_ROUTINE_SHOWCURSOR);
603 }
604
605 EXTINLINE UINT NtUserxEnumClipboardFormats(UINT format)
606 {
607 return (UINT)NtUserCallOneParam((DWORD_PTR)format, ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS);
608 }
609
610 EXTINLINE HICON NtUserxCreateEmptyCurObject(DWORD_PTR Param)
611 {
612 return (HICON)NtUserCallOneParam(Param, ONEPARAM_ROUTINE_CREATEEMPTYCUROBJECT);
613 }
614
615 EXTINLINE BOOL NtUserxMessageBeep(UINT uType)
616 {
617 return (BOOL)NtUserCallOneParam(uType, ONEPARAM_ROUTINE_MESSAGEBEEP);
618 }
619
620 EXTINLINE HKL NtUserxGetKeyboardLayout(DWORD idThread)
621 {
622 return (HKL)NtUserCallOneParam((DWORD_PTR) idThread, ONEPARAM_ROUTINE_GETKEYBOARDLAYOUT);
623 }
624
625 EXTINLINE INT NtUserxGetKeyboardType(INT nTypeFlag)
626 {
627 return (INT)NtUserCallOneParam((DWORD_PTR) nTypeFlag, ONEPARAM_ROUTINE_GETKEYBOARDTYPE);
628 }
629
630 EXTINLINE INT NtUserxReleaseDC(HDC hDC)
631 {
632 return (INT)NtUserCallOneParam((DWORD_PTR) hDC, ONEPARAM_ROUTINE_RELEASEDC);
633 }
634
635 EXTINLINE UINT NtUserxRealizePalette ( HDC hDC )
636 {
637 return (UINT)NtUserCallOneParam((DWORD_PTR) hDC, ONEPARAM_ROUTINE_REALIZEPALETTE);
638 }
639
640 EXTINLINE VOID NtUserxCreateSystemThreads(DWORD param)
641 {
642 NtUserCallOneParam(param, ONEPARAM_ROUTINE_CREATESYSTEMTHREADS);
643 }
644
645 EXTINLINE HDWP NtUserxBeginDeferWindowPos(INT nNumWindows)
646 {
647 return (HDWP)NtUserCallOneParam((DWORD_PTR)nNumWindows, ONEPARAM_ROUTINE_BEGINDEFERWNDPOS);
648 }
649
650 EXTINLINE BOOL NtUserxReplyMessage(LRESULT lResult)
651 {
652 return NtUserCallOneParam(lResult, ONEPARAM_ROUTINE_REPLYMESSAGE);
653 }
654
655 EXTINLINE VOID NtUserxPostQuitMessage(int nExitCode)
656 {
657 NtUserCallOneParam(nExitCode, ONEPARAM_ROUTINE_POSTQUITMESSAGE);
658 }
659
660 EXTINLINE DWORD NtUserxGetQueueStatus(UINT flags)
661 {
662 return (DWORD)NtUserCallOneParam(flags, ONEPARAM_ROUTINE_GETQUEUESTATUS);
663 }
664
665 EXTINLINE BOOL NtUserxValidateRgn(HWND hWnd, HRGN hRgn)
666 {
667 return (BOOL)NtUserCallHwndParamLock(hWnd, (DWORD_PTR)hRgn, TWOPARAM_ROUTINE_VALIDATERGN);
668 }
669
670 EXTINLINE BOOL NtUserxSetCursorPos(INT x, INT y)
671 {
672 return (BOOL)NtUserCallTwoParam((DWORD)x, (DWORD)y, TWOPARAM_ROUTINE_SETCURSORPOS);
673 }
674
675 EXTINLINE BOOL NtUserxEnableWindow(HWND hWnd, BOOL bEnable)
676 {
677 return (BOOL)NtUserCallTwoParam((DWORD_PTR)hWnd, (DWORD_PTR)bEnable, TWOPARAM_ROUTINE_ENABLEWINDOW);
678 }
679
680 EXTINLINE BOOL NtUserxUpdateUiState(HWND hWnd, DWORD Param)
681 {
682 return (BOOL)NtUserCallTwoParam((DWORD_PTR)hWnd, (DWORD_PTR)Param, TWOPARAM_ROUTINE_ROS_UPDATEUISTATE);
683 }
684
685 EXTINLINE BOOL NtUserxShowOwnedPopups(HWND hWnd, BOOL fShow)
686 {
687 return (BOOL)NtUserCallTwoParam((DWORD_PTR)hWnd, fShow, TWOPARAM_ROUTINE_SHOWOWNEDPOPUPS);
688 }
689
690 EXTINLINE BOOL NtUserxUnhookWindowsHook ( int nCode, HOOKPROC pfnFilterProc )
691 {
692 return (BOOL)NtUserCallTwoParam(nCode, (DWORD_PTR)pfnFilterProc, TWOPARAM_ROUTINE_UNHOOKWINDOWSHOOK);
693 }
694
695 EXTINLINE BOOL NtUserxSetWindowContextHelpId(HWND hWnd, DWORD_PTR dwContextHelpId)
696 {
697 return (BOOL)NtUserCallHwndParam(hWnd, dwContextHelpId, HWNDPARAM_ROUTINE_SETWNDCONTEXTHLPID);
698 }
699
700 EXTINLINE BOOL NtUserxKillSystemTimer(HWND hWnd, UINT_PTR IDEvent)
701 {
702 return (BOOL)NtUserCallHwndParam(hWnd, IDEvent, HWNDPARAM_ROUTINE_KILLSYSTEMTIMER);
703 }
704
705 EXTINLINE VOID NtUserxSetDialogPointer(HWND hWnd, PVOID dlgInfo)
706 {
707 NtUserCallHwndParam( hWnd, (DWORD_PTR)dlgInfo, HWNDPARAM_ROUTINE_SETDIALOGPOINTER );
708 }
709
710 EXTINLINE VOID NtUserxNotifyWinEvent(HWND hWnd, PVOID ne)
711 {
712 NtUserCallHwndParam(hWnd, (DWORD_PTR)ne, HWNDPARAM_ROUTINE_ROS_NOTIFYWINEVENT);
713 }
714
715 EXTINLINE DWORD NtUserxGetWindowContextHelpId(HWND hwnd)
716 {
717 return NtUserCallHwnd(hwnd, HWND_ROUTINE_GETWNDCONTEXTHLPID);
718 }
719
720 EXTINLINE BOOL NtUserxDeregisterShellHookWindow(HWND hWnd)
721 {
722 return NtUserCallHwnd(hWnd, HWND_ROUTINE_DEREGISTERSHELLHOOKWINDOW);
723 }
724
725 EXTINLINE BOOL NtUserxRegisterShellHookWindow(HWND hWnd)
726 {
727 return NtUserCallHwnd(hWnd, HWND_ROUTINE_REGISTERSHELLHOOKWINDOW);
728 }
729
730 EXTINLINE HWND NtUserxSetTaskmanWindow(HWND hWnd)
731 {
732 return NtUserCallHwndOpt(hWnd, HWNDOPT_ROUTINE_SETTASKMANWINDOW);
733 }
734
735 EXTINLINE HWND NtUserxSetProgmanWindow(HWND hWnd)
736 {
737 return NtUserCallHwndOpt(hWnd, HWNDOPT_ROUTINE_SETPROGMANWINDOW);
738 }
739
740 EXTINLINE UINT NtUserxArrangeIconicWindows(HWND hWnd)
741 {
742 return (UINT)NtUserCallHwndLock( hWnd, HWNDLOCK_ROUTINE_ARRANGEICONICWINDOWS);
743 }
744
745 EXTINLINE BOOL NtUserxUpdateWindow(HWND hWnd)
746 {
747 return NtUserCallHwndLock(hWnd, HWNDLOCK_ROUTINE_UPDATEWINDOW);
748 }
749
750 EXTINLINE BOOL NtUserxDrawMenuBar(HWND hWnd)
751 {
752 return (BOOL)NtUserCallHwndLock(hWnd, HWNDLOCK_ROUTINE_DRAWMENUBAR);
753 }
754
755 EXTINLINE BOOL NtUserxMDIRedrawFrame(HWND hWnd)
756 {
757 return (BOOL)NtUserCallHwndLock(hWnd, HWNDLOCK_ROUTINE_REDRAWFRAME);
758 }
759
760 EXTINLINE BOOL NtUserxSetForegroundWindow(HWND hWnd)
761 {
762 return NtUserCallHwndLock(hWnd, HWNDLOCK_ROUTINE_SETFOREGROUNDWINDOW);
763 }
764
765
766 /* Reactos specific definitions */
767
768 EXTINLINE LPARAM NtUserxGetMessageExtraInfo(VOID)
769 {
770 return (LPARAM)NtUserCallNoParam(NOPARAM_ROUTINE_GETMESSAGEEXTRAINFO);
771 }
772
773 EXTINLINE BOOL NtUserxSwitchCaretShowing(THRDCARETINFO* CaretInfo)
774 {
775 return (BOOL)NtUserCallOneParam((DWORD_PTR)CaretInfo, ONEPARAM_ROUTINE_SWITCHCARETSHOWING);
776 }
777
778 EXTINLINE VOID NtUserxEnableProcessWindowGhosting(BOOL bEnable)
779 {
780 NtUserCallOneParam((DWORD_PTR)bEnable, ONEPARAM_ROUTINE_ENABLEPROCWNDGHSTING);
781 }
782
783 EXTINLINE PVOID NtUserxGetDesktopMapping(PVOID ptr)
784 {
785 return (PVOID)NtUserCallOneParam((DWORD_PTR)ptr, ONEPARAM_ROUTINE_GETDESKTOPMAPPING);
786 }
787
788 EXTINLINE BOOL NtUserxGetCursorPos(POINT* lpPoint)
789 {
790 return (BOOL)NtUserCallOneParam((DWORD_PTR)lpPoint, ONEPARAM_ROUTINE_GETCURSORPOSITION);
791 }
792
793 EXTINLINE BOOL NtUserxSetMenuBarHeight(HMENU menu, INT height)
794 {
795 return (BOOL)NtUserCallTwoParam((DWORD_PTR)menu, (DWORD_PTR)height, TWOPARAM_ROUTINE_SETMENUBARHEIGHT);
796 }
797
798 EXTINLINE BOOL NtUserxSetGUIThreadHandle(DWORD_PTR field, HWND hwnd)
799 {
800 return (BOOL)NtUserCallTwoParam((DWORD_PTR)field, (DWORD_PTR)hwnd, TWOPARAM_ROUTINE_SETGUITHRDHANDLE);
801 }
802
803 EXTINLINE BOOL NtUserxSetCaretPos(INT x, INT y)
804 {
805 return (BOOL)NtUserCallTwoParam((DWORD_PTR)x, (DWORD_PTR)y, TWOPARAM_ROUTINE_SETCARETPOS);
806 }
807
808 EXTINLINE BOOL NtUserxRegisterLogonProcess(DWORD dwProcessId, BOOL bRegister)
809 {
810 return (BOOL)NtUserCallTwoParam((DWORD_PTR)dwProcessId, (DWORD_PTR)bRegister, TWOPARAM_ROUTINE_REGISTERLOGONPROCESS);
811 }
812
813 EXTINLINE BOOL NtUserxAllowSetForegroundWindow(DWORD dwProcessId)
814 {
815 return (BOOL)NtUserCallOneParam((DWORD_PTR)dwProcessId, ONEPARAM_ROUTINE_ALLOWSETFOREGND);
816 }
817
818 EXTINLINE BOOL NtUserxLockSetForegroundWindow(UINT uLockCode)
819 {
820 return (BOOL)NtUserCallOneParam((DWORD_PTR)uLockCode, ONEPARAM_ROUTINE_LOCKFOREGNDWINDOW);
821 }