Jacek Caban : win32u: Introduce inline helpers for NtUserCallNoParam calls.
Alexandre Julliard
julliard at winehq.org
Wed Apr 13 15:14:45 CDT 2022
Module: wine
Branch: master
Commit: 6f1e48f4242f817ed04c8db6c162fbd296486f31
URL: https://source.winehq.org/git/wine.git/?a=commit;h=6f1e48f4242f817ed04c8db6c162fbd296486f31
Author: Jacek Caban <jacek at codeweavers.com>
Date: Wed Apr 13 15:06:44 2022 +0200
win32u: Introduce inline helpers for NtUserCallNoParam calls.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/user32/input.c | 4 ++--
dlls/user32/menu.c | 2 +-
dlls/user32/win.c | 2 +-
dlls/win32u/sysparams.c | 15 +++++++++++----
include/ntuser.h | 46 +++++++++++++++++++++++++++++++++-------------
5 files changed, 48 insertions(+), 21 deletions(-)
diff --git a/dlls/user32/input.c b/dlls/user32/input.c
index 39c215a0b09..2407b9d2960 100644
--- a/dlls/user32/input.c
+++ b/dlls/user32/input.c
@@ -173,7 +173,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH GetCursorPos( POINT *pt )
*/
BOOL WINAPI DECLSPEC_HOTPATCH ReleaseCapture(void)
{
- return NtUserCallNoParam( NtUserReleaseCapture );
+ return NtUserReleaseCapture();
}
@@ -193,7 +193,7 @@ HWND WINAPI GetCapture(void)
*/
BOOL WINAPI GetInputState(void)
{
- return NtUserCallNoParam( NtUserGetInputState );
+ return NtUserGetInputState();
}
diff --git a/dlls/user32/menu.c b/dlls/user32/menu.c
index c6fdb01c113..185d596fbb8 100644
--- a/dlls/user32/menu.c
+++ b/dlls/user32/menu.c
@@ -4213,7 +4213,7 @@ BOOL WINAPI SetMenuItemBitmaps( HMENU hMenu, UINT nPos, UINT wFlags,
*/
HMENU WINAPI CreateMenu(void)
{
- return UlongToHandle( NtUserCallNoParam( NtUserCreateMenu ));
+ return NtUserCreateMenu();
}
diff --git a/dlls/user32/win.c b/dlls/user32/win.c
index 881825b5510..ec5a964b3c2 100644
--- a/dlls/user32/win.c
+++ b/dlls/user32/win.c
@@ -871,7 +871,7 @@ HWND WINAPI GetDesktopWindow(void)
struct user_thread_info *thread_info = get_user_thread_info();
if (thread_info->top_window) return thread_info->top_window;
- return UlongToHandle( NtUserCallNoParam( NtUserGetDesktopWindow ));
+ return NtUserGetDesktopWindow();
}
diff --git a/dlls/win32u/sysparams.c b/dlls/win32u/sysparams.c
index c542de61451..77a6a70e27f 100644
--- a/dlls/win32u/sysparams.c
+++ b/dlls/win32u/sysparams.c
@@ -4632,24 +4632,31 @@ ULONG_PTR WINAPI NtUserCallNoParam( ULONG code )
{
switch(code)
{
- case NtUserCreateMenu:
+ case NtUserCallNoParam_CreateMenu:
return HandleToUlong( create_menu() );
- case NtUserGetDesktopWindow:
+
+ case NtUserCallNoParam_GetDesktopWindow:
return HandleToUlong( get_desktop_window() );
- case NtUserGetInputState:
+
+ case NtUserCallNoParam_GetInputState:
return get_input_state();
- case NtUserReleaseCapture:
+
+ case NtUserCallNoParam_ReleaseCapture:
return release_capture();
+
/* temporary exports */
case NtUserExitingThread:
exiting_thread_id = GetCurrentThreadId();
return 0;
+
case NtUserThreadDetach:
thread_detach();
return 0;
+
case NtUserUpdateClipboard:
user_driver->pUpdateClipboard();
return 0;
+
default:
FIXME( "invalid code %u\n", code );
return 0;
diff --git a/include/ntuser.h b/include/ntuser.h
index 081760333e9..5190bec5560 100644
--- a/include/ntuser.h
+++ b/include/ntuser.h
@@ -131,19 +131,6 @@ struct win_hook_params
#define NTUSER_DPI_PER_MONITOR_AWARE_V2 0x00000022
#define NTUSER_DPI_PER_UNAWARE_GDISCALED 0x40006010
-/* NtUserCallNoParam codes, not compatible with Windows */
-enum
-{
- NtUserCreateMenu,
- NtUserGetDesktopWindow,
- NtUserGetInputState,
- NtUserReleaseCapture,
- /* temporary exports */
- NtUserExitingThread,
- NtUserThreadDetach,
- NtUserUpdateClipboard,
-};
-
/* NtUserCallOneParam codes, not compatible with Windows */
enum
{
@@ -676,4 +663,37 @@ DWORD WINAPI NtUserWaitForInputIdle( HANDLE process, DWORD timeout, BOOL wow )
HWND WINAPI NtUserWindowFromDC( HDC hdc );
HWND WINAPI NtUserWindowFromPoint( LONG x, LONG y );
+/* NtUserCallNoParam codes, not compatible with Windows */
+enum
+{
+ NtUserCallNoParam_CreateMenu,
+ NtUserCallNoParam_GetDesktopWindow,
+ NtUserCallNoParam_GetInputState,
+ NtUserCallNoParam_ReleaseCapture,
+ /* temporary exports */
+ NtUserExitingThread,
+ NtUserThreadDetach,
+ NtUserUpdateClipboard,
+};
+
+static inline HMENU NtUserCreateMenu(void)
+{
+ return UlongToHandle( NtUserCallNoParam( NtUserCallNoParam_CreateMenu ));
+}
+
+static inline HWND NtUserGetDesktopWindow(void)
+{
+ return UlongToHandle( NtUserCallNoParam( NtUserCallNoParam_GetDesktopWindow ));
+}
+
+static inline BOOL NtUserGetInputState(void)
+{
+ return NtUserCallNoParam( NtUserCallNoParam_GetInputState );
+}
+
+static inline BOOL NtUserReleaseCapture(void)
+{
+ return NtUserCallNoParam( NtUserCallNoParam_ReleaseCapture );
+}
+
#endif /* _NTUSER_ */
More information about the wine-cvs
mailing list