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 BOOL WINAPI
244 GetCursorInfo(PCURSORINFO pci
)
246 return NtUserGetCursorInfo(pci
);
249 EXTINLINE BOOL WINAPI
250 ClipCursor(CONST RECT
*lpRect
)
252 return NtUserClipCursor((RECT
*)lpRect
);
255 EXTINLINE HCURSOR WINAPI
256 SetCursor(HCURSOR hCursor
)
258 return NtUserSetCursor(hCursor
);
264 return NtUserGetDC(hWnd
);
268 GetDCEx(HWND hWnd
, HRGN hrgnClip
, DWORD flags
)
270 return NtUserGetDCEx(hWnd
, hrgnClip
, flags
);
274 GetWindowDC(HWND hWnd
)
276 return NtUserGetWindowDC(hWnd
);
279 EXTINLINE BOOL WINAPI
280 FlashWindowEx(PFLASHWINFO pfwi
)
282 return NtUserFlashWindowEx(pfwi
);
285 EXTINLINE BOOL WINAPI
286 DrawAnimatedRects(HWND hWnd
, int idAni
, CONST RECT
*lprcFrom
, CONST RECT
*lprcTo
)
288 return NtUserDrawAnimatedRects(hWnd
, idAni
, (RECT
*)lprcFrom
, (RECT
*)lprcTo
);
291 EXTINLINE BOOL WINAPI
292 BlockInput(BOOL fBlockIt
)
294 return NtUserBlockInput(fBlockIt
);
297 EXTINLINE UINT WINAPI
298 GetDoubleClickTime(VOID
)
300 return NtUserGetDoubleClickTime();
303 EXTINLINE BOOL WINAPI
304 GetKeyboardState(PBYTE lpKeyState
)
306 return NtUserGetKeyboardState((LPBYTE
) lpKeyState
);
309 EXTINLINE BOOL WINAPI
310 RegisterHotKey(HWND hWnd
, int id
, UINT fsModifiers
, UINT vk
)
312 return NtUserRegisterHotKey(hWnd
, id
, fsModifiers
, vk
);
315 EXTINLINE HWND WINAPI
318 return NtUserSetFocus(hWnd
);
321 EXTINLINE BOOL WINAPI
322 SetKeyboardState(LPBYTE lpKeyState
)
324 return NtUserSetKeyboardState((LPBYTE
)lpKeyState
);
327 EXTINLINE UINT WINAPI
328 SendInput(UINT nInputs
, LPINPUT pInputs
, int cbSize
)
330 return NtUserSendInput(nInputs
, pInputs
, cbSize
);
333 EXTINLINE BOOL WINAPI
336 return NtUserWaitMessage();
340 BeginPaint(HWND hwnd
, LPPAINTSTRUCT lpPaint
)
342 return NtUserBeginPaint(hwnd
, lpPaint
);
345 EXTINLINE BOOL WINAPI
346 EndPaint(HWND hWnd
, CONST PAINTSTRUCT
*lpPaint
)
348 return NtUserEndPaint(hWnd
, lpPaint
);
352 ExcludeUpdateRgn(HDC hDC
, HWND hWnd
)
354 return NtUserExcludeUpdateRgn(hDC
, hWnd
);
357 EXTINLINE BOOL WINAPI
358 InvalidateRgn(HWND hWnd
, HRGN hRgn
, BOOL bErase
)
360 return NtUserInvalidateRgn(hWnd
, hRgn
, bErase
);
363 EXTINLINE BOOL WINAPI
364 RedrawWindow(HWND hWnd
, CONST RECT
*lprcUpdate
, HRGN hrgnUpdate
, UINT flags
)
366 return NtUserRedrawWindow(hWnd
, lprcUpdate
, hrgnUpdate
, flags
);
369 EXTINLINE BOOL WINAPI
370 DestroyWindow(HWND hWnd
)
372 return NtUserDestroyWindow(hWnd
);
375 EXTINLINE HWND WINAPI
376 GetForegroundWindow(VOID
)
378 return NtUserGetForegroundWindow();
381 EXTINLINE BOOL WINAPI
382 GetGUIThreadInfo(DWORD idThread
, LPGUITHREADINFO lpgui
)
384 return NtUserGetGUIThreadInfo(idThread
, lpgui
);
387 EXTINLINE BOOL WINAPI
388 GetTitleBarInfo(HWND hwnd
, PTITLEBARINFO pti
)
390 return NtUserGetTitleBarInfo(hwnd
, pti
);
393 EXTINLINE BOOL WINAPI
394 GetWindowPlacement(HWND hWnd
, WINDOWPLACEMENT
*lpwndpl
)
396 return NtUserGetWindowPlacement(hWnd
, lpwndpl
);
399 EXTINLINE BOOL WINAPI
400 MoveWindow(HWND hWnd
, int X
, int Y
, int nWidth
, int nHeight
, BOOL bRepaint
)
402 return NtUserMoveWindow(hWnd
, X
, Y
, nWidth
, nHeight
, bRepaint
);
405 EXTINLINE HWND WINAPI
406 SetParent(HWND hWndChild
, HWND hWndNewParent
)
408 return NtUserSetParent(hWndChild
, hWndNewParent
);
411 EXTINLINE BOOL WINAPI
412 SetWindowPlacement(HWND hWnd
, CONST WINDOWPLACEMENT
*lpwndpl
)
414 return NtUserSetWindowPlacement(hWnd
, (WINDOWPLACEMENT
*)lpwndpl
);
417 EXTINLINE BOOL WINAPI
418 SetWindowPos(HWND hWnd
, HWND hWndAfter
, int X
, int Y
, int cx
, int cy
, UINT uFlags
)
420 return NtUserSetWindowPos(hWnd
,hWndAfter
, X
, Y
, cx
, cy
, uFlags
);
423 EXTINLINE BOOL WINAPI
424 ShowWindow(HWND hWnd
, int nCmdShow
)
426 return NtUserShowWindow(hWnd
, nCmdShow
);
429 EXTINLINE BOOL WINAPI
430 ShowWindowAsync(HWND hWnd
, int nCmdShow
)
432 return NtUserShowWindowAsync(hWnd
, nCmdShow
);
435 EXTINLINE HWND WINAPI
436 SetActiveWindow(HWND hWnd
)
438 return NtUserSetActiveWindow(hWnd
);
441 EXTINLINE DWORD WINAPI
442 GetListBoxInfo(HWND hwnd
)
444 return NtUserGetListBoxInfo(hwnd
); // Do it right! Have the message org from kmode!
447 EXTINLINE BOOL WINAPI
448 DeleteMenu(HMENU hMenu
, UINT uPosition
, UINT uFlags
)
450 return NtUserDeleteMenu(hMenu
, uPosition
, uFlags
);
453 EXTINLINE BOOL WINAPI
454 DestroyMenu(HMENU hMenu
)
456 return NtUserDestroyMenu(hMenu
);
459 EXTINLINE BOOL WINAPI
460 GetMenuBarInfo(HWND hwnd
, LONG idObject
, LONG idItem
, PMENUBARINFO pmbi
)
462 return NtUserGetMenuBarInfo(hwnd
, idObject
, idItem
, pmbi
);
465 EXTINLINE BOOL WINAPI
466 GetMenuItemRect(HWND hWnd
, HMENU hMenu
, UINT uItem
, LPRECT lprcItem
)
468 return NtUserGetMenuItemRect(hWnd
, hMenu
, uItem
, lprcItem
);
471 EXTINLINE BOOL WINAPI
472 RemoveMenu(HMENU hMenu
, UINT uPosition
, UINT uFlags
)
474 return NtUserRemoveMenu(hMenu
, uPosition
, uFlags
);
477 EXTINLINE BOOL WINAPI
478 SetMenuDefaultItem(HMENU hMenu
, UINT uItem
, UINT fByPos
)
480 return NtUserSetMenuDefaultItem(hMenu
, uItem
, fByPos
);
483 EXTINLINE BOOL WINAPI
484 SetMenuContextHelpId(HMENU hmenu
, DWORD dwContextHelpId
)
486 return NtUserSetMenuContextHelpId(hmenu
, dwContextHelpId
);
489 EXTINLINE HWND WINAPI
490 SetCapture(HWND hWnd
)
492 return(NtUserSetCapture(hWnd
));
495 EXTINLINE BOOL WINAPI
496 InvalidateRect(HWND hWnd
, CONST RECT
* lpRect
, BOOL bErase
)
498 return NtUserInvalidateRect(hWnd
, lpRect
, bErase
);
501 EXTINLINE BOOL WINAPI
ValidateRect( HWND hWnd
, CONST RECT
*lpRect
)
503 return NtUserValidateRect(hWnd
, lpRect
);
506 EXTINLINE BOOL WINAPI
ShowCaret( HWND hWnd
)
508 return NtUserShowCaret(hWnd
);
511 EXTINLINE BOOL WINAPI
HideCaret( HWND hWnd
)
513 return NtUserHideCaret(hWnd
);
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
525 EXTINLINE BOOL
NtUserxDestroyCaret(VOID
)
527 return (BOOL
)NtUserCallNoParam(NOPARAM_ROUTINE_DESTROY_CARET
);
530 EXTINLINE VOID
NtUserxMsqClearWakeMask()
532 NtUserCallNoParam(NOPARAM_ROUTINE_MSQCLEARWAKEMASK
);
535 EXTINLINE HMENU
NtUserxCreateMenu()
537 return (HMENU
)NtUserCallNoParam(NOPARAM_ROUTINE_CREATEMENU
);
540 EXTINLINE HMENU
NtUserxCreatePopupMenu()
542 return (HMENU
)NtUserCallNoParam(NOPARAM_ROUTINE_CREATEMENUPOPUP
);
545 EXTINLINE DWORD
NtUserxGetMessagePos(VOID
)
547 return (DWORD
)NtUserCallNoParam(NOPARAM_ROUTINE_GETMSESSAGEPOS
);
550 EXTINLINE BOOL
NtUserxReleaseCapture(VOID
)
552 return (BOOL
)NtUserCallNoParam(NOPARAM_ROUTINE_RELEASECAPTURE
);
555 EXTINLINE BOOL
NtUserxInitMessagePump()
557 return NtUserCallNoParam(NOPARAM_ROUTINE_INIT_MESSAGE_PUMP
);
560 EXTINLINE BOOL
NtUserxUnInitMessagePump()
562 return NtUserCallNoParam(NOPARAM_ROUTINE_UNINIT_MESSAGE_PUMP
);
565 EXTINLINE HANDLE
NtUserxMsqSetWakeMask(DWORD_PTR dwWaitMask
)
567 return (HANDLE
)NtUserCallOneParam(dwWaitMask
, ONEPARAM_ROUTINE_GETINPUTEVENT
);
570 EXTINLINE BOOL
NtUserxSetCaretBlinkTime(UINT uMSeconds
)
572 return (BOOL
)NtUserCallOneParam(uMSeconds
, ONEPARAM_ROUTINE_SETCARETBLINKTIME
);
575 EXTINLINE HWND
NtUserxWindowFromDC(HDC hDC
)
577 return (HWND
)NtUserCallOneParam((DWORD_PTR
)hDC
, ONEPARAM_ROUTINE_WINDOWFROMDC
);
580 EXTINLINE BOOL
NtUserxSwapMouseButton(BOOL fSwap
)
582 return (BOOL
)NtUserCallOneParam((DWORD_PTR
)fSwap
, ONEPARAM_ROUTINE_SWAPMOUSEBUTTON
);
585 EXTINLINE LPARAM
NtUserxSetMessageExtraInfo(LPARAM lParam
)
587 return (LPARAM
)NtUserCallOneParam((DWORD_PTR
)lParam
, ONEPARAM_ROUTINE_SETMESSAGEEXTRAINFO
);
590 EXTINLINE INT
NtUserxShowCursor(BOOL bShow
)
592 return (INT
)NtUserCallOneParam((DWORD_PTR
)bShow
, ONEPARAM_ROUTINE_SHOWCURSOR
);
595 EXTINLINE UINT
NtUserxEnumClipboardFormats(UINT format
)
597 return (UINT
)NtUserCallOneParam((DWORD_PTR
)format
, ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS
);
600 EXTINLINE HICON
NtUserxCreateEmptyCurObject(DWORD_PTR Param
)
602 return (HICON
)NtUserCallOneParam(Param
, ONEPARAM_ROUTINE_CREATEEMPTYCUROBJECT
);
605 EXTINLINE BOOL
NtUserxMessageBeep(UINT uType
)
607 return (BOOL
)NtUserCallOneParam(uType
, ONEPARAM_ROUTINE_MESSAGEBEEP
);
610 EXTINLINE HKL
NtUserxGetKeyboardLayout(DWORD idThread
)
612 return (HKL
)NtUserCallOneParam((DWORD_PTR
) idThread
, ONEPARAM_ROUTINE_GETKEYBOARDLAYOUT
);
615 EXTINLINE INT
NtUserxGetKeyboardType(INT nTypeFlag
)
617 return (INT
)NtUserCallOneParam((DWORD_PTR
) nTypeFlag
, ONEPARAM_ROUTINE_GETKEYBOARDTYPE
);
620 EXTINLINE INT
NtUserxReleaseDC(HDC hDC
)
622 return (INT
)NtUserCallOneParam((DWORD_PTR
) hDC
, ONEPARAM_ROUTINE_RELEASEDC
);
625 EXTINLINE UINT
NtUserxRealizePalette ( HDC hDC
)
627 return (UINT
)NtUserCallOneParam((DWORD_PTR
) hDC
, ONEPARAM_ROUTINE_REALIZEPALETTE
);
630 EXTINLINE VOID
NtUserxCreateSystemThreads(DWORD param
)
632 NtUserCallOneParam(param
, ONEPARAM_ROUTINE_CREATESYSTEMTHREADS
);
635 EXTINLINE HDWP
NtUserxBeginDeferWindowPos(INT nNumWindows
)
637 return (HDWP
)NtUserCallOneParam((DWORD_PTR
)nNumWindows
, ONEPARAM_ROUTINE_BEGINDEFERWNDPOS
);
640 EXTINLINE BOOL
NtUserxReplyMessage(LRESULT lResult
)
642 return NtUserCallOneParam(lResult
, ONEPARAM_ROUTINE_REPLYMESSAGE
);
645 EXTINLINE VOID
NtUserxPostQuitMessage(int nExitCode
)
647 NtUserCallOneParam(nExitCode
, ONEPARAM_ROUTINE_POSTQUITMESSAGE
);
650 EXTINLINE DWORD
NtUserxGetQueueStatus(UINT flags
)
652 return (DWORD
)NtUserCallOneParam(flags
, ONEPARAM_ROUTINE_GETQUEUESTATUS
);
655 EXTINLINE BOOL
NtUserxValidateRgn(HWND hWnd
, HRGN hRgn
)
657 return (BOOL
)NtUserCallHwndParamLock(hWnd
, (DWORD_PTR
)hRgn
, TWOPARAM_ROUTINE_VALIDATERGN
);
660 EXTINLINE BOOL
NtUserxSetCursorPos(INT x
, INT y
)
662 return (BOOL
)NtUserCallTwoParam((DWORD
)x
, (DWORD
)y
, TWOPARAM_ROUTINE_SETCURSORPOS
);
665 EXTINLINE BOOL
NtUserxEnableWindow(HWND hWnd
, BOOL bEnable
)
667 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)hWnd
, (DWORD_PTR
)bEnable
, TWOPARAM_ROUTINE_ENABLEWINDOW
);
670 EXTINLINE BOOL
NtUserxUpdateUiState(HWND hWnd
, DWORD Param
)
672 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)hWnd
, (DWORD_PTR
)Param
, TWOPARAM_ROUTINE_ROS_UPDATEUISTATE
);
675 EXTINLINE BOOL
NtUserxShowOwnedPopups(HWND hWnd
, BOOL fShow
)
677 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)hWnd
, fShow
, TWOPARAM_ROUTINE_SHOWOWNEDPOPUPS
);
680 EXTINLINE BOOL
NtUserxUnhookWindowsHook ( int nCode
, HOOKPROC pfnFilterProc
)
682 return (BOOL
)NtUserCallTwoParam(nCode
, (DWORD_PTR
)pfnFilterProc
, TWOPARAM_ROUTINE_UNHOOKWINDOWSHOOK
);
685 EXTINLINE BOOL
NtUserxSetWindowContextHelpId(HWND hWnd
, DWORD_PTR dwContextHelpId
)
687 return (BOOL
)NtUserCallHwndParam(hWnd
, dwContextHelpId
, HWNDPARAM_ROUTINE_SETWNDCONTEXTHLPID
);
690 EXTINLINE BOOL
NtUserxKillSystemTimer(HWND hWnd
, UINT_PTR IDEvent
)
692 return (BOOL
)NtUserCallHwndParam(hWnd
, IDEvent
, HWNDPARAM_ROUTINE_KILLSYSTEMTIMER
);
695 EXTINLINE VOID
NtUserxSetDialogPointer(HWND hWnd
, PVOID dlgInfo
)
697 NtUserCallHwndParam( hWnd
, (DWORD_PTR
)dlgInfo
, HWNDPARAM_ROUTINE_SETDIALOGPOINTER
);
700 EXTINLINE VOID
NtUserxNotifyWinEvent(HWND hWnd
, PVOID ne
)
702 NtUserCallHwndParam(hWnd
, (DWORD_PTR
)ne
, HWNDPARAM_ROUTINE_ROS_NOTIFYWINEVENT
);
705 EXTINLINE DWORD
NtUserxGetWindowContextHelpId(HWND hwnd
)
707 return NtUserCallHwnd(hwnd
, HWND_ROUTINE_GETWNDCONTEXTHLPID
);
710 EXTINLINE BOOL
NtUserxDeregisterShellHookWindow(HWND hWnd
)
712 return NtUserCallHwnd(hWnd
, HWND_ROUTINE_DEREGISTERSHELLHOOKWINDOW
);
715 EXTINLINE BOOL
NtUserxRegisterShellHookWindow(HWND hWnd
)
717 return NtUserCallHwnd(hWnd
, HWND_ROUTINE_REGISTERSHELLHOOKWINDOW
);
720 EXTINLINE HWND
NtUserxSetTaskmanWindow(HWND hWnd
)
722 return NtUserCallHwndOpt(hWnd
, HWNDOPT_ROUTINE_SETTASKMANWINDOW
);
725 EXTINLINE HWND
NtUserxSetProgmanWindow(HWND hWnd
)
727 return NtUserCallHwndOpt(hWnd
, HWNDOPT_ROUTINE_SETPROGMANWINDOW
);
730 EXTINLINE UINT
NtUserxArrangeIconicWindows(HWND hWnd
)
732 return (UINT
)NtUserCallHwndLock( hWnd
, HWNDLOCK_ROUTINE_ARRANGEICONICWINDOWS
);
735 EXTINLINE BOOL
NtUserxUpdateWindow(HWND hWnd
)
737 return NtUserCallHwndLock(hWnd
, HWNDLOCK_ROUTINE_UPDATEWINDOW
);
740 EXTINLINE BOOL
NtUserxDrawMenuBar(HWND hWnd
)
742 return (BOOL
)NtUserCallHwndLock(hWnd
, HWNDLOCK_ROUTINE_DRAWMENUBAR
);
745 EXTINLINE BOOL
NtUserxMDIRedrawFrame(HWND hWnd
)
747 return (BOOL
)NtUserCallHwndLock(hWnd
, HWNDLOCK_ROUTINE_REDRAWFRAME
);
750 EXTINLINE BOOL
NtUserxSetForegroundWindow(HWND hWnd
)
752 return NtUserCallHwndLock(hWnd
, HWNDLOCK_ROUTINE_SETFOREGROUNDWINDOW
);
756 /* Reactos specific definitions */
758 EXTINLINE LPARAM
NtUserxGetMessageExtraInfo(VOID
)
760 return (LPARAM
)NtUserCallNoParam(NOPARAM_ROUTINE_GETMESSAGEEXTRAINFO
);
763 EXTINLINE BOOL
NtUserxSwitchCaretShowing(THRDCARETINFO
* CaretInfo
)
765 return (BOOL
)NtUserCallOneParam((DWORD_PTR
)CaretInfo
, ONEPARAM_ROUTINE_SWITCHCARETSHOWING
);
768 EXTINLINE VOID
NtUserxEnableProcessWindowGhosting(BOOL bEnable
)
770 NtUserCallOneParam((DWORD_PTR
)bEnable
, ONEPARAM_ROUTINE_ENABLEPROCWNDGHSTING
);
773 EXTINLINE PVOID
NtUserxGetDesktopMapping(PVOID ptr
)
775 return (PVOID
)NtUserCallOneParam((DWORD_PTR
)ptr
, ONEPARAM_ROUTINE_GETDESKTOPMAPPING
);
778 EXTINLINE BOOL
NtUserxGetCursorPos(POINT
* lpPoint
)
780 return (BOOL
)NtUserCallOneParam((DWORD_PTR
)lpPoint
, ONEPARAM_ROUTINE_GETCURSORPOSITION
);
783 EXTINLINE BOOL
NtUserxSetMenuBarHeight(HMENU menu
, INT height
)
785 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)menu
, (DWORD_PTR
)height
, TWOPARAM_ROUTINE_SETMENUBARHEIGHT
);
788 EXTINLINE BOOL
NtUserxSetGUIThreadHandle(DWORD_PTR field
, HWND hwnd
)
790 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)field
, (DWORD_PTR
)hwnd
, TWOPARAM_ROUTINE_SETGUITHRDHANDLE
);
793 EXTINLINE BOOL
NtUserxSetCaretPos(INT x
, INT y
)
795 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)x
, (DWORD_PTR
)y
, TWOPARAM_ROUTINE_SETCARETPOS
);
798 EXTINLINE BOOL
NtUserxRegisterLogonProcess(DWORD dwProcessId
, BOOL bRegister
)
800 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)dwProcessId
, (DWORD_PTR
)bRegister
, TWOPARAM_ROUTINE_REGISTERLOGONPROCESS
);