mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 20:03:12 +00:00
[IMM32] Add IMP stub functions (#3989)
- Add IMP (Input Method Profiler) stub functions (ImmIMPGetIMEA/W, ImmIMPQueryIMEA/W, ImmIMPSetIMEA/W). - Add ImmSendIMEMessageExA/W stub functions. - Rename nt3.c as win3.c. The prototypes can be obtained from: https://doxygen.reactos.org/dc/d20/winnls32_8h.html . The Japanese article of IMP is available: http://www7a.biglobe.ne.jp/~tsuneoka/win32tech/7.html CORE-11700
This commit is contained in:
parent
b0d66e68c1
commit
4f006ec74b
6 changed files with 90 additions and 17 deletions
|
@ -13,9 +13,9 @@ list(APPEND SOURCE
|
||||||
ime.c
|
ime.c
|
||||||
imm.c
|
imm.c
|
||||||
keymsg.c
|
keymsg.c
|
||||||
nt3.c
|
|
||||||
regword.c
|
regword.c
|
||||||
utils.c
|
utils.c
|
||||||
|
win3.c
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/imm32_stubs.c
|
${CMAKE_CURRENT_BINARY_DIR}/imm32_stubs.c
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/imm32.def)
|
${CMAKE_CURRENT_BINARY_DIR}/imm32.def)
|
||||||
|
|
||||||
|
|
|
@ -61,12 +61,12 @@
|
||||||
@ stdcall ImmGetRegisterWordStyleW(long long ptr)
|
@ stdcall ImmGetRegisterWordStyleW(long long ptr)
|
||||||
@ stdcall ImmGetStatusWindowPos(ptr ptr)
|
@ stdcall ImmGetStatusWindowPos(ptr ptr)
|
||||||
@ stdcall ImmGetVirtualKey(ptr)
|
@ stdcall ImmGetVirtualKey(ptr)
|
||||||
@ stdcall -stub ImmIMPGetIMEA(ptr ptr)
|
@ stdcall ImmIMPGetIMEA(ptr ptr)
|
||||||
@ stdcall -stub ImmIMPGetIMEW(ptr ptr)
|
@ stdcall ImmIMPGetIMEW(ptr ptr)
|
||||||
@ stdcall -stub ImmIMPQueryIMEA(ptr)
|
@ stdcall ImmIMPQueryIMEA(ptr)
|
||||||
@ stdcall -stub ImmIMPQueryIMEW(ptr)
|
@ stdcall ImmIMPQueryIMEW(ptr)
|
||||||
@ stdcall -stub ImmIMPSetIMEA(ptr ptr)
|
@ stdcall ImmIMPSetIMEA(ptr ptr)
|
||||||
@ stdcall -stub ImmIMPSetIMEW(ptr ptr)
|
@ stdcall ImmIMPSetIMEW(ptr ptr)
|
||||||
@ stdcall ImmInstallIMEA(str str)
|
@ stdcall ImmInstallIMEA(str str)
|
||||||
@ stdcall ImmInstallIMEW(wstr wstr)
|
@ stdcall ImmInstallIMEW(wstr wstr)
|
||||||
@ stdcall ImmIsIME(long)
|
@ stdcall ImmIsIME(long)
|
||||||
|
@ -89,8 +89,8 @@
|
||||||
@ stdcall ImmReleaseContext(ptr ptr)
|
@ stdcall ImmReleaseContext(ptr ptr)
|
||||||
@ stdcall ImmRequestMessageA(ptr long long)
|
@ stdcall ImmRequestMessageA(ptr long long)
|
||||||
@ stdcall ImmRequestMessageW(ptr long long)
|
@ stdcall ImmRequestMessageW(ptr long long)
|
||||||
@ stdcall -stub ImmSendIMEMessageExA(ptr long)
|
@ stdcall ImmSendIMEMessageExA(ptr ptr)
|
||||||
@ stdcall -stub ImmSendIMEMessageExW(ptr long)
|
@ stdcall ImmSendIMEMessageExW(ptr ptr)
|
||||||
@ stub ImmSendMessageToActiveDefImeWndW
|
@ stub ImmSendMessageToActiveDefImeWndW
|
||||||
@ stdcall ImmSetActiveContext(ptr ptr long)
|
@ stdcall ImmSetActiveContext(ptr ptr long)
|
||||||
@ stdcall ImmSetActiveContextConsoleIME(ptr long)
|
@ stdcall ImmSetActiveContextConsoleIME(ptr long)
|
||||||
|
|
|
@ -470,7 +470,7 @@ BOOL WINAPI ImmGenerateMessage(HIMC hIMC)
|
||||||
|
|
||||||
RtlCopyMemory(pTrans, pMsgs, cbTrans);
|
RtlCopyMemory(pTrans, pMsgs, cbTrans);
|
||||||
|
|
||||||
#ifdef IMM_NT3_SUPPORT
|
#ifdef IMM_WIN3_SUPPORT
|
||||||
if (GetWin32ClientInfo()->dwExpWinVer < _WIN32_WINNT_NT4) /* old version (3.x)? */
|
if (GetWin32ClientInfo()->dwExpWinVer < _WIN32_WINNT_NT4) /* old version (3.x)? */
|
||||||
{
|
{
|
||||||
LANGID LangID = LANGIDFROMLCID(GetSystemDefaultLCID());
|
LANGID LangID = LANGIDFROMLCID(GetSystemDefaultLCID());
|
||||||
|
@ -520,7 +520,7 @@ Imm32PostMessages(HWND hwnd, HIMC hIMC, DWORD dwCount, LPTRANSMSG lpTransMsg)
|
||||||
bAnsi = !(pClientImc->dwFlags & CLIENTIMC_WIDE);
|
bAnsi = !(pClientImc->dwFlags & CLIENTIMC_WIDE);
|
||||||
ImmUnlockClientImc(pClientImc);
|
ImmUnlockClientImc(pClientImc);
|
||||||
|
|
||||||
#ifdef IMM_NT3_SUPPORT
|
#ifdef IMM_WIN3_SUPPORT
|
||||||
if (GetWin32ClientInfo()->dwExpWinVer < _WIN32_WINNT_NT4) /* old version (3.x)? */
|
if (GetWin32ClientInfo()->dwExpWinVer < _WIN32_WINNT_NT4) /* old version (3.x)? */
|
||||||
{
|
{
|
||||||
LANGID LangID = LANGIDFROMLCID(GetSystemDefaultLCID());
|
LANGID LangID = LANGIDFROMLCID(GetSystemDefaultLCID());
|
||||||
|
@ -555,7 +555,7 @@ Imm32PostMessages(HWND hwnd, HIMC hIMC, DWORD dwCount, LPTRANSMSG lpTransMsg)
|
||||||
PostMessageW(hwnd, pItem->message, pItem->wParam, pItem->lParam);
|
PostMessageW(hwnd, pItem->message, pItem->wParam, pItem->lParam);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef IMM_NT3_SUPPORT
|
#ifdef IMM_WIN3_SUPPORT
|
||||||
if (pNewTransMsg != lpTransMsg)
|
if (pNewTransMsg != lpTransMsg)
|
||||||
Imm32HeapFree(pNewTransMsg);
|
Imm32HeapFree(pNewTransMsg);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
#include <winuser.h>
|
#include <winuser.h>
|
||||||
#include <winnls.h>
|
#include <winnls.h>
|
||||||
#include <winreg.h>
|
#include <winreg.h>
|
||||||
|
#include <winnls32.h>
|
||||||
|
|
||||||
#include <imm.h>
|
#include <imm.h>
|
||||||
#include <ddk/imm.h>
|
#include <ddk/imm.h>
|
||||||
|
|
|
@ -425,3 +425,57 @@ DWORD WINAPI ImmGetIMCLockCount(HIMC hIMC)
|
||||||
ImmUnlockClientImc(pClientImc);
|
ImmUnlockClientImc(pClientImc);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* ImmIMPGetIMEA(IMM32.@)
|
||||||
|
*/
|
||||||
|
BOOL WINAPI ImmIMPGetIMEA(HWND hWnd, LPIMEPROA pImePro)
|
||||||
|
{
|
||||||
|
FIXME("(%p, %p)\n", hWnd, pImePro);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* ImmIMPGetIMEW(IMM32.@)
|
||||||
|
*/
|
||||||
|
BOOL WINAPI ImmIMPGetIMEW(HWND hWnd, LPIMEPROW pImePro)
|
||||||
|
{
|
||||||
|
FIXME("(%p, %p)\n", hWnd, pImePro);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* ImmIMPQueryIMEA(IMM32.@)
|
||||||
|
*/
|
||||||
|
BOOL WINAPI ImmIMPQueryIMEA(LPIMEPROA pImePro)
|
||||||
|
{
|
||||||
|
FIXME("(%p)\n", pImePro);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* ImmIMPQueryIMEW(IMM32.@)
|
||||||
|
*/
|
||||||
|
BOOL WINAPI ImmIMPQueryIMEW(LPIMEPROW pImePro)
|
||||||
|
{
|
||||||
|
FIXME("(%p)\n", pImePro);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* ImmIMPSetIMEA(IMM32.@)
|
||||||
|
*/
|
||||||
|
BOOL WINAPI ImmIMPSetIMEA(HWND hWnd, LPIMEPROA pImePro)
|
||||||
|
{
|
||||||
|
FIXME("(%p, %p)\n", hWnd, pImePro);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* ImmIMPSetIMEW(IMM32.@)
|
||||||
|
*/
|
||||||
|
BOOL WINAPI ImmIMPSetIMEW(HWND hWnd, LPIMEPROW pImePro)
|
||||||
|
{
|
||||||
|
FIXME("(%p, %p)\n", hWnd, pImePro);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* PROJECT: ReactOS IMM32
|
* PROJECT: ReactOS IMM32
|
||||||
* LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
|
* LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
|
||||||
* PURPOSE: Implementing IMM32 NT3 compatibility
|
* PURPOSE: Implementing IMM32 Win3.x compatibility
|
||||||
* COPYRIGHT: Copyright 2020-2021 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
|
* COPYRIGHT: Copyright 2020-2021 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(imm);
|
WINE_DEFAULT_DEBUG_CHANNEL(imm);
|
||||||
|
|
||||||
#ifdef IMM_NT3_SUPPORT /* 3.x support */
|
#ifdef IMM_WIN3_SUPPORT /* 3.x support */
|
||||||
|
|
||||||
DWORD APIENTRY
|
DWORD APIENTRY
|
||||||
ImmNt3JTransCompA(LPINPUTCONTEXTDX pIC, LPCOMPOSITIONSTRING pCS,
|
ImmNt3JTransCompA(LPINPUTCONTEXTDX pIC, LPCOMPOSITIONSTRING pCS,
|
||||||
|
@ -170,14 +170,14 @@ DoDefault:
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static DWORD APIENTRY
|
DWORD APIENTRY
|
||||||
ImmNt3KTrans(DWORD dwCount, LPTRANSMSG pEntries, LPINPUTCONTEXTDX pIC,
|
ImmNt3KTrans(DWORD dwCount, LPTRANSMSG pEntries, LPINPUTCONTEXTDX pIC,
|
||||||
LPCOMPOSITIONSTRING pCS, BOOL bAnsi)
|
LPCOMPOSITIONSTRING pCS, BOOL bAnsi)
|
||||||
{
|
{
|
||||||
return dwCount; // FIXME
|
return dwCount; // FIXME
|
||||||
}
|
}
|
||||||
|
|
||||||
static DWORD APIENTRY
|
DWORD APIENTRY
|
||||||
ImmNt3Trans(DWORD dwCount, LPTRANSMSG pEntries, HIMC hIMC, BOOL bAnsi, WORD wLang)
|
ImmNt3Trans(DWORD dwCount, LPTRANSMSG pEntries, HIMC hIMC, BOOL bAnsi, WORD wLang)
|
||||||
{
|
{
|
||||||
BOOL ret = FALSE;
|
BOOL ret = FALSE;
|
||||||
|
@ -202,4 +202,22 @@ ImmNt3Trans(DWORD dwCount, LPTRANSMSG pEntries, HIMC hIMC, BOOL bAnsi, WORD wLan
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* IMM_NT3_SUPPORT */
|
#endif /* IMM_WIN3_SUPPORT */
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* ImmSendIMEMessageExA(IMM32.@)
|
||||||
|
*/
|
||||||
|
WORD WINAPI ImmSendIMEMessageExA(HWND hWnd, LPARAM lParam)
|
||||||
|
{
|
||||||
|
FIXME("(%p, %p)\n", hWnd, lParam);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* ImmSendIMEMessageExW(IMM32.@)
|
||||||
|
*/
|
||||||
|
WORD WINAPI ImmSendIMEMessageExW(HWND hWnd, LPARAM lParam)
|
||||||
|
{
|
||||||
|
FIXME("(%p, %p)\n", hWnd, lParam);
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue