mirror of
https://github.com/reactos/reactos.git
synced 2025-08-02 01:03:08 +00:00
[MSCTFIME][SDK][USER32] Add msctfime.ime (stub) (#6141)
## Overview 1. msctfime.ime is an IME file interface for new-style IMEs a.k.a. "Text Input Processors" (TIPs). 2. msctfime.ime is loaded as old-style IME file at ImmLoadLayout in specific condition. 3. msctfime.ime communicates with the current TIP (This feature is not implemented yet). ## Proposed changes - Add msctfime module at dll/ime/msctfime. - The functions in this module are currently stub. - Move IME file interface declarations from <imm.h> to <ddk/immdev.h>. - Modify ImmNotifyIME, NotifyIME, and ImeProcessKey prototypes for x64 compliance. CORE-19360
This commit is contained in:
parent
04b1e8945b
commit
17617221ce
17 changed files with 615 additions and 24 deletions
|
@ -341,6 +341,115 @@ C_ASSERT(sizeof(CLIENTIMC) == 0x34);
|
|||
#define CLIENTIMC_DISABLEIME 0x80
|
||||
#define CLIENTIMC_UNKNOWN2 0x100
|
||||
|
||||
/* IME file interface */
|
||||
|
||||
BOOL WINAPI
|
||||
ImeInquire(
|
||||
_Out_ LPIMEINFO lpIMEInfo,
|
||||
_Out_ LPWSTR lpszWndClass,
|
||||
_In_ DWORD dwSystemInfoFlags);
|
||||
|
||||
DWORD WINAPI
|
||||
ImeConversionList(
|
||||
_In_ HIMC hIMC,
|
||||
_In_ LPCWSTR lpSrc,
|
||||
_Out_ LPCANDIDATELIST lpDst,
|
||||
_In_ DWORD dwBufLen,
|
||||
_In_ UINT uFlag);
|
||||
|
||||
BOOL WINAPI
|
||||
ImeRegisterWord(
|
||||
_In_ LPCWSTR lpszReading,
|
||||
_In_ DWORD dwStyle,
|
||||
_In_ LPCWSTR lpszString);
|
||||
|
||||
BOOL WINAPI
|
||||
ImeUnregisterWord(
|
||||
_In_ LPCWSTR lpszReading,
|
||||
_In_ DWORD dwStyle,
|
||||
_In_ LPCWSTR lpszString);
|
||||
|
||||
UINT WINAPI
|
||||
ImeGetRegisterWordStyle(
|
||||
_In_ UINT nItem,
|
||||
_Out_ LPSTYLEBUFW lpStyleBuf);
|
||||
|
||||
UINT WINAPI
|
||||
ImeEnumRegisterWord(
|
||||
_In_ REGISTERWORDENUMPROCW lpfnEnumProc,
|
||||
_In_opt_ LPCWSTR lpszReading,
|
||||
_In_ DWORD dwStyle,
|
||||
_In_opt_ LPCWSTR lpszString,
|
||||
_In_opt_ LPVOID lpData);
|
||||
|
||||
BOOL WINAPI
|
||||
ImeConfigure(
|
||||
_In_ HKL hKL,
|
||||
_In_ HWND hWnd,
|
||||
_In_ DWORD dwMode,
|
||||
_Inout_opt_ LPVOID lpData);
|
||||
|
||||
BOOL WINAPI
|
||||
ImeDestroy(
|
||||
_In_ UINT uReserved);
|
||||
|
||||
LRESULT WINAPI
|
||||
ImeEscape(
|
||||
_In_ HIMC hIMC,
|
||||
_In_ UINT uEscape,
|
||||
_Inout_opt_ LPVOID lpData);
|
||||
|
||||
BOOL WINAPI
|
||||
ImeProcessKey(
|
||||
_In_ HIMC hIMC,
|
||||
_In_ UINT uVirKey,
|
||||
_In_ LPARAM lParam,
|
||||
_In_ CONST LPBYTE lpbKeyState);
|
||||
|
||||
BOOL WINAPI
|
||||
ImeSelect(
|
||||
_In_ HIMC hIMC,
|
||||
_In_ BOOL fSelect);
|
||||
|
||||
BOOL WINAPI
|
||||
ImeSetActiveContext(
|
||||
_In_ HIMC hIMC,
|
||||
_In_ BOOL fFlag);
|
||||
|
||||
UINT WINAPI
|
||||
ImeToAsciiEx(
|
||||
_In_ UINT uVirKey,
|
||||
_In_ UINT uScanCode,
|
||||
_In_ CONST LPBYTE lpbKeyState,
|
||||
_Out_ LPTRANSMSGLIST lpTransMsgList,
|
||||
_In_ UINT fuState,
|
||||
_In_ HIMC hIMC);
|
||||
|
||||
BOOL WINAPI
|
||||
NotifyIME(
|
||||
_In_ HIMC hIMC,
|
||||
_In_ DWORD dwAction,
|
||||
_In_ DWORD dwIndex,
|
||||
_In_ DWORD_PTR dwValue);
|
||||
|
||||
BOOL WINAPI
|
||||
ImeSetCompositionString(
|
||||
_In_ HIMC hIMC,
|
||||
_In_ DWORD dwIndex,
|
||||
_In_opt_ LPCVOID lpComp,
|
||||
_In_ DWORD dwCompLen,
|
||||
_In_opt_ LPCVOID lpRead,
|
||||
_In_ DWORD dwReadLen);
|
||||
|
||||
DWORD WINAPI
|
||||
ImeGetImeMenuItems(
|
||||
_In_ HIMC hIMC,
|
||||
_In_ DWORD dwFlags,
|
||||
_In_ DWORD dwType,
|
||||
_Inout_opt_ LPIMEMENUITEMINFOW lpImeParentMenu,
|
||||
_Inout_opt_ LPIMEMENUITEMINFOW lpImeMenu,
|
||||
_In_ DWORD dwSize);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
|
|
@ -270,23 +270,6 @@ BOOL WINAPI
|
|||
ImmDestroySoftKeyboard(
|
||||
_In_ HWND hwndSoftKBD);
|
||||
|
||||
BOOL WINAPI ImeInquire(LPIMEINFO, LPWSTR, LPCWSTR lpszOptions);
|
||||
BOOL WINAPI ImeConfigure (HKL, HWND, DWORD, LPVOID);
|
||||
DWORD WINAPI ImeConversionList(HIMC, LPCWSTR, LPCANDIDATELIST,DWORD,UINT);
|
||||
BOOL WINAPI ImeDestroy(UINT);
|
||||
LRESULT WINAPI ImeEscape(HIMC, UINT, LPVOID);
|
||||
BOOL WINAPI ImeProcessKey(HIMC, UINT, LPARAM, CONST LPBYTE);
|
||||
BOOL WINAPI ImeSelect(HIMC, BOOL);
|
||||
BOOL WINAPI ImeSetActiveContext(HIMC, BOOL);
|
||||
UINT WINAPI ImeToAsciiEx(UINT, UINT, CONST LPBYTE, LPDWORD, UINT, HIMC);
|
||||
BOOL WINAPI NotifyIME(HIMC, DWORD, DWORD, DWORD);
|
||||
BOOL WINAPI ImeRegisterWord(LPCWSTR, DWORD, LPCWSTR);
|
||||
BOOL WINAPI ImeUnregisterWord(LPCWSTR, DWORD, LPCWSTR);
|
||||
UINT WINAPI ImeGetRegisterWordStyle(UINT, LPSTYLEBUFW);
|
||||
UINT WINAPI ImeEnumRegisterWord(REGISTERWORDENUMPROCW, LPCWSTR, DWORD, LPCWSTR, LPVOID);
|
||||
BOOL WINAPI ImeSetCompositionString(HIMC, DWORD, LPCVOID, DWORD, LPCVOID, DWORD);
|
||||
DWORD WINAPI ImeGetImeMenuItems(HIMC, DWORD, DWORD, LPIMEMENUITEMINFOW, LPIMEMENUITEMINFOW, DWORD);
|
||||
|
||||
/* wParam for WM_IME_CONTROL */
|
||||
#define IMC_GETCANDIDATEPOS 0x0007
|
||||
#define IMC_SETCANDIDATEPOS 0x0008
|
||||
|
@ -870,7 +853,7 @@ BOOL WINAPI ImmIsUIMessageA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM);
|
|||
BOOL WINAPI ImmIsUIMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM);
|
||||
#define ImmIsUIMessage WINELIB_NAME_AW(ImmIsUIMessage)
|
||||
|
||||
BOOL WINAPI ImmNotifyIME(_In_ HIMC, _In_ DWORD, _In_ DWORD, _In_ DWORD);
|
||||
BOOL WINAPI ImmNotifyIME(_In_ HIMC, _In_ DWORD, _In_ DWORD, _In_ DWORD_PTR);
|
||||
|
||||
DWORD WINAPI ImmProcessKey(HWND, HKL, UINT, LPARAM, DWORD);
|
||||
|
||||
|
|
|
@ -8,11 +8,11 @@ DEFINE_IME_ENTRY(UINT, ImeEnumRegisterWord, (LPVOID lpfnEnumProc, LPCVOID lpszRe
|
|||
DEFINE_IME_ENTRY(BOOL, ImeConfigure, (HKL hKL, HWND hWnd, DWORD dwMode, LPVOID lpData), FALSE)
|
||||
DEFINE_IME_ENTRY(BOOL, ImeDestroy, (UINT uReserved), FALSE)
|
||||
DEFINE_IME_ENTRY(LRESULT, ImeEscape, (HIMC hIMC, UINT uEscape, LPVOID lpData), FALSE)
|
||||
DEFINE_IME_ENTRY(BOOL, ImeProcessKey, (HIMC hIMC, UINT uVirKey, DWORD lParam, CONST LPBYTE lpbKeyState), FALSE)
|
||||
DEFINE_IME_ENTRY(BOOL, ImeProcessKey, (HIMC hIMC, UINT uVirKey, LPARAM lParam, CONST LPBYTE lpbKeyState), FALSE)
|
||||
DEFINE_IME_ENTRY(BOOL, ImeSelect, (HIMC hIMC, BOOL fSelect), FALSE)
|
||||
DEFINE_IME_ENTRY(BOOL, ImeSetActiveContext, (HIMC hIMC, BOOL fFlag), FALSE)
|
||||
DEFINE_IME_ENTRY(UINT, ImeToAsciiEx, (UINT uVirKey, UINT uScanCode, CONST LPBYTE lpbKeyState, LPTRANSMSGLIST lpTransMsgList, UINT fuState, HIMC hIMC), FALSE)
|
||||
DEFINE_IME_ENTRY(BOOL, NotifyIME, (HIMC hIMC, DWORD dwAction, DWORD dwIndex, DWORD dwValue), FALSE)
|
||||
DEFINE_IME_ENTRY(BOOL, NotifyIME, (HIMC hIMC, DWORD dwAction, DWORD dwIndex, DWORD_PTR dwValue), FALSE)
|
||||
DEFINE_IME_ENTRY(BOOL, ImeSetCompositionString, (HIMC hIMC, DWORD dwIndex, LPCVOID lpComp, DWORD dwCompLen, LPCVOID lpRead, DWORD dwReadLen), FALSE)
|
||||
DEFINE_IME_ENTRY(DWORD, ImeGetImeMenuItems, (HIMC hIMC, DWORD dwFlags, DWORD dwType, LPIMEMENUITEMINFOW lpImeParentMenu, LPIMEMENUITEMINFOW lpImeMenu, DWORD dwSize), TRUE)
|
||||
DEFINE_IME_ENTRY(BOOL, CtfImeInquireExW, (LPIMEINFO lpIMEInfo, LPVOID lpszWndClass, DWORD dwSystemInfoFlags, HKL hKL), TRUE)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue