2 #define EXTINLINE extern inline __attribute__((always_inline))
3 #elif defined(_MSC_VER)
4 #define EXTINLINE extern __forceinline
10 GetScrollBarInfo(HWND hWnd
, LONG idObject
, PSCROLLBARINFO psbi
)
12 return NtUserGetScrollBarInfo(hWnd
, idObject
, psbi
);
16 ShowScrollBar(HWND hWnd
, INT wBar
, BOOL bShow
)
18 return NtUserShowScrollBar(hWnd
, wBar
, bShow
);
22 CloseDesktop(HDESK hDesktop
)
24 return NtUserCloseDesktop(hDesktop
);
27 EXTINLINE HDESK WINAPI
28 OpenInputDesktop(DWORD dwFlags
, BOOL fInherit
, ACCESS_MASK dwDesiredAccess
)
30 return NtUserOpenInputDesktop(dwFlags
, fInherit
, dwDesiredAccess
);
36 return NtUserPaintDesktop(hdc
);
40 SetThreadDesktop(HDESK hDesktop
)
42 return NtUserSetThreadDesktop(hDesktop
);
46 SwitchDesktop(HDESK hDesktop
)
48 return NtUserSwitchDesktop(hDesktop
);
52 SetShellWindowEx(HWND hwndShell
, HWND hwndShellListView
)
54 return NtUserSetShellWindowEx(hwndShell
, hwndShellListView
);
57 EXTINLINE DWORD WINAPI
58 GetGuiResources(HANDLE hProcess
, DWORD uiFlags
)
60 return NtUserGetGuiResources(hProcess
, uiFlags
);
64 GetUserObjectInformationW(HANDLE hObj
, int nIndex
, PVOID pvInfo
, DWORD nLength
, LPDWORD lpnLengthNeeded
)
66 return NtUserGetObjectInformation(hObj
, nIndex
, pvInfo
, nLength
, lpnLengthNeeded
);
70 LockWindowUpdate(HWND hWndLock
)
72 return NtUserLockWindowUpdate(hWndLock
);
78 return NtUserLockWorkStation();
81 EXTINLINE DWORD WINAPI
82 RegisterTasklist(DWORD x
)
84 return NtUserRegisterTasklist(x
);
87 EXTINLINE DWORD WINAPI
88 DragObject(HWND hwnd1
, HWND hwnd2
, UINT u1
, ULONG_PTR dw1
, HCURSOR hc1
)
90 return NtUserDragObject(hwnd1
, hwnd2
, u1
, dw1
, hc1
);
94 KillTimer(HWND hWnd
, UINT_PTR IDEvent
)
96 return NtUserKillTimer(hWnd
, IDEvent
);
99 EXTINLINE UINT_PTR WINAPI
100 SetSystemTimer(HWND hWnd
, UINT_PTR IDEvent
, UINT Period
, TIMERPROC TimerFunc
)
102 return NtUserSetSystemTimer(hWnd
, IDEvent
, Period
, TimerFunc
);
105 EXTINLINE UINT_PTR WINAPI
106 SetTimer(HWND hWnd
, UINT_PTR IDEvent
, UINT Period
, TIMERPROC TimerFunc
)
108 return NtUserSetTimer(hWnd
, IDEvent
, Period
, TimerFunc
);
111 EXTINLINE BOOL WINAPI
112 CloseWindowStation(HWINSTA hWinSta
)
114 return NtUserCloseWindowStation(hWinSta
);
117 EXTINLINE HWINSTA WINAPI
118 GetProcessWindowStation(VOID
)
120 return NtUserGetProcessWindowStation();
123 EXTINLINE BOOL WINAPI
124 SetProcessWindowStation(HWINSTA hWinSta
)
126 return NtUserSetProcessWindowStation(hWinSta
);
129 EXTINLINE BOOL WINAPI
130 LockWindowStation(HWINSTA hWinSta
)
132 return NtUserLockWindowStation(hWinSta
);
135 EXTINLINE BOOL WINAPI
136 UnlockWindowStation(HWINSTA hWinSta
)
138 return NtUserUnlockWindowStation(hWinSta
);
142 CopyAcceleratorTableW(HACCEL hAccelSrc
, LPACCEL lpAccelDst
, int cAccelEntries
)
144 return NtUserCopyAcceleratorTable(hAccelSrc
, lpAccelDst
, cAccelEntries
);
147 EXTINLINE HACCEL WINAPI
148 CreateAcceleratorTableW(LPACCEL lpaccl
, int cEntries
)
150 return NtUserCreateAcceleratorTable(lpaccl
, cEntries
);
153 EXTINLINE BOOL WINAPI
154 CreateCaret(HWND hWnd
, HBITMAP hBitmap
, int nWidth
, int nHeight
)
156 return NtUserCreateCaret(hWnd
, hBitmap
, nWidth
, nHeight
);
159 EXTINLINE UINT WINAPI
160 GetCaretBlinkTime(VOID
)
162 return NtUserGetCaretBlinkTime();
165 EXTINLINE BOOL WINAPI
166 GetCaretPos(LPPOINT lpPoint
)
168 return NtUserGetCaretPos(lpPoint
);
171 EXTINLINE BOOL WINAPI
174 return NtUserCloseClipboard();
178 CountClipboardFormats(VOID
)
180 return NtUserCountClipboardFormats();
183 EXTINLINE BOOL WINAPI
186 return NtUserEmptyClipboard();
189 EXTINLINE HWND WINAPI
190 GetClipboardOwner(VOID
)
192 return NtUserGetClipboardOwner();
195 EXTINLINE DWORD WINAPI
196 GetClipboardSequenceNumber(VOID
)
198 return NtUserGetClipboardSequenceNumber();
201 EXTINLINE HWND WINAPI
202 GetClipboardViewer(VOID
)
204 return NtUserGetClipboardViewer();
207 EXTINLINE HWND WINAPI
208 GetOpenClipboardWindow(VOID
)
210 return NtUserGetOpenClipboardWindow();
214 GetPriorityClipboardFormat(UINT
*paFormatPriorityList
, INT cFormats
)
216 return NtUserGetPriorityClipboardFormat(paFormatPriorityList
, cFormats
);
219 EXTINLINE BOOL WINAPI
220 IsClipboardFormatAvailable(UINT format
)
222 return NtUserIsClipboardFormatAvailable(format
);
225 EXTINLINE HWND WINAPI
226 SetClipboardViewer(HWND hWndNewViewer
)
228 return NtUserSetClipboardViewer(hWndNewViewer
);
231 EXTINLINE BOOL WINAPI
232 ChangeClipboardChain(HWND hWndRemove
, HWND hWndNewNext
)
234 return NtUserChangeClipboardChain(hWndRemove
, hWndNewNext
);
237 EXTINLINE BOOL WINAPI
238 GetClipCursor(LPRECT lpRect
)
240 return NtUserGetClipCursor(lpRect
);
243 EXTINLINE HBRUSH WINAPI
GetControlBrush(HWND hwnd
, HDC hdc
, UINT ctlType
)
245 return NtUserGetControlBrush(hwnd
, hdc
, ctlType
);
248 EXTINLINE HBRUSH WINAPI
GetControlColor(HWND hwndParent
, HWND hwnd
, HDC hdc
, UINT CtlMsg
)
250 return NtUserGetControlColor(hwndParent
, hwnd
, hdc
, CtlMsg
);
253 EXTINLINE BOOL WINAPI
254 GetCursorInfo(PCURSORINFO pci
)
256 return NtUserGetCursorInfo(pci
);
259 EXTINLINE BOOL WINAPI
260 ClipCursor(CONST RECT
*lpRect
)
262 return NtUserClipCursor((RECT
*)lpRect
);
265 EXTINLINE HCURSOR WINAPI
266 SetCursor(HCURSOR hCursor
)
268 return NtUserSetCursor(hCursor
);
274 return NtUserGetDC(hWnd
);
278 GetDCEx(HWND hWnd
, HRGN hrgnClip
, DWORD flags
)
280 return NtUserGetDCEx(hWnd
, hrgnClip
, flags
);
284 GetWindowDC(HWND hWnd
)
286 return NtUserGetWindowDC(hWnd
);
289 EXTINLINE BOOL WINAPI
290 FlashWindowEx(PFLASHWINFO pfwi
)
292 return NtUserFlashWindowEx(pfwi
);
295 EXTINLINE BOOL WINAPI
296 DrawAnimatedRects(HWND hWnd
, int idAni
, CONST RECT
*lprcFrom
, CONST RECT
*lprcTo
)
298 return NtUserDrawAnimatedRects(hWnd
, idAni
, (RECT
*)lprcFrom
, (RECT
*)lprcTo
);
301 EXTINLINE BOOL WINAPI
302 BlockInput(BOOL fBlockIt
)
304 return NtUserBlockInput(fBlockIt
);
307 EXTINLINE UINT WINAPI
308 GetDoubleClickTime(VOID
)
310 return NtUserGetDoubleClickTime();
313 EXTINLINE BOOL WINAPI
314 GetKeyboardState(PBYTE lpKeyState
)
316 return NtUserGetKeyboardState((LPBYTE
) lpKeyState
);
319 EXTINLINE BOOL WINAPI
320 RegisterHotKey(HWND hWnd
, int id
, UINT fsModifiers
, UINT vk
)
322 return NtUserRegisterHotKey(hWnd
, id
, fsModifiers
, vk
);
325 EXTINLINE HWND WINAPI
328 return NtUserSetFocus(hWnd
);
331 EXTINLINE BOOL WINAPI
332 SetKeyboardState(LPBYTE lpKeyState
)
334 return NtUserSetKeyboardState((LPBYTE
)lpKeyState
);
337 EXTINLINE UINT WINAPI
338 SendInput(UINT nInputs
, LPINPUT pInputs
, int cbSize
)
340 return NtUserSendInput(nInputs
, pInputs
, cbSize
);
343 EXTINLINE BOOL WINAPI
346 return NtUserWaitMessage();
350 BeginPaint(HWND hwnd
, LPPAINTSTRUCT lpPaint
)
352 return NtUserBeginPaint(hwnd
, lpPaint
);
355 EXTINLINE BOOL WINAPI
356 EndPaint(HWND hWnd
, CONST PAINTSTRUCT
*lpPaint
)
358 return NtUserEndPaint(hWnd
, lpPaint
);
362 ExcludeUpdateRgn(HDC hDC
, HWND hWnd
)
364 return NtUserExcludeUpdateRgn(hDC
, hWnd
);
367 EXTINLINE BOOL WINAPI
368 InvalidateRgn(HWND hWnd
, HRGN hRgn
, BOOL bErase
)
370 return NtUserInvalidateRgn(hWnd
, hRgn
, bErase
);
373 EXTINLINE BOOL WINAPI
374 RedrawWindow(HWND hWnd
, CONST RECT
*lprcUpdate
, HRGN hrgnUpdate
, UINT flags
)
376 return NtUserRedrawWindow(hWnd
, lprcUpdate
, hrgnUpdate
, flags
);
379 EXTINLINE BOOL WINAPI
380 DestroyWindow(HWND hWnd
)
382 return NtUserDestroyWindow(hWnd
);
385 EXTINLINE HWND WINAPI
386 GetForegroundWindow(VOID
)
388 return NtUserGetForegroundWindow();
391 EXTINLINE BOOL WINAPI
392 GetGUIThreadInfo(DWORD idThread
, LPGUITHREADINFO lpgui
)
394 return NtUserGetGUIThreadInfo(idThread
, lpgui
);
397 EXTINLINE BOOL WINAPI
398 GetTitleBarInfo(HWND hwnd
, PTITLEBARINFO pti
)
400 return NtUserGetTitleBarInfo(hwnd
, pti
);
403 EXTINLINE BOOL WINAPI
404 GetWindowPlacement(HWND hWnd
, WINDOWPLACEMENT
*lpwndpl
)
406 return NtUserGetWindowPlacement(hWnd
, lpwndpl
);
409 EXTINLINE BOOL WINAPI
410 MoveWindow(HWND hWnd
, int X
, int Y
, int nWidth
, int nHeight
, BOOL bRepaint
)
412 return NtUserMoveWindow(hWnd
, X
, Y
, nWidth
, nHeight
, bRepaint
);
415 EXTINLINE HWND WINAPI
416 SetParent(HWND hWndChild
, HWND hWndNewParent
)
418 return NtUserSetParent(hWndChild
, hWndNewParent
);
421 EXTINLINE BOOL WINAPI
422 SetWindowPlacement(HWND hWnd
, CONST WINDOWPLACEMENT
*lpwndpl
)
424 return NtUserSetWindowPlacement(hWnd
, (WINDOWPLACEMENT
*)lpwndpl
);
427 EXTINLINE BOOL WINAPI
428 SetWindowPos(HWND hWnd
, HWND hWndAfter
, int X
, int Y
, int cx
, int cy
, UINT uFlags
)
430 return NtUserSetWindowPos(hWnd
,hWndAfter
, X
, Y
, cx
, cy
, uFlags
);
433 EXTINLINE BOOL WINAPI
434 ShowWindow(HWND hWnd
, int nCmdShow
)
436 return NtUserShowWindow(hWnd
, nCmdShow
);
439 EXTINLINE BOOL WINAPI
440 ShowWindowAsync(HWND hWnd
, int nCmdShow
)
442 return NtUserShowWindowAsync(hWnd
, nCmdShow
);
445 EXTINLINE HWND WINAPI
446 SetActiveWindow(HWND hWnd
)
448 return NtUserSetActiveWindow(hWnd
);
451 EXTINLINE DWORD WINAPI
452 GetListBoxInfo(HWND hwnd
)
454 return NtUserGetListBoxInfo(hwnd
); // Do it right! Have the message org from kmode!
457 EXTINLINE BOOL WINAPI
458 DeleteMenu(HMENU hMenu
, UINT uPosition
, UINT uFlags
)
460 return NtUserDeleteMenu(hMenu
, uPosition
, uFlags
);
463 EXTINLINE BOOL WINAPI
464 DestroyMenu(HMENU hMenu
)
466 return NtUserDestroyMenu(hMenu
);
469 EXTINLINE BOOL WINAPI
470 GetMenuBarInfo(HWND hwnd
, LONG idObject
, LONG idItem
, PMENUBARINFO pmbi
)
472 return NtUserGetMenuBarInfo(hwnd
, idObject
, idItem
, pmbi
);
475 EXTINLINE BOOL WINAPI
476 GetMenuItemRect(HWND hWnd
, HMENU hMenu
, UINT uItem
, LPRECT lprcItem
)
478 return NtUserGetMenuItemRect(hWnd
, hMenu
, uItem
, lprcItem
);
481 EXTINLINE BOOL WINAPI
482 RemoveMenu(HMENU hMenu
, UINT uPosition
, UINT uFlags
)
484 return NtUserRemoveMenu(hMenu
, uPosition
, uFlags
);
487 EXTINLINE BOOL WINAPI
488 SetMenuDefaultItem(HMENU hMenu
, UINT uItem
, UINT fByPos
)
490 return NtUserSetMenuDefaultItem(hMenu
, uItem
, fByPos
);
493 EXTINLINE BOOL WINAPI
494 SetMenuContextHelpId(HMENU hmenu
, DWORD dwContextHelpId
)
496 return NtUserSetMenuContextHelpId(hmenu
, dwContextHelpId
);
499 EXTINLINE HWND WINAPI
500 SetCapture(HWND hWnd
)
502 return(NtUserSetCapture(hWnd
));
505 EXTINLINE BOOL WINAPI
506 InvalidateRect(HWND hWnd
, CONST RECT
* lpRect
, BOOL bErase
)
508 return NtUserInvalidateRect(hWnd
, lpRect
, bErase
);
511 EXTINLINE BOOL WINAPI
ValidateRect( HWND hWnd
, CONST RECT
*lpRect
)
513 return NtUserValidateRect(hWnd
, lpRect
);
516 EXTINLINE BOOL WINAPI
ShowCaret( HWND hWnd
)
518 return NtUserShowCaret(hWnd
);
521 EXTINLINE BOOL WINAPI
HideCaret( HWND hWnd
)
523 return NtUserHideCaret(hWnd
);
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
535 EXTINLINE BOOL
NtUserxDestroyCaret(VOID
)
537 return (BOOL
)NtUserCallNoParam(NOPARAM_ROUTINE_DESTROY_CARET
);
540 EXTINLINE VOID
NtUserxMsqClearWakeMask()
542 NtUserCallNoParam(NOPARAM_ROUTINE_MSQCLEARWAKEMASK
);
545 EXTINLINE HMENU
NtUserxCreateMenu()
547 return (HMENU
)NtUserCallNoParam(NOPARAM_ROUTINE_CREATEMENU
);
550 EXTINLINE HMENU
NtUserxCreatePopupMenu()
552 return (HMENU
)NtUserCallNoParam(NOPARAM_ROUTINE_CREATEMENUPOPUP
);
555 EXTINLINE DWORD
NtUserxGetMessagePos(VOID
)
557 return (DWORD
)NtUserCallNoParam(NOPARAM_ROUTINE_GETMSESSAGEPOS
);
560 EXTINLINE BOOL
NtUserxReleaseCapture(VOID
)
562 return (BOOL
)NtUserCallNoParam(NOPARAM_ROUTINE_RELEASECAPTURE
);
565 EXTINLINE BOOL
NtUserxInitMessagePump()
567 return NtUserCallNoParam(NOPARAM_ROUTINE_INIT_MESSAGE_PUMP
);
570 EXTINLINE BOOL
NtUserxUnInitMessagePump()
572 return NtUserCallNoParam(NOPARAM_ROUTINE_UNINIT_MESSAGE_PUMP
);
575 EXTINLINE HANDLE
NtUserxMsqSetWakeMask(DWORD_PTR dwWaitMask
)
577 return (HANDLE
)NtUserCallOneParam(dwWaitMask
, ONEPARAM_ROUTINE_GETINPUTEVENT
);
580 EXTINLINE BOOL
NtUserxSetCaretBlinkTime(UINT uMSeconds
)
582 return (BOOL
)NtUserCallOneParam(uMSeconds
, ONEPARAM_ROUTINE_SETCARETBLINKTIME
);
585 EXTINLINE HWND
NtUserxWindowFromDC(HDC hDC
)
587 return (HWND
)NtUserCallOneParam((DWORD_PTR
)hDC
, ONEPARAM_ROUTINE_WINDOWFROMDC
);
590 EXTINLINE BOOL
NtUserxSwapMouseButton(BOOL fSwap
)
592 return (BOOL
)NtUserCallOneParam((DWORD_PTR
)fSwap
, ONEPARAM_ROUTINE_SWAPMOUSEBUTTON
);
595 EXTINLINE LPARAM
NtUserxSetMessageExtraInfo(LPARAM lParam
)
597 return (LPARAM
)NtUserCallOneParam((DWORD_PTR
)lParam
, ONEPARAM_ROUTINE_SETMESSAGEEXTRAINFO
);
600 EXTINLINE INT
NtUserxShowCursor(BOOL bShow
)
602 return (INT
)NtUserCallOneParam((DWORD_PTR
)bShow
, ONEPARAM_ROUTINE_SHOWCURSOR
);
605 EXTINLINE UINT
NtUserxEnumClipboardFormats(UINT format
)
607 return (UINT
)NtUserCallOneParam((DWORD_PTR
)format
, ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS
);
610 EXTINLINE HICON
NtUserxCreateEmptyCurObject(DWORD_PTR Param
)
612 return (HICON
)NtUserCallOneParam(Param
, ONEPARAM_ROUTINE_CREATEEMPTYCUROBJECT
);
615 EXTINLINE BOOL
NtUserxMessageBeep(UINT uType
)
617 return (BOOL
)NtUserCallOneParam(uType
, ONEPARAM_ROUTINE_MESSAGEBEEP
);
620 EXTINLINE HKL
NtUserxGetKeyboardLayout(DWORD idThread
)
622 return (HKL
)NtUserCallOneParam((DWORD_PTR
) idThread
, ONEPARAM_ROUTINE_GETKEYBOARDLAYOUT
);
625 EXTINLINE INT
NtUserxGetKeyboardType(INT nTypeFlag
)
627 return (INT
)NtUserCallOneParam((DWORD_PTR
) nTypeFlag
, ONEPARAM_ROUTINE_GETKEYBOARDTYPE
);
630 EXTINLINE INT
NtUserxReleaseDC(HDC hDC
)
632 return (INT
)NtUserCallOneParam((DWORD_PTR
) hDC
, ONEPARAM_ROUTINE_RELEASEDC
);
635 EXTINLINE UINT
NtUserxRealizePalette ( HDC hDC
)
637 return (UINT
)NtUserCallOneParam((DWORD_PTR
) hDC
, ONEPARAM_ROUTINE_REALIZEPALETTE
);
640 EXTINLINE VOID
NtUserxCreateSystemThreads(DWORD param
)
642 NtUserCallOneParam(param
, ONEPARAM_ROUTINE_CREATESYSTEMTHREADS
);
645 EXTINLINE HDWP
NtUserxBeginDeferWindowPos(INT nNumWindows
)
647 return (HDWP
)NtUserCallOneParam((DWORD_PTR
)nNumWindows
, ONEPARAM_ROUTINE_BEGINDEFERWNDPOS
);
650 EXTINLINE BOOL
NtUserxReplyMessage(LRESULT lResult
)
652 return NtUserCallOneParam(lResult
, ONEPARAM_ROUTINE_REPLYMESSAGE
);
655 EXTINLINE VOID
NtUserxPostQuitMessage(int nExitCode
)
657 NtUserCallOneParam(nExitCode
, ONEPARAM_ROUTINE_POSTQUITMESSAGE
);
660 EXTINLINE DWORD
NtUserxGetQueueStatus(UINT flags
)
662 return (DWORD
)NtUserCallOneParam(flags
, ONEPARAM_ROUTINE_GETQUEUESTATUS
);
665 EXTINLINE BOOL
NtUserxValidateRgn(HWND hWnd
, HRGN hRgn
)
667 return (BOOL
)NtUserCallHwndParamLock(hWnd
, (DWORD_PTR
)hRgn
, TWOPARAM_ROUTINE_VALIDATERGN
);
670 EXTINLINE BOOL
NtUserxSetCursorPos(INT x
, INT y
)
672 return (BOOL
)NtUserCallTwoParam((DWORD
)x
, (DWORD
)y
, TWOPARAM_ROUTINE_SETCURSORPOS
);
675 EXTINLINE BOOL
NtUserxEnableWindow(HWND hWnd
, BOOL bEnable
)
677 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)hWnd
, (DWORD_PTR
)bEnable
, TWOPARAM_ROUTINE_ENABLEWINDOW
);
680 EXTINLINE BOOL
NtUserxUpdateUiState(HWND hWnd
, DWORD Param
)
682 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)hWnd
, (DWORD_PTR
)Param
, TWOPARAM_ROUTINE_ROS_UPDATEUISTATE
);
685 EXTINLINE BOOL
NtUserxShowOwnedPopups(HWND hWnd
, BOOL fShow
)
687 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)hWnd
, fShow
, TWOPARAM_ROUTINE_SHOWOWNEDPOPUPS
);
690 EXTINLINE BOOL
NtUserxUnhookWindowsHook ( int nCode
, HOOKPROC pfnFilterProc
)
692 return (BOOL
)NtUserCallTwoParam(nCode
, (DWORD_PTR
)pfnFilterProc
, TWOPARAM_ROUTINE_UNHOOKWINDOWSHOOK
);
695 EXTINLINE BOOL
NtUserxSetWindowContextHelpId(HWND hWnd
, DWORD_PTR dwContextHelpId
)
697 return (BOOL
)NtUserCallHwndParam(hWnd
, dwContextHelpId
, HWNDPARAM_ROUTINE_SETWNDCONTEXTHLPID
);
700 EXTINLINE BOOL
NtUserxKillSystemTimer(HWND hWnd
, UINT_PTR IDEvent
)
702 return (BOOL
)NtUserCallHwndParam(hWnd
, IDEvent
, HWNDPARAM_ROUTINE_KILLSYSTEMTIMER
);
705 EXTINLINE VOID
NtUserxSetDialogPointer(HWND hWnd
, PVOID dlgInfo
)
707 NtUserCallHwndParam( hWnd
, (DWORD_PTR
)dlgInfo
, HWNDPARAM_ROUTINE_SETDIALOGPOINTER
);
710 EXTINLINE VOID
NtUserxNotifyWinEvent(HWND hWnd
, PVOID ne
)
712 NtUserCallHwndParam(hWnd
, (DWORD_PTR
)ne
, HWNDPARAM_ROUTINE_ROS_NOTIFYWINEVENT
);
715 EXTINLINE DWORD
NtUserxGetWindowContextHelpId(HWND hwnd
)
717 return NtUserCallHwnd(hwnd
, HWND_ROUTINE_GETWNDCONTEXTHLPID
);
720 EXTINLINE BOOL
NtUserxDeregisterShellHookWindow(HWND hWnd
)
722 return NtUserCallHwnd(hWnd
, HWND_ROUTINE_DEREGISTERSHELLHOOKWINDOW
);
725 EXTINLINE BOOL
NtUserxRegisterShellHookWindow(HWND hWnd
)
727 return NtUserCallHwnd(hWnd
, HWND_ROUTINE_REGISTERSHELLHOOKWINDOW
);
730 EXTINLINE HWND
NtUserxSetTaskmanWindow(HWND hWnd
)
732 return NtUserCallHwndOpt(hWnd
, HWNDOPT_ROUTINE_SETTASKMANWINDOW
);
735 EXTINLINE HWND
NtUserxSetProgmanWindow(HWND hWnd
)
737 return NtUserCallHwndOpt(hWnd
, HWNDOPT_ROUTINE_SETPROGMANWINDOW
);
740 EXTINLINE UINT
NtUserxArrangeIconicWindows(HWND hWnd
)
742 return (UINT
)NtUserCallHwndLock( hWnd
, HWNDLOCK_ROUTINE_ARRANGEICONICWINDOWS
);
745 EXTINLINE BOOL
NtUserxUpdateWindow(HWND hWnd
)
747 return NtUserCallHwndLock(hWnd
, HWNDLOCK_ROUTINE_UPDATEWINDOW
);
750 EXTINLINE BOOL
NtUserxDrawMenuBar(HWND hWnd
)
752 return (BOOL
)NtUserCallHwndLock(hWnd
, HWNDLOCK_ROUTINE_DRAWMENUBAR
);
755 EXTINLINE BOOL
NtUserxMDIRedrawFrame(HWND hWnd
)
757 return (BOOL
)NtUserCallHwndLock(hWnd
, HWNDLOCK_ROUTINE_REDRAWFRAME
);
760 EXTINLINE BOOL
NtUserxSetForegroundWindow(HWND hWnd
)
762 return NtUserCallHwndLock(hWnd
, HWNDLOCK_ROUTINE_SETFOREGROUNDWINDOW
);
766 /* Reactos specific definitions */
768 EXTINLINE LPARAM
NtUserxGetMessageExtraInfo(VOID
)
770 return (LPARAM
)NtUserCallNoParam(NOPARAM_ROUTINE_GETMESSAGEEXTRAINFO
);
773 EXTINLINE BOOL
NtUserxSwitchCaretShowing(THRDCARETINFO
* CaretInfo
)
775 return (BOOL
)NtUserCallOneParam((DWORD_PTR
)CaretInfo
, ONEPARAM_ROUTINE_SWITCHCARETSHOWING
);
778 EXTINLINE VOID
NtUserxEnableProcessWindowGhosting(BOOL bEnable
)
780 NtUserCallOneParam((DWORD_PTR
)bEnable
, ONEPARAM_ROUTINE_ENABLEPROCWNDGHSTING
);
783 EXTINLINE PVOID
NtUserxGetDesktopMapping(PVOID ptr
)
785 return (PVOID
)NtUserCallOneParam((DWORD_PTR
)ptr
, ONEPARAM_ROUTINE_GETDESKTOPMAPPING
);
788 EXTINLINE BOOL
NtUserxGetCursorPos(POINT
* lpPoint
)
790 return (BOOL
)NtUserCallOneParam((DWORD_PTR
)lpPoint
, ONEPARAM_ROUTINE_GETCURSORPOSITION
);
793 EXTINLINE BOOL
NtUserxSetMenuBarHeight(HMENU menu
, INT height
)
795 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)menu
, (DWORD_PTR
)height
, TWOPARAM_ROUTINE_SETMENUBARHEIGHT
);
798 EXTINLINE BOOL
NtUserxSetGUIThreadHandle(DWORD_PTR field
, HWND hwnd
)
800 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)field
, (DWORD_PTR
)hwnd
, TWOPARAM_ROUTINE_SETGUITHRDHANDLE
);
803 EXTINLINE BOOL
NtUserxSetCaretPos(INT x
, INT y
)
805 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)x
, (DWORD_PTR
)y
, TWOPARAM_ROUTINE_SETCARETPOS
);
808 EXTINLINE BOOL
NtUserxRegisterLogonProcess(DWORD dwProcessId
, BOOL bRegister
)
810 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)dwProcessId
, (DWORD_PTR
)bRegister
, TWOPARAM_ROUTINE_REGISTERLOGONPROCESS
);
813 EXTINLINE BOOL
NtUserxAllowSetForegroundWindow(DWORD dwProcessId
)
815 return (BOOL
)NtUserCallOneParam((DWORD_PTR
)dwProcessId
, ONEPARAM_ROUTINE_ALLOWSETFOREGND
);
818 EXTINLINE BOOL
NtUserxLockSetForegroundWindow(UINT uLockCode
)
820 return (BOOL
)NtUserCallOneParam((DWORD_PTR
)uLockCode
, ONEPARAM_ROUTINE_LOCKFOREGNDWINDOW
);