win32u: Stub NtUserBuildHimcList syscall.

This commit is contained in:
Rémi Bernon 2023-03-11 07:54:45 +01:00 committed by Alexandre Julliard
parent a865ce8298
commit 7ecb144656
6 changed files with 34 additions and 1 deletions

View file

@ -25,6 +25,8 @@
#endif
#include <pthread.h>
#include "ntstatus.h"
#define WIN32_NO_STATUS
#include "win32u_private.h"
#include "ntuser_private.h"
#include "immdev.h"
@ -393,6 +395,15 @@ void cleanup_imm_thread(void)
NtUserDestroyInputContext( UlongToHandle( thread_info->client_info.default_imc ));
}
/*****************************************************************************
* NtUserBuildHimcList (win32u.@)
*/
NTSTATUS WINAPI NtUserBuildHimcList( UINT thread_id, UINT count, HIMC *buffer, UINT *size )
{
FIXME( "thread_id %#x, count %u, buffer %p, size %p stub!\n", thread_id, count, buffer, size );
return STATUS_NOT_IMPLEMENTED;
}
BOOL WINAPI DECLSPEC_HIDDEN ImmProcessKey( HWND hwnd, HKL hkl, UINT vkey, LPARAM key_data, DWORD unknown )
{
struct imm_process_key_params params =

View file

@ -106,6 +106,7 @@ static void * const syscalls[] =
NtUserAssociateInputContext,
NtUserAttachThreadInput,
NtUserBeginPaint,
NtUserBuildHimcList,
NtUserBuildHwndList,
NtUserCallHwnd,
NtUserCallHwndParam,

View file

@ -762,7 +762,7 @@
@ stub NtUserBitBltSysBmp
@ stub NtUserBlockInput
@ stub NtUserBroadcastThemeChangeEvent
@ stub NtUserBuildHimcList
@ stdcall -syscall NtUserBuildHimcList(long long ptr ptr)
@ stdcall -syscall NtUserBuildHwndList(long long long long long long ptr ptr)
@ stub NtUserBuildNameList
@ stub NtUserBuildPropList

View file

@ -92,6 +92,7 @@
SYSCALL_ENTRY( NtUserAssociateInputContext ) \
SYSCALL_ENTRY( NtUserAttachThreadInput ) \
SYSCALL_ENTRY( NtUserBeginPaint ) \
SYSCALL_ENTRY( NtUserBuildHimcList ) \
SYSCALL_ENTRY( NtUserBuildHwndList ) \
SYSCALL_ENTRY( NtUserCallHwnd ) \
SYSCALL_ENTRY( NtUserCallHwndParam ) \

View file

@ -1182,6 +1182,25 @@ NTSTATUS WINAPI wow64_NtUserBeginPaint( UINT *args )
return HandleToUlong( ret );
}
NTSTATUS WINAPI wow64_NtUserBuildHimcList( UINT *args )
{
ULONG thread_id = get_ulong( &args );
ULONG count = get_ulong( &args );
UINT32 *buffer32 = get_ptr( &args );
UINT *size = get_ptr( &args );
HIMC *buffer;
ULONG i;
NTSTATUS status;
if (!(buffer = Wow64AllocateTemp( count * sizeof(*buffer) ))) return STATUS_NO_MEMORY;
if ((status = NtUserBuildHimcList( thread_id, count, buffer, size ))) return status;
for (i = 0; i < *size; i++) buffer32[i] = HandleToUlong( buffer[i] );
return status;
}
NTSTATUS WINAPI wow64_NtUserBuildHwndList( UINT *args )
{
HDESK desktop = get_handle( &args );

View file

@ -648,6 +648,7 @@ BOOL WINAPI NtUserAddClipboardFormatListener( HWND hwnd );
UINT WINAPI NtUserAssociateInputContext( HWND hwnd, HIMC ctx, ULONG flags );
BOOL WINAPI NtUserAttachThreadInput( DWORD from, DWORD to, BOOL attach );
HDC WINAPI NtUserBeginPaint( HWND hwnd, PAINTSTRUCT *ps );
NTSTATUS WINAPI NtUserBuildHimcList( UINT thread_id, UINT count, HIMC *buffer, UINT *size );
NTSTATUS WINAPI NtUserBuildHwndList( HDESK desktop, ULONG unk2, ULONG unk3, ULONG unk4,
ULONG thread_id, ULONG count, HWND *buffer, ULONG *size );
ULONG_PTR WINAPI NtUserCallHwnd( HWND hwnd, DWORD code );