2 #define EXTINLINE extern inline __attribute__((always_inline))
3 #elif defined(_MSC_VER)
4 #define EXTINLINE extern __forceinline
9 BOOL FASTCALL
TestState(PWND
, UINT
);
12 GetScrollBarInfo(HWND hWnd
, LONG idObject
, PSCROLLBARINFO psbi
)
14 return NtUserGetScrollBarInfo(hWnd
, idObject
, psbi
);
18 ShowScrollBar(HWND hWnd
, INT wBar
, BOOL bShow
)
20 return NtUserShowScrollBar(hWnd
, wBar
, bShow
);
24 CloseDesktop(HDESK hDesktop
)
26 return NtUserCloseDesktop(hDesktop
);
29 EXTINLINE HDESK WINAPI
30 OpenInputDesktop(DWORD dwFlags
, BOOL fInherit
, ACCESS_MASK dwDesiredAccess
)
32 return NtUserOpenInputDesktop(dwFlags
, fInherit
, dwDesiredAccess
);
38 return NtUserPaintDesktop(hdc
);
42 SetThreadDesktop(HDESK hDesktop
)
44 return NtUserSetThreadDesktop(hDesktop
);
48 SwitchDesktop(HDESK hDesktop
)
50 return NtUserSwitchDesktop(hDesktop
);
54 SetShellWindowEx(HWND hwndShell
, HWND hwndShellListView
)
56 return NtUserSetShellWindowEx(hwndShell
, hwndShellListView
);
59 EXTINLINE DWORD WINAPI
60 GetGuiResources(HANDLE hProcess
, DWORD uiFlags
)
62 return NtUserGetGuiResources(hProcess
, uiFlags
);
66 GetUserObjectInformationW(HANDLE hObj
, int nIndex
, PVOID pvInfo
, DWORD nLength
, LPDWORD lpnLengthNeeded
)
68 return NtUserGetObjectInformation(hObj
, nIndex
, pvInfo
, nLength
, lpnLengthNeeded
);
72 LockWindowUpdate(HWND hWndLock
)
74 return NtUserLockWindowUpdate(hWndLock
);
80 return NtUserLockWorkStation();
83 EXTINLINE DWORD WINAPI
84 RegisterTasklist(DWORD x
)
86 return NtUserRegisterTasklist(x
);
89 EXTINLINE DWORD WINAPI
90 DragObject(HWND hwnd1
, HWND hwnd2
, UINT u1
, ULONG_PTR dw1
, HCURSOR hc1
)
92 return NtUserDragObject(hwnd1
, hwnd2
, u1
, dw1
, hc1
);
96 KillTimer(HWND hWnd
, UINT_PTR IDEvent
)
98 return NtUserKillTimer(hWnd
, IDEvent
);
101 EXTINLINE UINT_PTR WINAPI
102 SetSystemTimer(HWND hWnd
, UINT_PTR IDEvent
, UINT Period
, TIMERPROC TimerFunc
)
104 return NtUserSetSystemTimer(hWnd
, IDEvent
, Period
, TimerFunc
);
107 EXTINLINE UINT_PTR WINAPI
108 SetTimer(HWND hWnd
, UINT_PTR IDEvent
, UINT Period
, TIMERPROC TimerFunc
)
110 return NtUserSetTimer(hWnd
, IDEvent
, Period
, TimerFunc
);
113 EXTINLINE BOOL WINAPI
114 CloseWindowStation(HWINSTA hWinSta
)
116 return NtUserCloseWindowStation(hWinSta
);
119 EXTINLINE HWINSTA WINAPI
120 GetProcessWindowStation(VOID
)
122 return NtUserGetProcessWindowStation();
125 EXTINLINE BOOL WINAPI
126 SetProcessWindowStation(HWINSTA hWinSta
)
128 return NtUserSetProcessWindowStation(hWinSta
);
131 EXTINLINE BOOL WINAPI
132 LockWindowStation(HWINSTA hWinSta
)
134 return NtUserLockWindowStation(hWinSta
);
137 EXTINLINE BOOL WINAPI
138 UnlockWindowStation(HWINSTA hWinSta
)
140 return NtUserUnlockWindowStation(hWinSta
);
144 CopyAcceleratorTableW(HACCEL hAccelSrc
, LPACCEL lpAccelDst
, int cAccelEntries
)
146 return NtUserCopyAcceleratorTable(hAccelSrc
, lpAccelDst
, cAccelEntries
);
149 EXTINLINE HACCEL WINAPI
150 CreateAcceleratorTableW(LPACCEL lpaccl
, int cEntries
)
152 return NtUserCreateAcceleratorTable(lpaccl
, cEntries
);
155 EXTINLINE BOOL WINAPI
156 CreateCaret(HWND hWnd
, HBITMAP hBitmap
, int nWidth
, int nHeight
)
158 return NtUserCreateCaret(hWnd
, hBitmap
, nWidth
, nHeight
);
161 EXTINLINE UINT WINAPI
162 GetCaretBlinkTime(VOID
)
164 return NtUserGetCaretBlinkTime();
167 EXTINLINE BOOL WINAPI
168 GetCaretPos(LPPOINT lpPoint
)
170 return NtUserGetCaretPos(lpPoint
);
173 EXTINLINE BOOL WINAPI
176 return NtUserCloseClipboard();
180 CountClipboardFormats(VOID
)
182 return NtUserCountClipboardFormats();
185 EXTINLINE BOOL WINAPI
188 return NtUserEmptyClipboard();
191 EXTINLINE HWND WINAPI
192 GetClipboardOwner(VOID
)
194 return NtUserGetClipboardOwner();
197 EXTINLINE DWORD WINAPI
198 GetClipboardSequenceNumber(VOID
)
200 return NtUserGetClipboardSequenceNumber();
203 EXTINLINE HWND WINAPI
204 GetClipboardViewer(VOID
)
206 return NtUserGetClipboardViewer();
209 EXTINLINE HWND WINAPI
210 GetOpenClipboardWindow(VOID
)
212 return NtUserGetOpenClipboardWindow();
216 GetPriorityClipboardFormat(UINT
*paFormatPriorityList
, INT cFormats
)
218 return NtUserGetPriorityClipboardFormat(paFormatPriorityList
, cFormats
);
221 EXTINLINE BOOL WINAPI
222 IsClipboardFormatAvailable(UINT format
)
224 return NtUserIsClipboardFormatAvailable(format
);
227 EXTINLINE HWND WINAPI
228 SetClipboardViewer(HWND hWndNewViewer
)
230 return NtUserSetClipboardViewer(hWndNewViewer
);
233 EXTINLINE BOOL WINAPI
234 ChangeClipboardChain(HWND hWndRemove
, HWND hWndNewNext
)
236 return NtUserChangeClipboardChain(hWndRemove
, hWndNewNext
);
239 EXTINLINE BOOL WINAPI
240 GetClipCursor(LPRECT lpRect
)
242 return NtUserGetClipCursor(lpRect
);
245 EXTINLINE HBRUSH WINAPI
GetControlBrush(HWND hwnd
, HDC hdc
, UINT ctlType
)
247 return NtUserGetControlBrush(hwnd
, hdc
, ctlType
);
250 EXTINLINE HBRUSH WINAPI
GetControlColor(HWND hwndParent
, HWND hwnd
, HDC hdc
, UINT CtlMsg
)
252 return NtUserGetControlColor(hwndParent
, hwnd
, hdc
, CtlMsg
);
255 EXTINLINE BOOL WINAPI
256 GetCursorInfo(PCURSORINFO pci
)
258 return NtUserGetCursorInfo(pci
);
261 EXTINLINE BOOL WINAPI
262 ClipCursor(CONST RECT
*lpRect
)
264 return NtUserClipCursor((RECT
*)lpRect
);
267 EXTINLINE HCURSOR WINAPI
268 SetCursor(HCURSOR hCursor
)
270 return NtUserSetCursor(hCursor
);
276 return NtUserGetDC(hWnd
);
280 GetDCEx(HWND hWnd
, HRGN hrgnClip
, DWORD flags
)
282 return NtUserGetDCEx(hWnd
, hrgnClip
, flags
);
286 GetWindowDC(HWND hWnd
)
288 return NtUserGetWindowDC(hWnd
);
291 EXTINLINE BOOL WINAPI
292 FlashWindowEx(PFLASHWINFO pfwi
)
294 return NtUserFlashWindowEx(pfwi
);
297 EXTINLINE BOOL WINAPI
298 DrawAnimatedRects(HWND hWnd
, int idAni
, CONST RECT
*lprcFrom
, CONST RECT
*lprcTo
)
300 return NtUserDrawAnimatedRects(hWnd
, idAni
, (RECT
*)lprcFrom
, (RECT
*)lprcTo
);
303 EXTINLINE BOOL WINAPI
304 BlockInput(BOOL fBlockIt
)
306 return NtUserBlockInput(fBlockIt
);
309 EXTINLINE UINT WINAPI
310 GetDoubleClickTime(VOID
)
312 return NtUserGetDoubleClickTime();
315 EXTINLINE BOOL WINAPI
316 GetKeyboardState(PBYTE lpKeyState
)
318 return NtUserGetKeyboardState((LPBYTE
) lpKeyState
);
321 EXTINLINE BOOL WINAPI
322 RegisterHotKey(HWND hWnd
, int id
, UINT fsModifiers
, UINT vk
)
324 return NtUserRegisterHotKey(hWnd
, id
, fsModifiers
, vk
);
327 EXTINLINE HWND WINAPI
330 return NtUserSetFocus(hWnd
);
333 EXTINLINE BOOL WINAPI
334 SetKeyboardState(LPBYTE lpKeyState
)
336 return NtUserSetKeyboardState((LPBYTE
)lpKeyState
);
339 EXTINLINE UINT WINAPI
340 SendInput(UINT nInputs
, LPINPUT pInputs
, int cbSize
)
342 return NtUserSendInput(nInputs
, pInputs
, cbSize
);
345 EXTINLINE BOOL WINAPI
348 return NtUserWaitMessage();
352 BeginPaint(HWND hwnd
, LPPAINTSTRUCT lpPaint
)
354 return NtUserBeginPaint(hwnd
, lpPaint
);
357 EXTINLINE BOOL WINAPI
358 EndPaint(HWND hWnd
, CONST PAINTSTRUCT
*lpPaint
)
360 return NtUserEndPaint(hWnd
, lpPaint
);
364 ExcludeUpdateRgn(HDC hDC
, HWND hWnd
)
366 return NtUserExcludeUpdateRgn(hDC
, hWnd
);
369 EXTINLINE BOOL WINAPI
370 InvalidateRgn(HWND hWnd
, HRGN hRgn
, BOOL bErase
)
372 return NtUserInvalidateRgn(hWnd
, hRgn
, bErase
);
375 EXTINLINE BOOL WINAPI
376 RedrawWindow(HWND hWnd
, CONST RECT
*lprcUpdate
, HRGN hrgnUpdate
, UINT flags
)
378 return NtUserRedrawWindow(hWnd
, lprcUpdate
, hrgnUpdate
, flags
);
381 EXTINLINE BOOL WINAPI
382 DestroyWindow(HWND hWnd
)
384 return NtUserDestroyWindow(hWnd
);
387 EXTINLINE HWND WINAPI
388 GetForegroundWindow(VOID
)
390 return NtUserGetForegroundWindow();
393 EXTINLINE BOOL WINAPI
394 GetGUIThreadInfo(DWORD idThread
, LPGUITHREADINFO lpgui
)
396 return NtUserGetGUIThreadInfo(idThread
, lpgui
);
399 EXTINLINE BOOL WINAPI
400 GetTitleBarInfo(HWND hwnd
, PTITLEBARINFO pti
)
402 return NtUserGetTitleBarInfo(hwnd
, pti
);
405 EXTINLINE BOOL WINAPI
406 GetWindowPlacement(HWND hWnd
, WINDOWPLACEMENT
*lpwndpl
)
408 return NtUserGetWindowPlacement(hWnd
, lpwndpl
);
411 EXTINLINE BOOL WINAPI
412 MoveWindow(HWND hWnd
, int X
, int Y
, int nWidth
, int nHeight
, BOOL bRepaint
)
414 return NtUserMoveWindow(hWnd
, X
, Y
, nWidth
, nHeight
, bRepaint
);
417 EXTINLINE HWND WINAPI
418 SetParent(HWND hWndChild
, HWND hWndNewParent
)
420 return NtUserSetParent(hWndChild
, hWndNewParent
);
423 EXTINLINE BOOL WINAPI
424 SetWindowPlacement(HWND hWnd
, CONST WINDOWPLACEMENT
*lpwndpl
)
426 return NtUserSetWindowPlacement(hWnd
, (WINDOWPLACEMENT
*)lpwndpl
);
429 EXTINLINE BOOL WINAPI
430 SetWindowPos(HWND hWnd
, HWND hWndAfter
, int X
, int Y
, int cx
, int cy
, UINT uFlags
)
432 return NtUserSetWindowPos(hWnd
,hWndAfter
, X
, Y
, cx
, cy
, uFlags
);
435 EXTINLINE BOOL WINAPI
436 ShowWindow(HWND hWnd
, int nCmdShow
)
438 return NtUserShowWindow(hWnd
, nCmdShow
);
441 EXTINLINE BOOL WINAPI
442 ShowWindowAsync(HWND hWnd
, int nCmdShow
)
444 return NtUserShowWindowAsync(hWnd
, nCmdShow
);
447 EXTINLINE HWND WINAPI
448 SetActiveWindow(HWND hWnd
)
450 return NtUserSetActiveWindow(hWnd
);
453 EXTINLINE DWORD WINAPI
454 GetListBoxInfo(HWND hwnd
)
456 return NtUserGetListBoxInfo(hwnd
); // Do it right! Have the message org from kmode!
459 EXTINLINE BOOL WINAPI
460 DeleteMenu(HMENU hMenu
, UINT uPosition
, UINT uFlags
)
462 return NtUserDeleteMenu(hMenu
, uPosition
, uFlags
);
465 EXTINLINE BOOL WINAPI
466 DestroyMenu(HMENU hMenu
)
468 return NtUserDestroyMenu(hMenu
);
471 /*EXTINLINE BOOL WINAPI
472 GetMenuBarInfo(HWND hwnd, LONG idObject, LONG idItem, PMENUBARINFO pmbi)
474 return NtUserGetMenuBarInfo(hwnd, idObject, idItem, pmbi);
477 EXTINLINE BOOL WINAPI
478 GetMenuItemRect(HWND hWnd
, HMENU hMenu
, UINT uItem
, LPRECT lprcItem
)
480 return NtUserGetMenuItemRect(hWnd
, hMenu
, uItem
, lprcItem
);
483 EXTINLINE BOOL WINAPI
484 RemoveMenu(HMENU hMenu
, UINT uPosition
, UINT uFlags
)
486 return NtUserRemoveMenu(hMenu
, uPosition
, uFlags
);
489 EXTINLINE BOOL WINAPI
490 SetMenuDefaultItem(HMENU hMenu
, UINT uItem
, UINT fByPos
)
492 return NtUserSetMenuDefaultItem(hMenu
, uItem
, fByPos
);
495 EXTINLINE BOOL WINAPI
496 SetMenuContextHelpId(HMENU hmenu
, DWORD dwContextHelpId
)
498 return NtUserSetMenuContextHelpId(hmenu
, dwContextHelpId
);
501 EXTINLINE HWND WINAPI
502 SetCapture(HWND hWnd
)
504 return(NtUserSetCapture(hWnd
));
507 EXTINLINE BOOL WINAPI
508 InvalidateRect(HWND hWnd
, CONST RECT
* lpRect
, BOOL bErase
)
510 return NtUserInvalidateRect(hWnd
, lpRect
, bErase
);
513 EXTINLINE BOOL WINAPI
ValidateRect( HWND hWnd
, CONST RECT
*lpRect
)
515 return NtUserValidateRect(hWnd
, lpRect
);
518 EXTINLINE BOOL WINAPI
ShowCaret( HWND hWnd
)
520 return NtUserShowCaret(hWnd
);
523 EXTINLINE BOOL WINAPI
HideCaret( HWND hWnd
)
525 return NtUserHideCaret(hWnd
);
532 Inline functions that make calling NtUserCall*** functions readable
533 These functions are prepended with NtUserx because they are not
534 real syscalls and they are inlined
537 EXTINLINE BOOL
NtUserxDestroyCaret(VOID
)
539 return (BOOL
)NtUserCallNoParam(NOPARAM_ROUTINE_DESTROY_CARET
);
542 EXTINLINE VOID
NtUserxMsqClearWakeMask()
544 NtUserCallNoParam(NOPARAM_ROUTINE_MSQCLEARWAKEMASK
);
547 EXTINLINE HMENU
NtUserxCreateMenu()
549 return (HMENU
)NtUserCallNoParam(NOPARAM_ROUTINE_CREATEMENU
);
552 EXTINLINE HMENU
NtUserxCreatePopupMenu()
554 return (HMENU
)NtUserCallNoParam(NOPARAM_ROUTINE_CREATEMENUPOPUP
);
557 EXTINLINE DWORD
NtUserxGetMessagePos(VOID
)
559 return (DWORD
)NtUserCallNoParam(NOPARAM_ROUTINE_GETMSESSAGEPOS
);
562 EXTINLINE BOOL
NtUserxReleaseCapture(VOID
)
564 return (BOOL
)NtUserCallNoParam(NOPARAM_ROUTINE_RELEASECAPTURE
);
567 EXTINLINE BOOL
NtUserxInitMessagePump()
569 return NtUserCallNoParam(NOPARAM_ROUTINE_INIT_MESSAGE_PUMP
);
572 EXTINLINE BOOL
NtUserxUnInitMessagePump()
574 return NtUserCallNoParam(NOPARAM_ROUTINE_UNINIT_MESSAGE_PUMP
);
577 EXTINLINE HANDLE
NtUserxMsqSetWakeMask(DWORD_PTR dwWaitMask
)
579 return (HANDLE
)NtUserCallOneParam(dwWaitMask
, ONEPARAM_ROUTINE_GETINPUTEVENT
);
582 EXTINLINE BOOL
NtUserxSetCaretBlinkTime(UINT uMSeconds
)
584 return (BOOL
)NtUserCallOneParam(uMSeconds
, ONEPARAM_ROUTINE_SETCARETBLINKTIME
);
587 EXTINLINE HWND
NtUserxWindowFromDC(HDC hDC
)
589 return (HWND
)NtUserCallOneParam((DWORD_PTR
)hDC
, ONEPARAM_ROUTINE_WINDOWFROMDC
);
592 EXTINLINE BOOL
NtUserxSwapMouseButton(BOOL fSwap
)
594 return (BOOL
)NtUserCallOneParam((DWORD_PTR
)fSwap
, ONEPARAM_ROUTINE_SWAPMOUSEBUTTON
);
597 EXTINLINE LPARAM
NtUserxSetMessageExtraInfo(LPARAM lParam
)
599 return (LPARAM
)NtUserCallOneParam((DWORD_PTR
)lParam
, ONEPARAM_ROUTINE_SETMESSAGEEXTRAINFO
);
602 EXTINLINE INT
NtUserxShowCursor(BOOL bShow
)
604 return (INT
)NtUserCallOneParam((DWORD_PTR
)bShow
, ONEPARAM_ROUTINE_SHOWCURSOR
);
607 EXTINLINE UINT
NtUserxEnumClipboardFormats(UINT format
)
609 return (UINT
)NtUserCallOneParam((DWORD_PTR
)format
, ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS
);
612 EXTINLINE HICON
NtUserxCreateEmptyCurObject(DWORD_PTR Param
)
614 return (HICON
)NtUserCallOneParam(Param
, ONEPARAM_ROUTINE_CREATEEMPTYCUROBJECT
);
617 EXTINLINE BOOL
NtUserxMessageBeep(UINT uType
)
619 return (BOOL
)NtUserCallOneParam(uType
, ONEPARAM_ROUTINE_MESSAGEBEEP
);
622 EXTINLINE HKL
NtUserxGetKeyboardLayout(DWORD idThread
)
624 return (HKL
)NtUserCallOneParam((DWORD_PTR
) idThread
, ONEPARAM_ROUTINE_GETKEYBOARDLAYOUT
);
627 EXTINLINE INT
NtUserxGetKeyboardType(INT nTypeFlag
)
629 return (INT
)NtUserCallOneParam((DWORD_PTR
) nTypeFlag
, ONEPARAM_ROUTINE_GETKEYBOARDTYPE
);
632 EXTINLINE INT
NtUserxReleaseDC(HDC hDC
)
634 return (INT
)NtUserCallOneParam((DWORD_PTR
) hDC
, ONEPARAM_ROUTINE_RELEASEDC
);
637 EXTINLINE UINT
NtUserxRealizePalette ( HDC hDC
)
639 return (UINT
)NtUserCallOneParam((DWORD_PTR
) hDC
, ONEPARAM_ROUTINE_REALIZEPALETTE
);
642 EXTINLINE VOID
NtUserxCreateSystemThreads(DWORD param
)
644 NtUserCallOneParam(param
, ONEPARAM_ROUTINE_CREATESYSTEMTHREADS
);
647 EXTINLINE HDWP
NtUserxBeginDeferWindowPos(INT nNumWindows
)
649 return (HDWP
)NtUserCallOneParam((DWORD_PTR
)nNumWindows
, ONEPARAM_ROUTINE_BEGINDEFERWNDPOS
);
652 EXTINLINE BOOL
NtUserxReplyMessage(LRESULT lResult
)
654 return NtUserCallOneParam(lResult
, ONEPARAM_ROUTINE_REPLYMESSAGE
);
657 EXTINLINE VOID
NtUserxPostQuitMessage(int nExitCode
)
659 NtUserCallOneParam(nExitCode
, ONEPARAM_ROUTINE_POSTQUITMESSAGE
);
662 EXTINLINE DWORD
NtUserxGetQueueStatus(UINT flags
)
664 return (DWORD
)NtUserCallOneParam(flags
, ONEPARAM_ROUTINE_GETQUEUESTATUS
);
667 EXTINLINE BOOL
NtUserxValidateRgn(HWND hWnd
, HRGN hRgn
)
669 return (BOOL
)NtUserCallHwndParamLock(hWnd
, (DWORD_PTR
)hRgn
, TWOPARAM_ROUTINE_VALIDATERGN
);
672 EXTINLINE BOOL
NtUserxSetCursorPos(INT x
, INT y
)
674 return (BOOL
)NtUserCallTwoParam((DWORD
)x
, (DWORD
)y
, TWOPARAM_ROUTINE_SETCURSORPOS
);
677 EXTINLINE BOOL
NtUserxEnableWindow(HWND hWnd
, BOOL bEnable
)
679 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)hWnd
, (DWORD_PTR
)bEnable
, TWOPARAM_ROUTINE_ENABLEWINDOW
);
682 EXTINLINE BOOL
NtUserxUpdateUiState(HWND hWnd
, DWORD Param
)
684 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)hWnd
, (DWORD_PTR
)Param
, TWOPARAM_ROUTINE_ROS_UPDATEUISTATE
);
687 EXTINLINE BOOL
NtUserxShowOwnedPopups(HWND hWnd
, BOOL fShow
)
689 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)hWnd
, fShow
, TWOPARAM_ROUTINE_SHOWOWNEDPOPUPS
);
692 EXTINLINE BOOL
NtUserxUnhookWindowsHook ( int nCode
, HOOKPROC pfnFilterProc
)
694 return (BOOL
)NtUserCallTwoParam(nCode
, (DWORD_PTR
)pfnFilterProc
, TWOPARAM_ROUTINE_UNHOOKWINDOWSHOOK
);
697 EXTINLINE BOOL
NtUserxSetWindowContextHelpId(HWND hWnd
, DWORD_PTR dwContextHelpId
)
699 return (BOOL
)NtUserCallHwndParam(hWnd
, dwContextHelpId
, HWNDPARAM_ROUTINE_SETWNDCONTEXTHLPID
);
702 EXTINLINE BOOL
NtUserxKillSystemTimer(HWND hWnd
, UINT_PTR IDEvent
)
704 return (BOOL
)NtUserCallHwndParam(hWnd
, IDEvent
, HWNDPARAM_ROUTINE_KILLSYSTEMTIMER
);
707 EXTINLINE VOID
NtUserxSetDialogPointer(HWND hWnd
, PVOID dlgInfo
)
709 NtUserCallHwndParam( hWnd
, (DWORD_PTR
)dlgInfo
, HWNDPARAM_ROUTINE_SETDIALOGPOINTER
);
712 EXTINLINE VOID
NtUserxNotifyWinEvent(HWND hWnd
, PVOID ne
)
714 NtUserCallHwndParam(hWnd
, (DWORD_PTR
)ne
, HWNDPARAM_ROUTINE_ROS_NOTIFYWINEVENT
);
717 EXTINLINE DWORD
NtUserxGetWindowContextHelpId(HWND hwnd
)
719 return NtUserCallHwnd(hwnd
, HWND_ROUTINE_GETWNDCONTEXTHLPID
);
722 EXTINLINE BOOL
NtUserxDeregisterShellHookWindow(HWND hWnd
)
724 return NtUserCallHwnd(hWnd
, HWND_ROUTINE_DEREGISTERSHELLHOOKWINDOW
);
727 EXTINLINE BOOL
NtUserxRegisterShellHookWindow(HWND hWnd
)
729 return NtUserCallHwnd(hWnd
, HWND_ROUTINE_REGISTERSHELLHOOKWINDOW
);
732 EXTINLINE BOOL
NtUserxSetMessageBox(HWND hWnd
)
734 return NtUserCallHwnd(hWnd
, HWND_ROUTINE_SETMSGBOX
);
737 EXTINLINE VOID
NtUserxClearWindowState(PWND pWnd
, UINT Flag
)
739 if (!TestState(pWnd
, Flag
)) return;
740 NtUserCallHwndParam(UserHMGetHandle(pWnd
), (DWORD_PTR
)Flag
, HWNDPARAM_ROUTINE_CLEARWINDOWSTATE
);
743 EXTINLINE VOID
NtUserxSetWindowState(PWND pWnd
, UINT Flag
)
745 if (TestState(pWnd
, Flag
)) return;
746 NtUserCallHwndParam(UserHMGetHandle(pWnd
), (DWORD_PTR
)Flag
, HWNDPARAM_ROUTINE_SETWINDOWSTATE
);
749 EXTINLINE HWND
NtUserxSetTaskmanWindow(HWND hWnd
)
751 return NtUserCallHwndOpt(hWnd
, HWNDOPT_ROUTINE_SETTASKMANWINDOW
);
754 EXTINLINE HWND
NtUserxSetProgmanWindow(HWND hWnd
)
756 return NtUserCallHwndOpt(hWnd
, HWNDOPT_ROUTINE_SETPROGMANWINDOW
);
759 EXTINLINE UINT
NtUserxArrangeIconicWindows(HWND hWnd
)
761 return (UINT
)NtUserCallHwndLock( hWnd
, HWNDLOCK_ROUTINE_ARRANGEICONICWINDOWS
);
764 EXTINLINE BOOL
NtUserxUpdateWindow(HWND hWnd
)
766 return NtUserCallHwndLock(hWnd
, HWNDLOCK_ROUTINE_UPDATEWINDOW
);
769 EXTINLINE BOOL
NtUserxDrawMenuBar(HWND hWnd
)
771 return (BOOL
)NtUserCallHwndLock(hWnd
, HWNDLOCK_ROUTINE_DRAWMENUBAR
);
774 EXTINLINE BOOL
NtUserxMDIRedrawFrame(HWND hWnd
)
776 return (BOOL
)NtUserCallHwndLock(hWnd
, HWNDLOCK_ROUTINE_REDRAWFRAME
);
779 EXTINLINE BOOL
NtUserxSetForegroundWindow(HWND hWnd
)
781 return NtUserCallHwndLock(hWnd
, HWNDLOCK_ROUTINE_SETFOREGROUNDWINDOW
);
785 /* Reactos specific definitions */
787 EXTINLINE LPARAM
NtUserxGetMessageExtraInfo(VOID
)
789 return (LPARAM
)NtUserCallNoParam(NOPARAM_ROUTINE_GETMESSAGEEXTRAINFO
);
792 EXTINLINE BOOL
NtUserxSwitchCaretShowing(THRDCARETINFO
* CaretInfo
)
794 return (BOOL
)NtUserCallOneParam((DWORD_PTR
)CaretInfo
, ONEPARAM_ROUTINE_SWITCHCARETSHOWING
);
797 EXTINLINE VOID
NtUserxEnableProcessWindowGhosting(BOOL bEnable
)
799 NtUserCallOneParam((DWORD_PTR
)bEnable
, ONEPARAM_ROUTINE_ENABLEPROCWNDGHSTING
);
802 EXTINLINE PVOID
NtUserxGetDesktopMapping(PVOID ptr
)
804 return (PVOID
)NtUserCallOneParam((DWORD_PTR
)ptr
, ONEPARAM_ROUTINE_GETDESKTOPMAPPING
);
807 EXTINLINE BOOL
NtUserxGetCursorPos(POINT
* lpPoint
)
809 return (BOOL
)NtUserCallOneParam((DWORD_PTR
)lpPoint
, ONEPARAM_ROUTINE_GETCURSORPOS
);
812 EXTINLINE BOOL
NtUserxSetMenuBarHeight(HMENU menu
, INT height
)
814 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)menu
, (DWORD_PTR
)height
, TWOPARAM_ROUTINE_SETMENUBARHEIGHT
);
817 EXTINLINE BOOL
NtUserxSetGUIThreadHandle(DWORD_PTR field
, HWND hwnd
)
819 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)field
, (DWORD_PTR
)hwnd
, TWOPARAM_ROUTINE_SETGUITHRDHANDLE
);
822 EXTINLINE BOOL
NtUserxSetCaretPos(INT x
, INT y
)
824 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)x
, (DWORD_PTR
)y
, TWOPARAM_ROUTINE_SETCARETPOS
);
827 EXTINLINE BOOL
NtUserxRegisterLogonProcess(DWORD dwProcessId
, BOOL bRegister
)
829 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)dwProcessId
, (DWORD_PTR
)bRegister
, TWOPARAM_ROUTINE_REGISTERLOGONPROCESS
);
832 EXTINLINE BOOL
NtUserxAllowSetForegroundWindow(DWORD dwProcessId
)
834 return (BOOL
)NtUserCallOneParam((DWORD_PTR
)dwProcessId
, ONEPARAM_ROUTINE_ALLOWSETFOREGND
);
837 EXTINLINE BOOL
NtUserxLockSetForegroundWindow(UINT uLockCode
)
839 return (BOOL
)NtUserCallOneParam((DWORD_PTR
)uLockCode
, ONEPARAM_ROUTINE_LOCKFOREGNDWINDOW
);