4 #define EXTINLINE extern inline __attribute__((always_inline))
5 #elif defined(_MSC_VER)
6 #define EXTINLINE extern __forceinline
11 BOOL FASTCALL
TestState(PWND
, UINT
);
15 GetScrollBarInfo(HWND hWnd
, LONG idObject
, PSCROLLBARINFO psbi
)
17 return NtUserGetScrollBarInfo(hWnd
, idObject
, psbi
);
22 ShowScrollBar(HWND hWnd
, INT wBar
, BOOL bShow
)
24 return NtUserShowScrollBar(hWnd
, wBar
, bShow
);
28 CloseDesktop(HDESK hDesktop
)
30 return NtUserCloseDesktop(hDesktop
);
33 EXTINLINE HDESK WINAPI
34 OpenInputDesktop(DWORD dwFlags
, BOOL fInherit
, ACCESS_MASK dwDesiredAccess
)
36 return NtUserOpenInputDesktop(dwFlags
, fInherit
, dwDesiredAccess
);
42 return NtUserPaintDesktop(hdc
);
46 SetThreadDesktop(HDESK hDesktop
)
48 return NtUserSetThreadDesktop(hDesktop
);
52 SwitchDesktop(HDESK hDesktop
)
54 return NtUserSwitchDesktop(hDesktop
);
58 SetShellWindowEx(HWND hwndShell
, HWND hwndShellListView
)
60 return NtUserSetShellWindowEx(hwndShell
, hwndShellListView
);
63 EXTINLINE DWORD WINAPI
64 GetGuiResources(HANDLE hProcess
, DWORD uiFlags
)
66 return NtUserGetGuiResources(hProcess
, uiFlags
);
70 GetUserObjectInformationW(HANDLE hObj
, int nIndex
, PVOID pvInfo
, DWORD nLength
, LPDWORD lpnLengthNeeded
)
72 return NtUserGetObjectInformation(hObj
, nIndex
, pvInfo
, nLength
, lpnLengthNeeded
);
76 LockWindowUpdate(HWND hWndLock
)
78 return NtUserLockWindowUpdate(hWndLock
);
84 return NtUserLockWorkStation();
87 EXTINLINE DWORD WINAPI
88 RegisterTasklist(DWORD x
)
90 return NtUserRegisterTasklist(x
);
93 EXTINLINE DWORD WINAPI
94 DragObject(HWND hwnd1
, HWND hwnd2
, UINT u1
, ULONG_PTR dw1
, HCURSOR hc1
)
96 return NtUserDragObject(hwnd1
, hwnd2
, u1
, dw1
, hc1
);
100 KillTimer(HWND hWnd
, UINT_PTR IDEvent
)
102 return NtUserKillTimer(hWnd
, IDEvent
);
105 EXTINLINE UINT_PTR WINAPI
106 SetSystemTimer(HWND hWnd
, UINT_PTR IDEvent
, UINT Period
, TIMERPROC TimerFunc
)
108 return NtUserSetSystemTimer(hWnd
, IDEvent
, Period
, TimerFunc
);
111 EXTINLINE UINT_PTR WINAPI
112 SetTimer(HWND hWnd
, UINT_PTR IDEvent
, UINT Period
, TIMERPROC TimerFunc
)
114 return NtUserSetTimer(hWnd
, IDEvent
, Period
, TimerFunc
);
117 EXTINLINE BOOL WINAPI
118 CloseWindowStation(HWINSTA hWinSta
)
120 return NtUserCloseWindowStation(hWinSta
);
123 EXTINLINE HWINSTA WINAPI
124 GetProcessWindowStation(VOID
)
126 return NtUserGetProcessWindowStation();
129 EXTINLINE BOOL WINAPI
130 SetProcessWindowStation(HWINSTA hWinSta
)
132 return NtUserSetProcessWindowStation(hWinSta
);
135 EXTINLINE BOOL WINAPI
136 LockWindowStation(HWINSTA hWinSta
)
138 return NtUserLockWindowStation(hWinSta
);
141 EXTINLINE BOOL WINAPI
142 UnlockWindowStation(HWINSTA hWinSta
)
144 return NtUserUnlockWindowStation(hWinSta
);
148 CopyAcceleratorTableW(HACCEL hAccelSrc
, LPACCEL lpAccelDst
, int cAccelEntries
)
150 return NtUserCopyAcceleratorTable(hAccelSrc
, lpAccelDst
, cAccelEntries
);
153 EXTINLINE HACCEL WINAPI
154 CreateAcceleratorTableW(LPACCEL lpaccl
, int cEntries
)
156 return NtUserCreateAcceleratorTable(lpaccl
, cEntries
);
159 EXTINLINE BOOL WINAPI
160 CreateCaret(HWND hWnd
, HBITMAP hBitmap
, int nWidth
, int nHeight
)
162 return NtUserCreateCaret(hWnd
, hBitmap
, nWidth
, nHeight
);
165 EXTINLINE UINT WINAPI
166 GetCaretBlinkTime(VOID
)
168 return NtUserGetCaretBlinkTime();
171 EXTINLINE BOOL WINAPI
172 GetCaretPos(LPPOINT lpPoint
)
174 return NtUserGetCaretPos(lpPoint
);
177 EXTINLINE BOOL WINAPI
180 return NtUserCloseClipboard();
184 CountClipboardFormats(VOID
)
186 return NtUserCountClipboardFormats();
189 EXTINLINE BOOL WINAPI
192 return NtUserEmptyClipboard();
195 EXTINLINE HWND WINAPI
196 GetClipboardOwner(VOID
)
198 return NtUserGetClipboardOwner();
201 EXTINLINE DWORD WINAPI
202 GetClipboardSequenceNumber(VOID
)
204 return NtUserGetClipboardSequenceNumber();
207 EXTINLINE HWND WINAPI
208 GetClipboardViewer(VOID
)
210 return NtUserGetClipboardViewer();
213 EXTINLINE HWND WINAPI
214 GetOpenClipboardWindow(VOID
)
216 return NtUserGetOpenClipboardWindow();
220 GetPriorityClipboardFormat(UINT
*paFormatPriorityList
, INT cFormats
)
222 return NtUserGetPriorityClipboardFormat(paFormatPriorityList
, cFormats
);
225 EXTINLINE BOOL WINAPI
226 IsClipboardFormatAvailable(UINT format
)
228 return NtUserIsClipboardFormatAvailable(format
);
231 EXTINLINE HWND WINAPI
232 SetClipboardViewer(HWND hWndNewViewer
)
234 return NtUserSetClipboardViewer(hWndNewViewer
);
237 EXTINLINE BOOL WINAPI
238 ChangeClipboardChain(HWND hWndRemove
, HWND hWndNewNext
)
240 return NtUserChangeClipboardChain(hWndRemove
, hWndNewNext
);
243 EXTINLINE BOOL WINAPI
244 GetClipCursor(LPRECT lpRect
)
246 return NtUserGetClipCursor(lpRect
);
249 EXTINLINE HBRUSH WINAPI
GetControlBrush(HWND hwnd
, HDC hdc
, UINT ctlType
)
251 return NtUserGetControlBrush(hwnd
, hdc
, ctlType
);
254 EXTINLINE HBRUSH WINAPI
GetControlColor(HWND hwndParent
, HWND hwnd
, HDC hdc
, UINT CtlMsg
)
256 return NtUserGetControlColor(hwndParent
, hwnd
, hdc
, CtlMsg
);
259 EXTINLINE BOOL WINAPI
260 GetCursorInfo(PCURSORINFO pci
)
262 return NtUserGetCursorInfo(pci
);
265 EXTINLINE BOOL WINAPI
266 ClipCursor(CONST RECT
*lpRect
)
268 return NtUserClipCursor((RECT
*)lpRect
);
271 EXTINLINE HCURSOR WINAPI
272 SetCursor(HCURSOR hCursor
)
274 return NtUserSetCursor(hCursor
);
280 return NtUserGetDC(hWnd
);
284 GetDCEx(HWND hWnd
, HRGN hrgnClip
, DWORD flags
)
286 return NtUserGetDCEx(hWnd
, hrgnClip
, flags
);
290 GetWindowDC(HWND hWnd
)
292 return NtUserGetWindowDC(hWnd
);
295 EXTINLINE BOOL WINAPI
296 FlashWindowEx(PFLASHWINFO pfwi
)
298 return NtUserFlashWindowEx(pfwi
);
301 EXTINLINE BOOL WINAPI
302 DrawAnimatedRects(HWND hWnd
, int idAni
, CONST RECT
*lprcFrom
, CONST RECT
*lprcTo
)
304 return NtUserDrawAnimatedRects(hWnd
, idAni
, (RECT
*)lprcFrom
, (RECT
*)lprcTo
);
307 EXTINLINE BOOL WINAPI
308 BlockInput(BOOL fBlockIt
)
310 return NtUserBlockInput(fBlockIt
);
313 EXTINLINE UINT WINAPI
314 GetDoubleClickTime(VOID
)
316 return NtUserGetDoubleClickTime();
319 EXTINLINE BOOL WINAPI
320 GetKeyboardState(PBYTE lpKeyState
)
322 return NtUserGetKeyboardState((LPBYTE
)lpKeyState
);
325 EXTINLINE BOOL WINAPI
326 RegisterHotKey(HWND hWnd
, int id
, UINT fsModifiers
, UINT vk
)
328 return NtUserRegisterHotKey(hWnd
, id
, fsModifiers
, vk
);
331 EXTINLINE HWND WINAPI
334 return NtUserSetFocus(hWnd
);
337 EXTINLINE BOOL WINAPI
338 SetKeyboardState(LPBYTE lpKeyState
)
340 return NtUserSetKeyboardState((LPBYTE
)lpKeyState
);
343 EXTINLINE UINT WINAPI
344 SendInput(UINT nInputs
, LPINPUT pInputs
, int cbSize
)
346 return NtUserSendInput(nInputs
, pInputs
, cbSize
);
349 EXTINLINE BOOL WINAPI
352 return NtUserWaitMessage();
356 BeginPaint(HWND hwnd
, LPPAINTSTRUCT lpPaint
)
358 return NtUserBeginPaint(hwnd
, lpPaint
);
361 EXTINLINE BOOL WINAPI
362 EndPaint(HWND hWnd
, CONST PAINTSTRUCT
*lpPaint
)
364 return NtUserEndPaint(hWnd
, lpPaint
);
368 ExcludeUpdateRgn(HDC hDC
, HWND hWnd
)
370 return NtUserExcludeUpdateRgn(hDC
, hWnd
);
373 EXTINLINE BOOL WINAPI
374 InvalidateRgn(HWND hWnd
, HRGN hRgn
, BOOL bErase
)
376 return NtUserInvalidateRgn(hWnd
, hRgn
, bErase
);
379 EXTINLINE BOOL WINAPI
380 RedrawWindow(HWND hWnd
, CONST RECT
*lprcUpdate
, HRGN hrgnUpdate
, UINT flags
)
382 return NtUserRedrawWindow(hWnd
, lprcUpdate
, hrgnUpdate
, flags
);
385 EXTINLINE BOOL WINAPI
386 DestroyWindow(HWND hWnd
)
388 return NtUserDestroyWindow(hWnd
);
391 EXTINLINE HWND WINAPI
392 GetForegroundWindow(VOID
)
394 return NtUserGetForegroundWindow();
397 EXTINLINE BOOL WINAPI
398 GetGUIThreadInfo(DWORD idThread
, LPGUITHREADINFO lpgui
)
400 return NtUserGetGUIThreadInfo(idThread
, lpgui
);
403 EXTINLINE BOOL WINAPI
404 GetTitleBarInfo(HWND hwnd
, PTITLEBARINFO pti
)
406 return NtUserGetTitleBarInfo(hwnd
, pti
);
409 EXTINLINE BOOL WINAPI
410 GetWindowPlacement(HWND hWnd
, WINDOWPLACEMENT
*lpwndpl
)
412 return NtUserGetWindowPlacement(hWnd
, lpwndpl
);
415 EXTINLINE BOOL WINAPI
416 MoveWindow(HWND hWnd
, int X
, int Y
, int nWidth
, int nHeight
, BOOL bRepaint
)
418 return NtUserMoveWindow(hWnd
, X
, Y
, nWidth
, nHeight
, bRepaint
);
421 EXTINLINE HWND WINAPI
422 SetParent(HWND hWndChild
, HWND hWndNewParent
)
424 return NtUserSetParent(hWndChild
, hWndNewParent
);
427 EXTINLINE BOOL WINAPI
428 SetWindowPlacement(HWND hWnd
, CONST WINDOWPLACEMENT
*lpwndpl
)
430 return NtUserSetWindowPlacement(hWnd
, (WINDOWPLACEMENT
*)lpwndpl
);
433 EXTINLINE BOOL WINAPI
434 SetWindowPos(HWND hWnd
, HWND hWndAfter
, int X
, int Y
, int cx
, int cy
, UINT uFlags
)
436 return NtUserSetWindowPos(hWnd
,hWndAfter
, X
, Y
, cx
, cy
, uFlags
);
439 EXTINLINE BOOL WINAPI
440 ShowWindow(HWND hWnd
, int nCmdShow
)
442 return NtUserShowWindow(hWnd
, nCmdShow
);
445 EXTINLINE BOOL WINAPI
446 ShowWindowAsync(HWND hWnd
, int nCmdShow
)
448 return NtUserShowWindowAsync(hWnd
, nCmdShow
);
451 EXTINLINE HWND WINAPI
452 SetActiveWindow(HWND hWnd
)
454 return NtUserSetActiveWindow(hWnd
);
457 EXTINLINE DWORD WINAPI
458 GetListBoxInfo(HWND hwnd
)
460 return NtUserGetListBoxInfo(hwnd
); // Do it right! Have the message org from kmode!
463 EXTINLINE BOOL WINAPI
464 DeleteMenu(HMENU hMenu
, UINT uPosition
, UINT uFlags
)
466 return NtUserDeleteMenu(hMenu
, uPosition
, uFlags
);
469 EXTINLINE BOOL WINAPI
470 DestroyMenu(HMENU hMenu
)
472 return NtUserDestroyMenu(hMenu
);
475 /*EXTINLINE BOOL WINAPI
476 GetMenuBarInfo(HWND hwnd, LONG idObject, LONG idItem, PMENUBARINFO pmbi)
478 return NtUserGetMenuBarInfo(hwnd, idObject, idItem, pmbi);
481 EXTINLINE BOOL WINAPI
482 GetMenuItemRect(HWND hWnd
, HMENU hMenu
, UINT uItem
, LPRECT lprcItem
)
484 return NtUserGetMenuItemRect(hWnd
, hMenu
, uItem
, lprcItem
);
487 EXTINLINE BOOL WINAPI
488 RemoveMenu(HMENU hMenu
, UINT uPosition
, UINT uFlags
)
490 return NtUserRemoveMenu(hMenu
, uPosition
, uFlags
);
493 EXTINLINE BOOL WINAPI
494 SetMenuDefaultItem(HMENU hMenu
, UINT uItem
, UINT fByPos
)
496 return NtUserSetMenuDefaultItem(hMenu
, uItem
, fByPos
);
499 EXTINLINE BOOL WINAPI
500 SetMenuContextHelpId(HMENU hmenu
, DWORD dwContextHelpId
)
502 return NtUserSetMenuContextHelpId(hmenu
, dwContextHelpId
);
505 EXTINLINE HWND WINAPI
506 SetCapture(HWND hWnd
)
508 return NtUserSetCapture(hWnd
);
511 EXTINLINE BOOL WINAPI
512 InvalidateRect(HWND hWnd
, CONST RECT
* lpRect
, BOOL bErase
)
514 return NtUserInvalidateRect(hWnd
, lpRect
, bErase
);
517 EXTINLINE BOOL WINAPI
ValidateRect(HWND hWnd
, CONST RECT
*lpRect
)
519 return NtUserValidateRect(hWnd
, lpRect
);
522 EXTINLINE BOOL WINAPI
ShowCaret(HWND hWnd
)
524 return NtUserShowCaret(hWnd
);
527 EXTINLINE BOOL WINAPI
HideCaret(HWND hWnd
)
529 return NtUserHideCaret(hWnd
);
536 Inline functions that make calling NtUserCall*** functions readable
537 These functions are prepended with NtUserx because they are not
538 real syscalls and they are inlined
541 EXTINLINE BOOL
NtUserxDestroyCaret(VOID
)
543 return (BOOL
)NtUserCallNoParam(NOPARAM_ROUTINE_DESTROY_CARET
);
546 EXTINLINE VOID
NtUserxMsqClearWakeMask(VOID
)
548 NtUserCallNoParam(NOPARAM_ROUTINE_MSQCLEARWAKEMASK
);
551 EXTINLINE HMENU
NtUserxCreateMenu(VOID
)
553 return (HMENU
)NtUserCallNoParam(NOPARAM_ROUTINE_CREATEMENU
);
556 EXTINLINE HMENU
NtUserxCreatePopupMenu(VOID
)
558 return (HMENU
)NtUserCallNoParam(NOPARAM_ROUTINE_CREATEMENUPOPUP
);
561 EXTINLINE DWORD
NtUserxGetMessagePos(VOID
)
563 return (DWORD
)NtUserCallNoParam(NOPARAM_ROUTINE_GETMSESSAGEPOS
);
566 EXTINLINE BOOL
NtUserxReleaseCapture(VOID
)
568 return (BOOL
)NtUserCallNoParam(NOPARAM_ROUTINE_RELEASECAPTURE
);
571 EXTINLINE BOOL
NtUserxInitMessagePump(VOID
)
573 return (BOOL
)NtUserCallNoParam(NOPARAM_ROUTINE_INIT_MESSAGE_PUMP
);
576 EXTINLINE BOOL
NtUserxUnInitMessagePump(VOID
)
578 return NtUserCallNoParam(NOPARAM_ROUTINE_UNINIT_MESSAGE_PUMP
);
581 EXTINLINE HANDLE
NtUserxMsqSetWakeMask(DWORD_PTR dwWaitMask
)
583 return (HANDLE
)NtUserCallOneParam(dwWaitMask
, ONEPARAM_ROUTINE_GETINPUTEVENT
);
586 EXTINLINE BOOL
NtUserxSetCaretBlinkTime(UINT uMSeconds
)
588 return (BOOL
)NtUserCallOneParam(uMSeconds
, ONEPARAM_ROUTINE_SETCARETBLINKTIME
);
591 EXTINLINE HWND
NtUserxWindowFromDC(HDC hDC
)
593 return (HWND
)NtUserCallOneParam((DWORD_PTR
)hDC
, ONEPARAM_ROUTINE_WINDOWFROMDC
);
596 EXTINLINE BOOL
NtUserxSwapMouseButton(BOOL fSwap
)
598 return (BOOL
)NtUserCallOneParam((DWORD_PTR
)fSwap
, ONEPARAM_ROUTINE_SWAPMOUSEBUTTON
);
601 EXTINLINE LPARAM
NtUserxSetMessageExtraInfo(LPARAM lParam
)
603 return (LPARAM
)NtUserCallOneParam((DWORD_PTR
)lParam
, ONEPARAM_ROUTINE_SETMESSAGEEXTRAINFO
);
606 EXTINLINE INT
NtUserxShowCursor(BOOL bShow
)
608 return (INT
)NtUserCallOneParam((DWORD_PTR
)bShow
, ONEPARAM_ROUTINE_SHOWCURSOR
);
611 EXTINLINE UINT
NtUserxEnumClipboardFormats(UINT format
)
613 return (UINT
)NtUserCallOneParam((DWORD_PTR
)format
, ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS
);
616 EXTINLINE HICON
NtUserxCreateEmptyCurObject(DWORD_PTR Param
)
618 return (HICON
)NtUserCallOneParam(Param
, ONEPARAM_ROUTINE_CREATEEMPTYCUROBJECT
);
621 EXTINLINE BOOL
NtUserxMessageBeep(UINT uType
)
623 return (BOOL
)NtUserCallOneParam(uType
, ONEPARAM_ROUTINE_MESSAGEBEEP
);
626 EXTINLINE HKL
NtUserxGetKeyboardLayout(DWORD idThread
)
628 return (HKL
)NtUserCallOneParam((DWORD_PTR
)idThread
, ONEPARAM_ROUTINE_GETKEYBOARDLAYOUT
);
631 EXTINLINE INT
NtUserxGetKeyboardType(INT nTypeFlag
)
633 return (INT
)NtUserCallOneParam((DWORD_PTR
)nTypeFlag
, ONEPARAM_ROUTINE_GETKEYBOARDTYPE
);
636 EXTINLINE INT
NtUserxReleaseDC(HDC hDC
)
638 return (INT
)NtUserCallOneParam((DWORD_PTR
)hDC
, ONEPARAM_ROUTINE_RELEASEDC
);
641 EXTINLINE UINT
NtUserxRealizePalette(HDC hDC
)
643 return (UINT
)NtUserCallOneParam((DWORD_PTR
)hDC
, ONEPARAM_ROUTINE_REALIZEPALETTE
);
646 EXTINLINE VOID
NtUserxCreateSystemThreads(BOOL bRemoteProcess
)
648 NtUserCallOneParam(bRemoteProcess
, ONEPARAM_ROUTINE_CREATESYSTEMTHREADS
);
651 EXTINLINE HDWP
NtUserxBeginDeferWindowPos(INT nNumWindows
)
653 return (HDWP
)NtUserCallOneParam((DWORD_PTR
)nNumWindows
, ONEPARAM_ROUTINE_BEGINDEFERWNDPOS
);
656 EXTINLINE BOOL
NtUserxReplyMessage(LRESULT lResult
)
658 return NtUserCallOneParam(lResult
, ONEPARAM_ROUTINE_REPLYMESSAGE
);
661 EXTINLINE VOID
NtUserxPostQuitMessage(int nExitCode
)
663 NtUserCallOneParam(nExitCode
, ONEPARAM_ROUTINE_POSTQUITMESSAGE
);
666 EXTINLINE DWORD
NtUserxGetQueueStatus(UINT flags
)
668 return (DWORD
)NtUserCallOneParam(flags
, ONEPARAM_ROUTINE_GETQUEUESTATUS
);
671 EXTINLINE BOOL
NtUserxValidateRgn(HWND hWnd
, HRGN hRgn
)
673 return (BOOL
)NtUserCallHwndParamLock(hWnd
, (DWORD_PTR
)hRgn
, TWOPARAM_ROUTINE_VALIDATERGN
);
676 EXTINLINE BOOL
NtUserxSetCursorPos(INT x
, INT y
)
678 return (BOOL
)NtUserCallTwoParam((DWORD
)x
, (DWORD
)y
, TWOPARAM_ROUTINE_SETCURSORPOS
);
681 EXTINLINE BOOL
NtUserxEnableWindow(HWND hWnd
, BOOL bEnable
)
683 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)hWnd
, (DWORD_PTR
)bEnable
, TWOPARAM_ROUTINE_ENABLEWINDOW
);
686 EXTINLINE BOOL
NtUserxUpdateUiState(HWND hWnd
, DWORD Param
)
688 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)hWnd
, (DWORD_PTR
)Param
, TWOPARAM_ROUTINE_ROS_UPDATEUISTATE
);
691 EXTINLINE BOOL
NtUserxShowOwnedPopups(HWND hWnd
, BOOL fShow
)
693 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)hWnd
, fShow
, TWOPARAM_ROUTINE_SHOWOWNEDPOPUPS
);
696 EXTINLINE BOOL
NtUserxUnhookWindowsHook(int nCode
, HOOKPROC pfnFilterProc
)
698 return (BOOL
)NtUserCallTwoParam(nCode
, (DWORD_PTR
)pfnFilterProc
, TWOPARAM_ROUTINE_UNHOOKWINDOWSHOOK
);
701 EXTINLINE BOOL
NtUserxSetWindowContextHelpId(HWND hWnd
, DWORD_PTR dwContextHelpId
)
703 return (BOOL
)NtUserCallHwndParam(hWnd
, dwContextHelpId
, HWNDPARAM_ROUTINE_SETWNDCONTEXTHLPID
);
706 EXTINLINE BOOL
NtUserxKillSystemTimer(HWND hWnd
, UINT_PTR IDEvent
)
708 return (BOOL
)NtUserCallHwndParam(hWnd
, IDEvent
, HWNDPARAM_ROUTINE_KILLSYSTEMTIMER
);
711 EXTINLINE VOID
NtUserxSetDialogPointer(HWND hWnd
, PVOID dlgInfo
)
713 NtUserCallHwndParam(hWnd
, (DWORD_PTR
)dlgInfo
, HWNDPARAM_ROUTINE_SETDIALOGPOINTER
);
716 EXTINLINE VOID
NtUserxNotifyWinEvent(HWND hWnd
, PVOID ne
)
718 NtUserCallHwndParam(hWnd
, (DWORD_PTR
)ne
, HWNDPARAM_ROUTINE_ROS_NOTIFYWINEVENT
);
721 EXTINLINE DWORD
NtUserxGetWindowContextHelpId(HWND hwnd
)
723 return NtUserCallHwnd(hwnd
, HWND_ROUTINE_GETWNDCONTEXTHLPID
);
726 EXTINLINE BOOL
NtUserxDeregisterShellHookWindow(HWND hWnd
)
728 return NtUserCallHwnd(hWnd
, HWND_ROUTINE_DEREGISTERSHELLHOOKWINDOW
);
731 EXTINLINE BOOL
NtUserxRegisterShellHookWindow(HWND hWnd
)
733 return NtUserCallHwnd(hWnd
, HWND_ROUTINE_REGISTERSHELLHOOKWINDOW
);
736 EXTINLINE BOOL
NtUserxSetMessageBox(HWND hWnd
)
738 return NtUserCallHwnd(hWnd
, HWND_ROUTINE_SETMSGBOX
);
741 EXTINLINE VOID
NtUserxClearWindowState(PWND pWnd
, UINT Flag
)
743 if (!TestState(pWnd
, Flag
)) return;
744 NtUserCallHwndParam(UserHMGetHandle(pWnd
), (DWORD_PTR
)Flag
, HWNDPARAM_ROUTINE_CLEARWINDOWSTATE
);
747 EXTINLINE VOID
NtUserxSetWindowState(PWND pWnd
, UINT Flag
)
749 if (TestState(pWnd
, Flag
)) return;
750 NtUserCallHwndParam(UserHMGetHandle(pWnd
), (DWORD_PTR
)Flag
, HWNDPARAM_ROUTINE_SETWINDOWSTATE
);
753 EXTINLINE HWND
NtUserxSetTaskmanWindow(HWND hWnd
)
755 return NtUserCallHwndOpt(hWnd
, HWNDOPT_ROUTINE_SETTASKMANWINDOW
);
758 EXTINLINE HWND
NtUserxSetProgmanWindow(HWND hWnd
)
760 return NtUserCallHwndOpt(hWnd
, HWNDOPT_ROUTINE_SETPROGMANWINDOW
);
763 EXTINLINE UINT
NtUserxArrangeIconicWindows(HWND hWnd
)
765 return (UINT
)NtUserCallHwndLock(hWnd
, HWNDLOCK_ROUTINE_ARRANGEICONICWINDOWS
);
768 EXTINLINE BOOL
NtUserxUpdateWindow(HWND hWnd
)
770 return NtUserCallHwndLock(hWnd
, HWNDLOCK_ROUTINE_UPDATEWINDOW
);
773 EXTINLINE BOOL
NtUserxDrawMenuBar(HWND hWnd
)
775 return (BOOL
)NtUserCallHwndLock(hWnd
, HWNDLOCK_ROUTINE_DRAWMENUBAR
);
778 EXTINLINE BOOL
NtUserxMDIRedrawFrame(HWND hWnd
)
780 return (BOOL
)NtUserCallHwndLock(hWnd
, HWNDLOCK_ROUTINE_REDRAWFRAME
);
783 EXTINLINE BOOL
NtUserxSetForegroundWindow(HWND hWnd
)
785 return NtUserCallHwndLock(hWnd
, HWNDLOCK_ROUTINE_SETFOREGROUNDWINDOW
);
789 /* ReactOS-specific definitions */
791 EXTINLINE LPARAM
NtUserxGetMessageExtraInfo(VOID
)
793 return (LPARAM
)NtUserGetThreadState(THREADSTATE_GETMESSAGEEXTRAINFO
);
796 EXTINLINE VOID
NtUserxEnableProcessWindowGhosting(BOOL bEnable
)
798 NtUserCallOneParam((DWORD_PTR
)bEnable
, ONEPARAM_ROUTINE_ENABLEPROCWNDGHSTING
);
801 EXTINLINE PVOID
NtUserxGetDesktopMapping(PVOID ptr
)
803 return (PVOID
)NtUserCallOneParam((DWORD_PTR
)ptr
, ONEPARAM_ROUTINE_GETDESKTOPMAPPING
);
806 EXTINLINE BOOL
NtUserxGetCursorPos(POINT
* lpPoint
)
808 return (BOOL
)NtUserCallOneParam((DWORD_PTR
)lpPoint
, ONEPARAM_ROUTINE_GETCURSORPOS
);
811 EXTINLINE BOOL
NtUserxSetMenuBarHeight(HMENU menu
, INT height
)
813 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)menu
, (DWORD_PTR
)height
, TWOPARAM_ROUTINE_SETMENUBARHEIGHT
);
816 EXTINLINE BOOL
NtUserxSetGUIThreadHandle(DWORD_PTR field
, HWND hwnd
)
818 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)field
, (DWORD_PTR
)hwnd
, TWOPARAM_ROUTINE_SETGUITHRDHANDLE
);
821 EXTINLINE BOOL
NtUserxSetCaretPos(INT x
, INT y
)
823 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)x
, (DWORD_PTR
)y
, TWOPARAM_ROUTINE_SETCARETPOS
);
826 EXTINLINE BOOL
NtUserxRegisterLogonProcess(DWORD dwProcessId
, BOOL bRegister
)
828 return (BOOL
)NtUserCallTwoParam((DWORD_PTR
)dwProcessId
, (DWORD_PTR
)bRegister
, TWOPARAM_ROUTINE_REGISTERLOGONPROCESS
);
831 EXTINLINE BOOL
NtUserxAllowSetForegroundWindow(DWORD dwProcessId
)
833 return (BOOL
)NtUserCallOneParam((DWORD_PTR
)dwProcessId
, ONEPARAM_ROUTINE_ALLOWSETFOREGND
);
836 EXTINLINE BOOL
NtUserxLockSetForegroundWindow(UINT uLockCode
)
838 return (BOOL
)NtUserCallOneParam((DWORD_PTR
)uLockCode
, ONEPARAM_ROUTINE_LOCKFOREGNDWINDOW
);