diff --git a/dlls/user32/clipboard.c b/dlls/user32/clipboard.c index 911014ee628..9a7753520f5 100644 --- a/dlls/user32/clipboard.c +++ b/dlls/user32/clipboard.c @@ -764,21 +764,7 @@ done: */ UINT WINAPI EnumClipboardFormats( UINT format ) { - UINT ret = 0; - - SERVER_START_REQ( enum_clipboard_formats ) - { - req->previous = format; - if (!wine_server_call_err( req )) - { - ret = reply->format; - SetLastError( ERROR_SUCCESS ); - } - } - SERVER_END_REQ; - - TRACE( "%s -> %s\n", debugstr_format( format ), debugstr_format( ret )); - return ret; + return NtUserEnumClipboardFormats( format ); } diff --git a/dlls/win32u/clipboard.c b/dlls/win32u/clipboard.c index 29bf36ee80d..bf1c241d7c8 100644 --- a/dlls/win32u/clipboard.c +++ b/dlls/win32u/clipboard.c @@ -334,6 +334,26 @@ DWORD WINAPI NtUserGetClipboardSequenceNumber(void) return seqno; } +/* see EnumClipboardFormats */ +UINT enum_clipboard_formats( UINT format ) +{ + UINT ret = 0; + + SERVER_START_REQ( enum_clipboard_formats ) + { + req->previous = format; + if (!wine_server_call_err( req )) + { + ret = reply->format; + SetLastError( ERROR_SUCCESS ); + } + } + SERVER_END_REQ; + + TRACE( "%s -> %s\n", debugstr_format( format ), debugstr_format( ret )); + return ret; +} + /************************************************************************** * NtUserAddClipboardFormatListener (win32u.@) */ diff --git a/dlls/win32u/sysparams.c b/dlls/win32u/sysparams.c index 1e8b0fbf489..3b380c017e5 100644 --- a/dlls/win32u/sysparams.c +++ b/dlls/win32u/sysparams.c @@ -4707,6 +4707,9 @@ ULONG_PTR WINAPI NtUserCallOneParam( ULONG_PTR arg, ULONG code ) enable_thunk_lock = arg; return 0; + case NtUserCallOneParam_EnumClipboardFormats: + return enum_clipboard_formats( arg ); + case NtUserCallOneParam_GetClipCursor: return get_clip_cursor( (RECT *)arg ); diff --git a/dlls/win32u/win32u_private.h b/dlls/win32u/win32u_private.h index 9d4c7b5021c..4c1b0a7b45b 100644 --- a/dlls/win32u/win32u_private.h +++ b/dlls/win32u/win32u_private.h @@ -313,6 +313,7 @@ struct unix_funcs }; /* clipboard.c */ +extern UINT enum_clipboard_formats( UINT format ) DECLSPEC_HIDDEN; extern void release_clipboard_owner( HWND hwnd ) DECLSPEC_HIDDEN; /* cursoricon.c */ diff --git a/include/ntuser.h b/include/ntuser.h index 836854a12b4..d06b76ab605 100644 --- a/include/ntuser.h +++ b/include/ntuser.h @@ -637,6 +637,7 @@ enum NtUserCallOneParam_DispatchMessageA, NtUserCallOneParam_EnableDC, NtUserCallOneParam_EnableThunkLock, + NtUserCallOneParam_EnumClipboardFormats, NtUserCallOneParam_GetClipCursor, NtUserCallOneParam_GetCursorPos, NtUserCallOneParam_GetIconParam, @@ -688,6 +689,11 @@ static inline void NtUserEnableThunkLock( BOOL enable ) NtUserCallOneParam( enable, NtUserCallOneParam_EnableThunkLock ); } +static inline UINT NtUserEnumClipboardFormats( UINT format ) +{ + return NtUserCallOneParam( format, NtUserCallOneParam_EnumClipboardFormats ); +} + static inline BOOL NtUserGetClipCursor( RECT *rect ) { return NtUserCallOneParam( (UINT_PTR)rect, NtUserCallOneParam_GetClipCursor );