Jacek Caban : win32u: Move NtUserCloseDesktop implementation from user32.
Alexandre Julliard
julliard at winehq.org
Wed Oct 13 15:59:27 CDT 2021
Module: wine
Branch: master
Commit: ccf00c6d954f1f08fa371c211f8d42473f772e51
URL: https://source.winehq.org/git/wine.git/?a=commit;h=ccf00c6d954f1f08fa371c211f8d42473f772e51
Author: Jacek Caban <jacek at codeweavers.com>
Date: Wed Oct 13 14:53:36 2021 +0200
win32u: Move NtUserCloseDesktop implementation from user32.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/user32/message.c | 2 +-
dlls/user32/user32.spec | 2 +-
dlls/user32/winstation.c | 16 ----------------
dlls/win32u/syscall.c | 1 +
dlls/win32u/win32u.spec | 2 +-
dlls/win32u/winstation.c | 15 +++++++++++++++
dlls/wow64win/syscall.h | 1 +
dlls/wow64win/user.c | 7 +++++++
include/ntuser.h | 1 +
9 files changed, 28 insertions(+), 19 deletions(-)
diff --git a/dlls/user32/message.c b/dlls/user32/message.c
index 7e6b660b8af..e5ea0735ed2 100644
--- a/dlls/user32/message.c
+++ b/dlls/user32/message.c
@@ -4321,7 +4321,7 @@ static BOOL CALLBACK bcast_desktop( LPWSTR desktop, LPARAM lp )
}
ret = EnumDesktopWindows( hdesktop, bcast_childwindow, lp );
- CloseDesktop(hdesktop);
+ NtUserCloseDesktop( hdesktop );
TRACE("-->%d\n", ret);
return parm->success;
}
diff --git a/dlls/user32/user32.spec b/dlls/user32/user32.spec
index 19bf5ce1b8e..7686e4ed14d 100644
--- a/dlls/user32/user32.spec
+++ b/dlls/user32/user32.spec
@@ -74,7 +74,7 @@
@ stdcall ClientToScreen(long ptr)
@ stdcall ClipCursor(ptr)
@ stdcall CloseClipboard()
-@ stdcall CloseDesktop(long)
+@ stdcall CloseDesktop(long) NtUserCloseDesktop
@ stdcall CloseTouchInputHandle(long)
@ stdcall CloseWindow(long)
@ stdcall CloseWindowStation(long) NtUserCloseWindowStation
diff --git a/dlls/user32/winstation.c b/dlls/user32/winstation.c
index 37ae9e9ceb2..1f847ca8b8f 100644
--- a/dlls/user32/winstation.c
+++ b/dlls/user32/winstation.c
@@ -357,22 +357,6 @@ HDESK WINAPI OpenDesktopW( LPCWSTR name, DWORD flags, BOOL inherit, ACCESS_MASK
}
-/***********************************************************************
- * CloseDesktop (USER32.@)
- */
-BOOL WINAPI CloseDesktop( HDESK handle )
-{
- BOOL ret;
- SERVER_START_REQ( close_desktop )
- {
- req->handle = wine_server_obj_handle( handle );
- ret = !wine_server_call_err( req );
- }
- SERVER_END_REQ;
- return ret;
-}
-
-
/******************************************************************************
* GetThreadDesktop (USER32.@)
*/
diff --git a/dlls/win32u/syscall.c b/dlls/win32u/syscall.c
index 132c55117a7..2f4269104dd 100644
--- a/dlls/win32u/syscall.c
+++ b/dlls/win32u/syscall.c
@@ -94,6 +94,7 @@ static void * const syscalls[] =
NtGdiSetVirtualResolution,
NtGdiSwapBuffers,
NtGdiTransformPoints,
+ NtUserCloseDesktop,
NtUserCloseWindowStation,
NtUserGetProcessWindowStation,
NtUserSetProcessWindowStation,
diff --git a/dlls/win32u/win32u.spec b/dlls/win32u/win32u.spec
index 24625316f9e..69a48236d84 100644
--- a/dlls/win32u/win32u.spec
+++ b/dlls/win32u/win32u.spec
@@ -794,7 +794,7 @@
@ stub NtUserClearForeground
@ stub NtUserClipCursor
@ stub NtUserCloseClipboard
-@ stub NtUserCloseDesktop
+@ stdcall -syscall NtUserCloseDesktop(long)
@ stdcall -syscall NtUserCloseWindowStation(long)
@ stub NtUserCompositionInputSinkLuidFromPoint
@ stub NtUserCompositionInputSinkViewInstanceIdFromPoint
diff --git a/dlls/win32u/winstation.c b/dlls/win32u/winstation.c
index 153a83e313d..3b0df303821 100644
--- a/dlls/win32u/winstation.c
+++ b/dlls/win32u/winstation.c
@@ -75,3 +75,18 @@ BOOL WINAPI NtUserSetProcessWindowStation( HWINSTA handle )
SERVER_END_REQ;
return ret;
}
+
+/***********************************************************************
+ * NtUserCloseDesktop (win32u.@)
+ */
+BOOL WINAPI NtUserCloseDesktop( HDESK handle )
+{
+ BOOL ret;
+ SERVER_START_REQ( close_desktop )
+ {
+ req->handle = wine_server_obj_handle( handle );
+ ret = !wine_server_call_err( req );
+ }
+ SERVER_END_REQ;
+ return ret;
+}
diff --git a/dlls/wow64win/syscall.h b/dlls/wow64win/syscall.h
index ccf0574c639..ebb88f7013d 100644
--- a/dlls/wow64win/syscall.h
+++ b/dlls/wow64win/syscall.h
@@ -81,6 +81,7 @@
SYSCALL_ENTRY( NtGdiSetVirtualResolution ) \
SYSCALL_ENTRY( NtGdiSwapBuffers ) \
SYSCALL_ENTRY( NtGdiTransformPoints ) \
+ SYSCALL_ENTRY( NtUserCloseDesktop ) \
SYSCALL_ENTRY( NtUserCloseWindowStation ) \
SYSCALL_ENTRY( NtUserGetProcessWindowStation ) \
SYSCALL_ENTRY( NtUserSetProcessWindowStation )
diff --git a/dlls/wow64win/user.c b/dlls/wow64win/user.c
index cf028383c21..60fd8921b81 100644
--- a/dlls/wow64win/user.c
+++ b/dlls/wow64win/user.c
@@ -45,3 +45,10 @@ NTSTATUS WINAPI wow64_NtUserSetProcessWindowStation( UINT *args )
return NtUserSetProcessWindowStation( handle );
}
+
+NTSTATUS WINAPI wow64_NtUserCloseDesktop( UINT *args )
+{
+ HDESK handle = get_handle( &args );
+
+ return NtUserCloseDesktop( handle );
+}
diff --git a/include/ntuser.h b/include/ntuser.h
index eac4f0da092..f791af40232 100644
--- a/include/ntuser.h
+++ b/include/ntuser.h
@@ -22,6 +22,7 @@
#include <winuser.h>
#include <winternl.h>
+BOOL WINAPI NtUserCloseDesktop( HDESK handle );
BOOL WINAPI NtUserCloseWindowStation( HWINSTA handle );
HWINSTA WINAPI NtUserGetProcessWindowStation(void);
BOOL WINAPI NtUserSetProcessWindowStation( HWINSTA handle );
More information about the wine-cvs
mailing list