[IMM32][NTUSER] Implement ImmGetHotKey (#3025)

CORE-11700
- Implement imm32!ImmGetHotKey function.
- Modify NtUserGetImeHotKey function.
- Add LPHKL typedef into <imm.h> header.
This commit is contained in:
Katayama Hirofumi MZ 2020-08-09 22:41:11 +09:00 committed by GitHub
parent 1d8c567996
commit ec9d277d59
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 37 additions and 17 deletions

View file

@ -14,6 +14,6 @@ list(APPEND SOURCE
add_library(imm32 MODULE ${SOURCE} version.rc)
set_module_type(imm32 win32dll)
target_link_libraries(imm32 wine)
target_link_libraries(imm32 wine win32ksys)
add_importlibs(imm32 advapi32 user32 msvcrt kernel32 ntdll)
add_cd_file(TARGET imm32 DESTINATION reactos/system32 FOR all)

View file

@ -22,6 +22,9 @@
#include <stdarg.h>
#include <stdio.h>
#ifdef __REACTOS__
#define WIN32_NO_STATUS
#endif
#include "windef.h"
#include "winbase.h"
#include "wingdi.h"
@ -33,6 +36,11 @@
#include "winnls.h"
#include "winreg.h"
#include "wine/list.h"
#ifdef __REACTOS__
#include <ndk/umtypes.h>
#include <ndk/pstypes.h>
#include "../../../win32ss/include/ntuser.h"
#endif
WINE_DEFAULT_DEBUG_CHANNEL(imm);
@ -3160,11 +3168,25 @@ BOOL WINAPI ImmEnumInputContext(DWORD idThread, IMCENUMPROC lpfn, LPARAM lParam)
* ImmGetHotKey(IMM32.@)
*/
#ifdef __REACTOS__
BOOL WINAPI
ImmGetHotKey(IN DWORD dwHotKey,
OUT LPUINT lpuModifiers,
OUT LPUINT lpuVKey,
OUT LPHKL lphKL)
{
TRACE("%lx, %p, %p, %p\n", dwHotKey, lpuModifiers, lpuVKey, lphKL);
if (lpuModifiers && lpuVKey)
return NtUserGetImeHotKey(dwHotKey, lpuModifiers, lpuVKey, lphKL);
return FALSE;
}
#else
BOOL WINAPI ImmGetHotKey(DWORD hotkey, UINT *modifiers, UINT *key, HKL hkl)
{
FIXME("%x, %p, %p, %p: stub\n", hotkey, modifiers, key, hkl);
return FALSE;
}
#endif
/***********************************************************************
* ImmDisableLegacyIME(IMM32.@)

View file

@ -27,6 +27,9 @@ extern "C" {
typedef HANDLE HIMC;
typedef HANDLE HIMCC;
#ifdef __REACTOS__
typedef HKL *LPHKL;
#endif
typedef struct tagREGISTERWORDA {
LPSTR lpReading;

View file

@ -2278,13 +2278,11 @@ NtUserGetIconSize(
LONG *plcx,
LONG *plcy);
DWORD
NTAPI
NtUserGetImeHotKey(
DWORD Unknown0,
DWORD Unknown1,
DWORD Unknown2,
DWORD Unknown3);
BOOL NTAPI
NtUserGetImeHotKey(IN DWORD dwHotKey,
OUT LPUINT lpuModifiers,
OUT LPUINT lpuVKey,
OUT LPHKL lphKL);
DWORD
NTAPI

View file

@ -36,18 +36,15 @@ IntImmProcessKey(PUSER_MESSAGE_QUEUE MessageQueue, PWND pWnd, UINT Msg, WPARAM w
return 0;
}
DWORD
APIENTRY
NtUserGetImeHotKey(
DWORD Unknown0,
DWORD Unknown1,
DWORD Unknown2,
DWORD Unknown3)
BOOL WINAPI
NtUserGetImeHotKey(IN DWORD dwHotKey,
OUT LPUINT lpuModifiers,
OUT LPUINT lpuVKey,
OUT LPHKL lphKL)
{
STUB
return 0;
return FALSE;
}
DWORD