[IMM32] Implement ImmSendMessageToActiveDefImeWndW
authorKatayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
Thu, 10 Feb 2022 06:05:59 +0000 (15:05 +0900)
committerKatayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
Thu, 10 Feb 2022 06:05:59 +0000 (15:05 +0900)
CORE-11700

dll/win32/imm32/imm32.spec
dll/win32/imm32/keymsg.c

index 956b8a7..59fb8f3 100644 (file)
@@ -91,7 +91,7 @@
 @ stdcall ImmRequestMessageW(ptr ptr ptr)
 @ stdcall ImmSendIMEMessageExA(ptr ptr)
 @ stdcall ImmSendIMEMessageExW(ptr ptr)
-@ stub ImmSendMessageToActiveDefImeWndW
+@ stdcall ImmSendMessageToActiveDefImeWndW(long ptr ptr)
 @ stdcall ImmSetActiveContext(ptr ptr long)
 @ stdcall ImmSetActiveContextConsoleIME(ptr long)
 @ stdcall ImmSetCandidateWindow(ptr ptr)
index 4273220..a8fa1d8 100644 (file)
@@ -1048,3 +1048,21 @@ LRESULT WINAPI ImmRequestMessageW(HIMC hIMC, WPARAM wParam, LPARAM lParam)
     TRACE("(%p, %p, %p)\n", hIMC, wParam, lParam);
     return Imm32RequestMessageAW(hIMC, wParam, lParam, FALSE);
 }
+
+/***********************************************************************
+ *              ImmSendMessageToActiveDefImeWndW (IMM32.@)
+ */
+LRESULT WINAPI
+ImmSendMessageToActiveDefImeWndW(UINT uMsg, WPARAM wParam, LPARAM lParam)
+{
+    HWND hwndIME;
+
+    if (uMsg != WM_COPYDATA)
+        return 0;
+
+    hwndIME = (HWND)NtUserQueryWindow((HWND)wParam, QUERY_WINDOW_DEFAULT_IME);
+    if (!hwndIME)
+        return 0;
+
+    return SendMessageW(hwndIME, uMsg, wParam, lParam);
+}