win32u: Move NtUserGetUpdatedClipboardFormats implementation from user32.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Jacek Caban 2021-11-12 12:54:10 +01:00 committed by Alexandre Julliard
parent e2ede91cf1
commit 6a768e2882
8 changed files with 38 additions and 31 deletions

View File

@ -901,35 +901,6 @@ UINT WINAPI EnumClipboardFormats( UINT format )
}
/**************************************************************************
* GetUpdatedClipboardFormats (USER32.@)
*/
BOOL WINAPI GetUpdatedClipboardFormats( UINT *formats, UINT size, UINT *out_size )
{
BOOL ret;
if (!out_size)
{
SetLastError( ERROR_NOACCESS );
return FALSE;
}
USER_Driver->pUpdateClipboard();
SERVER_START_REQ( get_clipboard_formats )
{
if (formats) wine_server_set_reply( req, formats, size * sizeof(*formats) );
ret = !wine_server_call_err( req );
*out_size = reply->count;
}
SERVER_END_REQ;
TRACE( "%p %u returning %u formats, ret %u\n", formats, size, *out_size, ret );
if (!ret && !formats && *out_size) SetLastError( ERROR_NOACCESS );
return ret;
}
/**************************************************************************
* GetClipboardData (USER32.@)
*/

View File

@ -394,7 +394,7 @@
@ stdcall GetTouchInputInfo(long long ptr long)
@ stdcall GetUpdateRect(long ptr long)
@ stdcall GetUpdateRgn(long long long)
@ stdcall GetUpdatedClipboardFormats(ptr long ptr)
@ stdcall GetUpdatedClipboardFormats(ptr long ptr) NtUserGetUpdatedClipboardFormats
@ stdcall GetUserObjectInformationA (long long ptr long ptr)
@ stdcall GetUserObjectInformationW (long long ptr long ptr) NtUserGetObjectInformation
@ stdcall GetUserObjectSecurity (long ptr ptr long ptr)

View File

@ -116,6 +116,34 @@ BOOL WINAPI NtUserIsClipboardFormatAvailable( UINT format )
return ret;
}
/**************************************************************************
* NtUserGetUpdatedClipboardFormats (win32u.@)
*/
BOOL WINAPI NtUserGetUpdatedClipboardFormats( UINT *formats, UINT size, UINT *out_size )
{
BOOL ret;
if (!out_size)
{
SetLastError( ERROR_NOACCESS );
return FALSE;
}
user_driver->pUpdateClipboard();
SERVER_START_REQ( get_clipboard_formats )
{
if (formats) wine_server_set_reply( req, formats, size * sizeof(*formats) );
ret = !wine_server_call_err( req );
*out_size = reply->count;
}
SERVER_END_REQ;
TRACE( "%p %u returning %u formats, ret %u\n", formats, size, *out_size, ret );
if (!ret && !formats && *out_size) SetLastError( ERROR_NOACCESS );
return ret;
}
/**************************************************************************
* NtUserGetClipboardFormatName (win32u.@)
*/

View File

@ -1168,6 +1168,7 @@ static struct unix_funcs unix_funcs =
NtGdiUpdateColors,
NtGdiWidenPath,
NtUserCountClipboardFormats,
NtUserGetUpdatedClipboardFormats,
NtUserIsClipboardFormatAvailable,
GDIRealizePalette,

View File

@ -1004,7 +1004,7 @@
@ stub NtUserGetUniformSpaceMapping
@ stub NtUserGetUpdateRect
@ stub NtUserGetUpdateRgn
@ stub NtUserGetUpdatedClipboardFormats
@ stdcall NtUserGetUpdatedClipboardFormats(ptr long ptr)
@ stub NtUserGetWOWClass
@ stub NtUserGetWindowBand
@ stub NtUserGetWindowCompositionAttribute

View File

@ -195,6 +195,7 @@ struct unix_funcs
BOOL (WINAPI *pNtGdiUpdateColors)( HDC hdc );
BOOL (WINAPI *pNtGdiWidenPath)( HDC hdc );
INT (WINAPI *pNtUserCountClipboardFormats)(void);
BOOL (WINAPI *pNtUserGetUpdatedClipboardFormats)( UINT *formats, UINT size, UINT *out_size );
BOOL (WINAPI *pNtUserIsClipboardFormatAvailable)( UINT format );
/* Wine-specific functions */

View File

@ -601,6 +601,11 @@ INT WINAPI NtUserCountClipboardFormats(void)
return unix_funcs->pNtUserCountClipboardFormats();
}
BOOL WINAPI NtUserGetUpdatedClipboardFormats( UINT *formats, UINT size, UINT *out_size )
{
return unix_funcs->pNtUserGetUpdatedClipboardFormats( formats, size, out_size );
}
BOOL WINAPI NtUserIsClipboardFormatAvailable( UINT format )
{
return unix_funcs->pNtUserIsClipboardFormatAvailable( format );

View File

@ -40,6 +40,7 @@ BOOL WINAPI NtUserGetObjectInformation( HANDLE handle, INT index, void *info,
HWINSTA WINAPI NtUserGetProcessWindowStation(void);
HANDLE WINAPI NtUserGetProp( HWND hwnd, const WCHAR *str );
HDESK WINAPI NtUserGetThreadDesktop( DWORD thread );
BOOL WINAPI NtUserGetUpdatedClipboardFormats( UINT *formats, UINT size, UINT *out_size );
BOOL WINAPI NtUserIsClipboardFormatAvailable( UINT format );
HWINSTA WINAPI NtUserOpenWindowStation( OBJECT_ATTRIBUTES *attr, ACCESS_MASK access );
BOOL WINAPI NtUserSetObjectInformation( HANDLE handle, INT index, void *info, DWORD len );