4 #define EXTINLINE extern inline __attribute__((always_inline))
5 #elif defined(_MSC_VER)
6 #define EXTINLINE extern __forceinline
11 BOOL FASTCALL
TestState(PWND
, UINT
);
14 GetScrollBarInfo(HWND hWnd
, LONG idObject
, PSCROLLBARINFO psbi
)
16 return NtUserGetScrollBarInfo(hWnd
, idObject
, psbi
);
20 ShowScrollBar(HWND hWnd
, INT wBar
, BOOL bShow
)
22 return NtUserShowScrollBar(hWnd
, wBar
, bShow
);
26 CloseDesktop(HDESK hDesktop
)
28 return NtUserCloseDesktop(hDesktop
);
31 EXTINLINE HDESK WINAPI
32 OpenInputDesktop(DWORD dwFlags
, BOOL fInherit
, ACCESS_MASK dwDesiredAccess
)
34 return NtUserOpenInputDesktop(dwFlags
, fInherit
, dwDesiredAccess
);
40 return NtUserPaintDesktop(hdc
);
44 SetThreadDesktop(HDESK hDesktop
)
46 return NtUserSetThreadDesktop(hDesktop
);
50 SwitchDesktop(HDESK hDesktop
)
52 return NtUserSwitchDesktop(hDesktop
);
56 SetShellWindowEx(HWND hwndShell
, HWND hwndShellListView
)
58 return NtUserSetShellWindowEx(hwndShell
, hwndShellListView
);
61 EXTINLINE DWORD WINAPI
62 GetGuiResources(HANDLE hProcess
, DWORD uiFlags
)
64 return NtUserGetGuiResources(hProcess
, uiFlags
);
68 GetUserObjectInformationW(HANDLE hObj
, int nIndex
, PVOID pvInfo
, DWORD nLength
, LPDWORD lpnLengthNeeded
)
70 return NtUserGetObjectInformation(hObj
, nIndex
, pvInfo
, nLength
, lpnLengthNeeded
);
74 LockWindowUpdate(HWND hWndLock
)
76 return NtUserLockWindowUpdate(hWndLock
);
82 return NtUserLockWorkStation();
85 EXTINLINE DWORD WINAPI
86 RegisterTasklist(DWORD x
)
88 return NtUserRegisterTasklist(x
);
91 EXTINLINE DWORD WINAPI
92 DragObject(HWND hwnd1
, HWND hwnd2
, UINT u1
, ULONG_PTR dw1
, HCURSOR hc1
)
94 return NtUserDragObject(hwnd1
, hwnd2
, u1
, dw1
, hc1
);
98 KillTimer(HWND hWnd
, UINT_PTR IDEvent
)
100 return NtUserKillTimer(hWnd
, IDEvent
);
103 EXTINLINE UINT_PTR WINAPI
104 SetSystemTimer(HWND hWnd
, UINT_PTR IDEvent
, UINT Period
, TIMERPROC TimerFunc
)
106 return NtUserSetSystemTimer(hWnd
, IDEvent
, Period
, TimerFunc
);
109 EXTINLINE UINT_PTR WINAPI
110 SetTimer(HWND hWnd
, UINT_PTR IDEvent
, UINT Period
, TIMERPROC TimerFunc
)
112 return NtUserSetTimer(hWnd
, IDEvent
, Period
, TimerFunc
);
115 EXTINLINE BOOL WINAPI
116 CloseWindowStation(HWINSTA hWinSta
)
118 return NtUserCloseWindowStation(hWinSta
);
121 EXTINLINE HWINSTA WINAPI
122 GetProcessWindowStation(VOID
)
124 return NtUserGetProcessWindowStation();
127 EXTINLINE BOOL WINAPI
128 SetProcessWindowStation(HWINSTA hWinSta
)
130 return NtUserSetProcessWindowStation(hWinSta
);
133 EXTINLINE BOOL WINAPI
134 LockWindowStation(HWINSTA hWinSta
)
136 return NtUserLockWindowStation(hWinSta
);
139 EXTINLINE BOOL WINAPI
140 UnlockWindowStation(HWINSTA hWinSta
)
142 return NtUserUnlockWindowStation(hWinSta
);
146 CopyAcceleratorTableW(HACCEL hAccelSrc
, LPACCEL lpAccelDst
, int cAccelEntries
)
148 return NtUserCopyAcceleratorTable(hAccelSrc
, lpAccelDst
, cAccelEntries
);
151 EXTINLINE HACCEL WINAPI
152 CreateAcceleratorTableW(LPACCEL lpaccl
, int cEntries
)
154 return NtUserCreateAcceleratorTable(lpaccl
, cEntries
);
157 EXTINLINE BOOL WINAPI
158 CreateCaret(HWND hWnd
, HBITMAP hBitmap
, int nWidth
, int nHeight
)
160 return NtUserCreateCaret(hWnd
, hBitmap
, nWidth
, nHeight
);
163 EXTINLINE UINT WINAPI
164 GetCaretBlinkTime(VOID
)
166 return NtUserGetCaretBlinkTime();
169 EXTINLINE BOOL WINAPI
170 GetCaretPos(LPPOINT lpPoint
)
172 return NtUserGetCaretPos(lpPoint
);
175 EXTINLINE BOOL WINAPI
178 return NtUserCloseClipboard();
182 CountClipboardFormats(VOID
)
184 return NtUserCountClipboardFormats();
187 EXTINLINE BOOL WINAPI
190 return NtUserEmptyClipboard();
193 EXTINLINE HWND WINAPI
194 GetClipboardOwner(VOID
)
196 return NtUserGetClipboardOwner();
199 EXTINLINE DWORD WINAPI
200 GetClipboardSequenceNumber(VOID
)
202 return NtUserGetClipboardSequenceNumber();
205 EXTINLINE HWND WINAPI
206 GetClipboardViewer(VOID
)
208 return NtUserGetClipboardViewer();
211 EXTINLINE HWND WINAPI
212 GetOpenClipboardWindow(VOID
)
214 return NtUserGetOpenClipboardWindow();
218 GetPriorityClipboardFormat(UINT
*paFormatPriorityList
, INT cFormats
)
220 return NtUserGetPriorityClipboardFormat(paFormatPriorityList
, cFormats
);
223 EXTINLINE BOOL WINAPI
224 IsClipboardFormatAvailable(UINT format
)
226 return NtUserIsClipboardFormatAvailable(format
);
229 EXTINLINE HWND WINAPI
230 SetClipboardViewer(HWND hWndNewViewer
)
232 return NtUserSetClipboardViewer(hWndNewViewer
);
235 EXTINLINE BOOL WINAPI
236 ChangeClipboardChain(HWND hWndRemove
, HWND hWndNewNext
)
238 return NtUserChangeClipboardChain(hWndRemove
, hWndNewNext
);
241 EXTINLINE BOOL WINAPI
242 GetClipCursor(LPRECT lpRect
)
244 return NtUserGetClipCursor(lpRect
);
247 EXTINLINE HBRUSH WINAPI
GetControlBrush(HWND hwnd
, HDC hdc
, UINT ctlType
)
249 return NtUserGetControlBrush(hwnd
, hdc
, ctlType
);
252 EXTINLINE HBRUSH WINAPI
GetControlColor(HWND hwndParent
, HWND hwnd
, HDC hdc
, UINT CtlMsg
)
254 return NtUserGetControlColor(hwndParent
, hwnd
, hdc
, CtlMsg
);
257 EXTINLINE BOOL WINAPI
258 GetCursorInfo(PCURSORINFO pci
)
260 return NtUserGetCursorInfo(pci
);
263 EXTINLINE BOOL WINAPI
264 ClipCursor(CONST RECT
*lpRect
)
266 return NtUserClipCursor((RECT
*)lpRect
);
269 EXTINLINE HCURSOR WINAPI
270 SetCursor(HCURSOR hCursor
)
272 return NtUserSetCursor(hCursor
);
278 return NtUserGetDC(hWnd
);
282 GetDCEx(HWND hWnd
, HRGN hrgnClip
, DWORD flags
)
284 return NtUserGetDCEx(hWnd
, hrgnClip
, flags
);
288 GetWindowDC(HWND hWnd
)
290 return NtUserGetWindowDC(hWnd
);
293 EXTINLINE BOOL WINAPI
294 FlashWindowEx(PFLASHWINFO pfwi
)
296 return NtUserFlashWindowEx(pfwi
);
299 EXTINLINE BOOL WINAPI
300 DrawAnimatedRects(HWND hWnd
, int idAni
, CONST RECT
*lprcFrom
, CONST RECT
*lprcTo
)
302 return NtUserDrawAnimatedRects(hWnd
, idAni
, (RECT
*)lprcFrom
, (RECT
*)lprcTo
);
305 EXTINLINE BOOL WINAPI
306 BlockInput(BOOL fBlockIt
)
308 return NtUserBlockInput(fBlockIt
);
311 EXTINLINE UINT WINAPI
312 GetDoubleClickTime(VOID
)
314 return NtUserGetDoubleClickTime();
317 EXTINLINE BOOL WINAPI
318 GetKeyboardState(PBYTE lpKeyState
)
320 return NtUserGetKeyboardState((LPBYTE
) lpKeyState
);
323 EXTINLINE BOOL WINAPI
324 RegisterHotKey(HWND hWnd
, int id
, UINT fsModifiers
, UINT vk
)
326 return NtUserRegisterHotKey(hWnd
, id
, fsModifiers
, vk
);
329 EXTINLINE HWND WINAPI
332 return NtUserSetFocus(hWnd
);
335 EXTINLINE BOOL WINAPI
336 SetKeyboardState(LPBYTE lpKeyState
)
338 return NtUserSetKeyboardState((LPBYTE
)lpKeyState
);
341 EXTINLINE UINT WINAPI
342 SendInput(UINT nInputs
, LPINPUT pInputs
, int cbSize
)
344 return NtUserSendInput(nInputs
, pInputs
, cbSize
);
347 EXTINLINE BOOL WINAPI
350 return NtUserWaitMessage();
354 BeginPaint(HWND hwnd
, LPPAINTSTRUCT lpPaint
)
356 return NtUserBeginPaint(hwnd
, lpPaint
);
359 EXTINLINE BOOL WINAPI
360 EndPaint(HWND hWnd
, CONST PAINTSTRUCT
*lpPaint
)
362 return NtUserEndPaint(hWnd
, lpPaint
);
366 ExcludeUpdateRgn(HDC hDC
, HWND hWnd
)
368 return NtUserExcludeUpdateRgn(hDC
, hWnd
);
371 EXTINLINE BOOL WINAPI
372 InvalidateRgn(HWND hWnd
, HRGN hRgn
, BOOL bErase
)
374 return NtUserInvalidateRgn(hWnd
, hRgn
, bErase
);
377 EXTINLINE BOOL WINAPI
378 RedrawWindow(HWND hWnd
, CONST RECT
*lprcUpdate
, HRGN hrgnUpdate
, UINT flags
)
380 return NtUserRedrawWindow(hWnd
, lprcUpdate
, hrgnUpdate
, flags
);
383 EXTINLINE BOOL WINAPI
384 DestroyWindow(HWND hWnd
)
386 return NtUserDestroyWindow(hWnd
);
389 EXTINLINE HWND WINAPI
390 GetForegroundWindow(VOID
)
392 return NtUserGetForegroundWindow();
395 EXTINLINE BOOL WINAPI
396 GetGUIThreadInfo(DWORD idThread
, LPGUITHREADINFO lpgui
)
398 return NtUserGetGUIThreadInfo(idThread
, lpgui
);
401 EXTINLINE BOOL WINAPI
402 GetTitleBarInfo(HWND hwnd
, PTITLEBARINFO pti
)
404 return NtUserGetTitleBarInfo(hwnd
, pti
);
407 EXTINLINE BOOL WINAPI
408 GetWindowPlacement(HWND hWnd
, WINDOWPLACEMENT
*lpwndpl
)
410 return NtUserGetWindowPlacement(hWnd
, lpwndpl
);
413 EXTINLINE BOOL WINAPI
414 MoveWindow(HWND hWnd
, int X
, int Y
, int nWidth
, int nHeight
, BOOL bRepaint
)
416 return NtUserMoveWindow(hWnd
, X
, Y
, nWidth
, nHeight
, bRepaint
);
419 EXTINLINE HWND WINAPI
420 SetParent(HWND hWndChild
, HWND hWndNewParent
)
422 return NtUserSetParent(hWndChild
, hWndNewParent
);
425 EXTINLINE BOOL WINAPI
426 SetWindowPlacement(HWND hWnd
, CONST WINDOWPLACEMENT
*lpwndpl
)
428 return NtUserSetWindowPlacement(hWnd
, (WINDOWPLACEMENT
*)lpwndpl
);
431 EXTINLINE BOOL WINAPI
432 SetWindowPos(HWND hWnd
, HWND hWndAfter
, int X
, int Y
, int cx
, int cy
, UINT uFlags
)
434 return NtUserSetWindowPos(hWnd
,hWndAfter
, X
, Y
, cx
, cy
, uFlags
);
437 EXTINLINE BOOL WINAPI
438 ShowWindow(HWND hWnd
, int nCmdShow
)
440 return NtUserShowWindow(hWnd
, nCmdShow
);
443 EXTINLINE BOOL WINAPI
444 ShowWindowAsync(HWND hWnd
, int nCmdShow
)
446 return NtUserShowWindowAsync(hWnd
, nCmdShow
);
449 EXTINLINE HWND WINAPI
450 SetActiveWindow(HWND hWnd
)
452 return NtUserSetActiveWindow(hWnd
);
455 EXTINLINE DWORD WINAPI
456 GetListBoxInfo(HWND hwnd
)
458 return NtUserGetListBoxInfo(hwnd
); // Do it right! Have the message org from kmode!
461 EXTINLINE BOOL WINAPI
462 DeleteMenu(HMENU hMenu
, UINT uPosition
, UINT uFlags
)
464 return NtUserDeleteMenu(hMenu
, uPosition
, uFlags
);
467 EXTINLINE BOOL WINAPI
468 DestroyMenu(HMENU hMenu
)
470 return NtUserDestroyMenu(hMenu
);
473 /*EXTINLINE BOOL WINAPI
474 GetMenuBarInfo(HWND hwnd, LONG idObject, LONG idItem, PMENUBARINFO pmbi)
476 return NtUserGetMenuBarInfo(hwnd, idObject, idItem, pmbi);
479 EXTINLINE BOOL WINAPI
480 GetMenuItemRect(HWND hWnd
, HMENU hMenu
, UINT uItem
, LPRECT lprcItem
)
482 return NtUserGetMenuItemRect(hWnd
, hMenu
, uItem
, lprcItem
);
485 EXTINLINE BOOL WINAPI
486 RemoveMenu(HMENU hMenu
, UINT uPosition
, UINT uFlags
)
488 return NtUserRemoveMenu(hMenu
, uPosition
, uFlags
);
491 EXTINLINE BOOL WINAPI
492 SetMenuDefaultItem(HMENU hMenu
, UINT uItem
, UINT fByPos
)
494 return NtUserSetMenuDefaultItem(hMenu
, uItem
, fByPos
);
497 EXTINLINE BOOL WINAPI
498 SetMenuContextHelpId(HMENU hmenu
, DWORD dwContextHelpId
)
500 return NtUserSetMenuContextHelpId(hmenu
, dwContextHelpId
);
503 EXTINLINE HWND WINAPI
504 SetCapture(HWND hWnd
)
506 return(NtUserSetCapture(hWnd
));
509 EXTINLINE BOOL WINAPI
510 InvalidateRect(HWND hWnd
, CONST RECT
* lpRect
, BOOL bErase
)
512 return NtUserInvalidateRect(hWnd
, lpRect
, bErase
);
515 EXTINLINE BOOL WINAPI
ValidateRect( HWND hWnd
, CONST RECT
*lpRect
)
517 return NtUserValidateRect(hWnd
, lpRect
);
520 EXTINLINE BOOL WINAPI
ShowCaret( HWND hWnd
)
522 return NtUserShowCaret(hWnd
);
525 EXTINLINE BOOL WINAPI
HideCaret( HWND hWnd
)
527 return NtUserHideCaret(hWnd
);
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
539 EXTINLINE BOOL
NtUserxDestroyCaret(VOID
)
541 return (BOOL
)NtUserCallNoParam(NOPARAM_ROUTINE_DESTROY_CARET
);
544 EXTINLINE VOID
NtUserxMsqClearWakeMask()
546 NtUserCallNoParam(NOPARAM_ROUTINE_MSQCLEARWAKEMASK
);
549 EXTINLINE HMENU
NtUserxCreateMenu()
551 return (HMENU
)NtUserCallNoParam(NOPARAM_ROUTINE_CREATEMENU
);
554 EXTINLINE HMENU
NtUserxCreatePopupMenu()
556 return (HMENU
)NtUserCallNoParam(NOPARAM_ROUTINE_CREATEMENUPOPUP
);
559 EXTINLINE DWORD
NtUserxGetMessagePos(VOID
)
561 return (DWORD
)NtUserCallNoParam(NOPARAM_ROUTINE_GETMSESSAGEPOS
);
564 EXTINLINE BOOL
NtUserxReleaseCapture(VOID
)
566 return (BOOL
)NtUserCallNoParam(NOPARAM_ROUTINE_RELEASECAPTURE
);
569 EXTINLINE BOOL
NtUserxInitMessagePump()
571 return NtUserCallNoParam(NOPARAM_ROUTINE_INIT_MESSAGE_PUMP
);
574 EXTINLINE BOOL
NtUserxUnInitMessagePump()
576 return NtUserCallNoParam(NOPARAM_ROUTINE_UNINIT_MESSAGE_PUMP
);
579 EXTINLINE HANDLE
NtUserxMsqSetWakeMask(DWORD_PTR dwWaitMask
)
581 return (HANDLE
)NtUserCallOneParam(dwWaitMask
, ONEPARAM_ROUTINE_GETINPUTEVENT
);
584 EXTINLINE BOOL
NtUserxSetCaretBlinkTime(UINT uMSeconds
)
586 return (BOOL
)NtUserCallOneParam(uMSeconds
, ONEPARAM_ROUTINE_SETCARETBLINKTIME
);
589 EXTINLINE HWND
NtUserxWindowFromDC(HDC hDC
)
591 return (HWND
)NtUserCallOneParam((DWORD_PTR
)hDC
, ONEPARAM_ROUTINE_WINDOWFROMDC
);
594 EXTINLINE BOOL
NtUserxSwapMouseButton(BOOL fSwap
)
596 return (BOOL
)NtUserCallOneParam((DWORD_PTR
)fSwap
, ONEPARAM_ROUTINE_SWAPMOUSEBUTTON
);
599 EXTINLINE LPARAM
NtUserxSetMessageExtraInfo(LPARAM lParam
)
601 return (LPARAM
)NtUserCallOneParam((DWORD_PTR
)lParam
, ONEPARAM_ROUTINE_SETMESSAGEEXTRAINFO
);
604 EXTINLINE INT
NtUserxShowCursor(BOOL bShow
)
606 return (INT
)NtUserCallOneParam((DWORD_PTR
)bShow
, ONEPARAM_ROUTINE_SHOWCURSOR
);
609 EXTINLINE UINT
NtUserxEnumClipboardFormats(UINT format
)
611 return (UINT
)NtUserCallOneParam((DWORD_PTR
)format
, ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS
);
614 EXTINLINE HICON
NtUserxCreateEmptyCurObject(DWORD_PTR Param
)
616 return (HICON
)NtUserCallOneParam(Param
, ONEPARAM_ROUTINE_CREATEEMPTYCUROBJECT
);
619 EXTINLINE BOOL
NtUserxMessageBeep(UINT uType
)
621 return (BOOL
)NtUserCallOneParam(uType
, ONEPARAM_ROUTINE_MESSAGEBEEP
);
624 EXTINLINE HKL
NtUserxGetKeyboardLayout(DWORD idThread
)
626 return (HKL
)NtUserCallOneParam((DWORD_PTR
) idThread
, ONEPARAM_ROUTINE_GETKEYBOARDLAYOUT
);
629 EXTINLINE INT
NtUserxGetKeyboardType(INT nTypeFlag
)
631 return (INT
)NtUserCallOneParam((DWORD_PTR
) nTypeFlag
, ONEPARAM_ROUTINE_GETKEYBOARDTYPE
);
634 EXTINLINE INT
NtUserxReleaseDC(HDC hDC
)
636 return (INT
)NtUserCallOneParam((DWORD_PTR
) hDC
, ONEPARAM_ROUTINE_RELEASEDC
);
639 EXTINLINE UINT
NtUserxRealizePalette ( HDC hDC
)
641 return (UINT
)NtUserCallOneParam((DWORD_PTR
) hDC
, ONEPARAM_ROUTINE_REALIZEPALETTE
);
644 EXTINLINE VOID
NtUserxCreateSystemThreads(DWORD param
)
646 NtUserCallOneParam(param
, ONEPARAM_ROUTINE_CREATESYSTEMTHREADS
);
649 EXTINLINE HDWP
NtUserxBeginDeferWindowPos(INT nNumWindows
)
651 return (HDWP
)NtUserCallOneParam((DWORD_PTR
)nNumWindows
, ONEPARAM_ROUTINE_BEGINDEFERWNDPOS
);
654 EXTINLINE BOOL
NtUserxReplyMessage(LRESULT lResult
)
656 return NtUserCallOneParam(lResult
, ONEPARAM_ROUTINE_REPLYMESSAGE
);
659 EXTINLINE VOID
NtUserxPostQuitMessage(int nExitCode
)
661 NtUserCallOneParam(nExitCode
, ONEPARAM_ROUTINE_POSTQUITMESSAGE
);
664 EXTINLINE DWORD
NtUserxGetQueueStatus(UINT flags
)
666 return (DWORD
)NtUserCallOneParam(flags
, ONEPARAM_ROUTINE_GETQUEUESTATUS
);
669 EXTINLINE BOOL
NtUserxValidateRgn(HWND hWnd
, HRGN hRgn
)
671 return (BOOL
)NtUserCallHwndParamLock(hWnd
, (DWORD_PTR
)hRgn
, TWOPARAM_ROUTINE_VALIDATERGN
);
674 EXTINLINE BOOL
NtUserxSetCursorPos(INT x
, INT y
)
676 return (BOOL
)NtUserCallTwoParam((DWORD
)x
, (DWORD
)y
, TWOPARAM_ROUTINE_SETCURSORPOS
);
679 EXTINLINE BOOL
NtUserxEnableWindow(HWND hWnd
, BOOL bEnable
)
681 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)hWnd
, (DWORD_PTR
)bEnable
, TWOPARAM_ROUTINE_ENABLEWINDOW
);
684 EXTINLINE BOOL
NtUserxUpdateUiState(HWND hWnd
, DWORD Param
)
686 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)hWnd
, (DWORD_PTR
)Param
, TWOPARAM_ROUTINE_ROS_UPDATEUISTATE
);
689 EXTINLINE BOOL
NtUserxShowOwnedPopups(HWND hWnd
, BOOL fShow
)
691 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)hWnd
, fShow
, TWOPARAM_ROUTINE_SHOWOWNEDPOPUPS
);
694 EXTINLINE BOOL
NtUserxUnhookWindowsHook ( int nCode
, HOOKPROC pfnFilterProc
)
696 return (BOOL
)NtUserCallTwoParam(nCode
, (DWORD_PTR
)pfnFilterProc
, TWOPARAM_ROUTINE_UNHOOKWINDOWSHOOK
);
699 EXTINLINE BOOL
NtUserxSetWindowContextHelpId(HWND hWnd
, DWORD_PTR dwContextHelpId
)
701 return (BOOL
)NtUserCallHwndParam(hWnd
, dwContextHelpId
, HWNDPARAM_ROUTINE_SETWNDCONTEXTHLPID
);
704 EXTINLINE BOOL
NtUserxKillSystemTimer(HWND hWnd
, UINT_PTR IDEvent
)
706 return (BOOL
)NtUserCallHwndParam(hWnd
, IDEvent
, HWNDPARAM_ROUTINE_KILLSYSTEMTIMER
);
709 EXTINLINE VOID
NtUserxSetDialogPointer(HWND hWnd
, PVOID dlgInfo
)
711 NtUserCallHwndParam( hWnd
, (DWORD_PTR
)dlgInfo
, HWNDPARAM_ROUTINE_SETDIALOGPOINTER
);
714 EXTINLINE VOID
NtUserxNotifyWinEvent(HWND hWnd
, PVOID ne
)
716 NtUserCallHwndParam(hWnd
, (DWORD_PTR
)ne
, HWNDPARAM_ROUTINE_ROS_NOTIFYWINEVENT
);
719 EXTINLINE DWORD
NtUserxGetWindowContextHelpId(HWND hwnd
)
721 return NtUserCallHwnd(hwnd
, HWND_ROUTINE_GETWNDCONTEXTHLPID
);
724 EXTINLINE BOOL
NtUserxDeregisterShellHookWindow(HWND hWnd
)
726 return NtUserCallHwnd(hWnd
, HWND_ROUTINE_DEREGISTERSHELLHOOKWINDOW
);
729 EXTINLINE BOOL
NtUserxRegisterShellHookWindow(HWND hWnd
)
731 return NtUserCallHwnd(hWnd
, HWND_ROUTINE_REGISTERSHELLHOOKWINDOW
);
734 EXTINLINE BOOL
NtUserxSetMessageBox(HWND hWnd
)
736 return NtUserCallHwnd(hWnd
, HWND_ROUTINE_SETMSGBOX
);
739 EXTINLINE VOID
NtUserxClearWindowState(PWND pWnd
, UINT Flag
)
741 if (!TestState(pWnd
, Flag
)) return;
742 NtUserCallHwndParam(UserHMGetHandle(pWnd
), (DWORD_PTR
)Flag
, HWNDPARAM_ROUTINE_CLEARWINDOWSTATE
);
745 EXTINLINE VOID
NtUserxSetWindowState(PWND pWnd
, UINT Flag
)
747 if (TestState(pWnd
, Flag
)) return;
748 NtUserCallHwndParam(UserHMGetHandle(pWnd
), (DWORD_PTR
)Flag
, HWNDPARAM_ROUTINE_SETWINDOWSTATE
);
751 EXTINLINE HWND
NtUserxSetTaskmanWindow(HWND hWnd
)
753 return NtUserCallHwndOpt(hWnd
, HWNDOPT_ROUTINE_SETTASKMANWINDOW
);
756 EXTINLINE HWND
NtUserxSetProgmanWindow(HWND hWnd
)
758 return NtUserCallHwndOpt(hWnd
, HWNDOPT_ROUTINE_SETPROGMANWINDOW
);
761 EXTINLINE UINT
NtUserxArrangeIconicWindows(HWND hWnd
)
763 return (UINT
)NtUserCallHwndLock( hWnd
, HWNDLOCK_ROUTINE_ARRANGEICONICWINDOWS
);
766 EXTINLINE BOOL
NtUserxUpdateWindow(HWND hWnd
)
768 return NtUserCallHwndLock(hWnd
, HWNDLOCK_ROUTINE_UPDATEWINDOW
);
771 EXTINLINE BOOL
NtUserxDrawMenuBar(HWND hWnd
)
773 return (BOOL
)NtUserCallHwndLock(hWnd
, HWNDLOCK_ROUTINE_DRAWMENUBAR
);
776 EXTINLINE BOOL
NtUserxMDIRedrawFrame(HWND hWnd
)
778 return (BOOL
)NtUserCallHwndLock(hWnd
, HWNDLOCK_ROUTINE_REDRAWFRAME
);
781 EXTINLINE BOOL
NtUserxSetForegroundWindow(HWND hWnd
)
783 return NtUserCallHwndLock(hWnd
, HWNDLOCK_ROUTINE_SETFOREGROUNDWINDOW
);
787 /* Reactos specific definitions */
789 EXTINLINE LPARAM
NtUserxGetMessageExtraInfo(VOID
)
791 return (LPARAM
)NtUserCallNoParam(NOPARAM_ROUTINE_GETMESSAGEEXTRAINFO
);
794 EXTINLINE BOOL
NtUserxSwitchCaretShowing(THRDCARETINFO
* CaretInfo
)
796 return (BOOL
)NtUserCallOneParam((DWORD_PTR
)CaretInfo
, ONEPARAM_ROUTINE_SWITCHCARETSHOWING
);
799 EXTINLINE VOID
NtUserxEnableProcessWindowGhosting(BOOL bEnable
)
801 NtUserCallOneParam((DWORD_PTR
)bEnable
, ONEPARAM_ROUTINE_ENABLEPROCWNDGHSTING
);
804 EXTINLINE PVOID
NtUserxGetDesktopMapping(PVOID ptr
)
806 return (PVOID
)NtUserCallOneParam((DWORD_PTR
)ptr
, ONEPARAM_ROUTINE_GETDESKTOPMAPPING
);
809 EXTINLINE BOOL
NtUserxGetCursorPos(POINT
* lpPoint
)
811 return (BOOL
)NtUserCallOneParam((DWORD_PTR
)lpPoint
, ONEPARAM_ROUTINE_GETCURSORPOS
);
814 EXTINLINE BOOL
NtUserxSetMenuBarHeight(HMENU menu
, INT height
)
816 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)menu
, (DWORD_PTR
)height
, TWOPARAM_ROUTINE_SETMENUBARHEIGHT
);
819 EXTINLINE BOOL
NtUserxSetGUIThreadHandle(DWORD_PTR field
, HWND hwnd
)
821 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)field
, (DWORD_PTR
)hwnd
, TWOPARAM_ROUTINE_SETGUITHRDHANDLE
);
824 EXTINLINE BOOL
NtUserxSetCaretPos(INT x
, INT y
)
826 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)x
, (DWORD_PTR
)y
, TWOPARAM_ROUTINE_SETCARETPOS
);
829 EXTINLINE BOOL
NtUserxRegisterLogonProcess(DWORD dwProcessId
, BOOL bRegister
)
831 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)dwProcessId
, (DWORD_PTR
)bRegister
, TWOPARAM_ROUTINE_REGISTERLOGONPROCESS
);
834 EXTINLINE BOOL
NtUserxAllowSetForegroundWindow(DWORD dwProcessId
)
836 return (BOOL
)NtUserCallOneParam((DWORD_PTR
)dwProcessId
, ONEPARAM_ROUTINE_ALLOWSETFOREGND
);
839 EXTINLINE BOOL
NtUserxLockSetForegroundWindow(UINT uLockCode
)
841 return (BOOL
)NtUserCallOneParam((DWORD_PTR
)uLockCode
, ONEPARAM_ROUTINE_LOCKFOREGNDWINDOW
);