win32u: Move SetTaskmanWindow implementation from user32.

This commit is contained in:
Jacek Caban 2022-12-09 12:54:07 +01:00 committed by Alexandre Julliard
parent 592abf3379
commit 7d53e27cff
5 changed files with 27 additions and 9 deletions

View file

@ -97,16 +97,9 @@ HWND WINAPI GetProgmanWindow(void)
* hwnd = MSTaskSwWClass
* |-> SysTabControl32
*/
HWND WINAPI SetTaskmanWindow ( HWND hwnd )
HWND WINAPI SetTaskmanWindow( HWND hwnd )
{
SERVER_START_REQ(set_global_windows)
{
req->flags = SET_GLOBAL_TASKMAN_WINDOW;
req->taskman_window = wine_server_user_handle( hwnd );
if (wine_server_call_err( req )) hwnd = 0;
}
SERVER_END_REQ;
return hwnd;
return NtUserSetTaskmanWindow( hwnd );
}
/***********************************************************************

View file

@ -2233,3 +2233,18 @@ HWND set_progman_window( HWND hwnd )
SERVER_END_REQ;
return hwnd;
}
HWND set_taskman_window( HWND hwnd )
{
/* hwnd = MSTaskSwWClass
* |-> SysTabControl32
*/
SERVER_START_REQ(set_global_windows)
{
req->flags = SET_GLOBAL_TASKMAN_WINDOW;
req->taskman_window = wine_server_user_handle( hwnd );
if (wine_server_call_err( req )) hwnd = 0;
}
SERVER_END_REQ;
return hwnd;
}

View file

@ -279,6 +279,7 @@ extern BOOL set_caret_blink_time( unsigned int time ) DECLSPEC_HIDDEN;
extern BOOL set_caret_pos( int x, int y ) DECLSPEC_HIDDEN;
extern BOOL set_foreground_window( HWND hwnd, BOOL mouse ) DECLSPEC_HIDDEN;
extern HWND set_progman_window( HWND hwnd ) DECLSPEC_HIDDEN;
extern HWND set_taskman_window( HWND hwnd ) DECLSPEC_HIDDEN;
extern void toggle_caret( HWND hwnd ) DECLSPEC_HIDDEN;
extern void update_mouse_tracking_info( HWND hwnd ) DECLSPEC_HIDDEN;

View file

@ -5432,6 +5432,9 @@ ULONG_PTR WINAPI NtUserCallHwnd( HWND hwnd, DWORD code )
case NtUserCallHwnd_SetProgmanWindow:
return HandleToUlong( set_progman_window( hwnd ));
case NtUserCallHwnd_SetTaskmanWindow:
return HandleToUlong( set_taskman_window( hwnd ));
/* temporary exports */
case NtUserGetFullWindowHandle:
return HandleToUlong( get_full_window_handle( hwnd ));

View file

@ -1182,6 +1182,7 @@ enum
NtUserCallHwnd_IsWindowVisible,
NtUserCallHwnd_SetForegroundWindow,
NtUserCallHwnd_SetProgmanWindow,
NtUserCallHwnd_SetTaskmanWindow,
/* temporary exports */
NtUserGetFullWindowHandle,
NtUserIsCurrehtProcessWindow,
@ -1284,6 +1285,11 @@ static inline HWND NtUserSetProgmanWindow( HWND hwnd )
return UlongToHandle( NtUserCallHwnd( hwnd, NtUserCallHwnd_SetProgmanWindow ));
}
static inline HWND NtUserSetTaskmanWindow( HWND hwnd )
{
return UlongToHandle( NtUserCallHwnd( hwnd, NtUserCallHwnd_SetTaskmanWindow ));
}
/* NtUserCallHwndParam codes, not compatible with Windows */
enum
{