mirror of
https://github.com/reactos/reactos.git
synced 2025-06-25 00:40:10 +00:00
[IMM32][SDK] Refactor IMM32 and fix annotations (#8071)
Fix annotations' mistakes. Improve debug output. JIRA issue: CORE-19268 - Fix some SAL annotations. - Use debugstr_a and debugstr_w for tracing strings. - Add static to some functions. - Remove APIENTRY of some functions. - Fix code formatting.
This commit is contained in:
parent
2fd0af4f8f
commit
d80fdbe146
14 changed files with 562 additions and 269 deletions
|
@ -468,13 +468,13 @@ typedef struct _tagCOMPOSITIONFORM {
|
|||
#define SOFTKEYBOARD_TYPE_T1 0x0001 /* for Tranditional Chinese */
|
||||
#define SOFTKEYBOARD_TYPE_C1 0x0002 /* for Simplified Chinese */
|
||||
|
||||
HIMC WINAPI ImmAssociateContext(_In_ HWND hWnd, _In_ HIMC hIMC);
|
||||
HIMC WINAPI ImmAssociateContext(_In_ HWND hWnd, _In_opt_ HIMC hIMC);
|
||||
#if (WINVER >= 0x040A)
|
||||
BOOL WINAPI ImmAssociateContextEx(_In_ HWND hWnd, _In_ HIMC hIMC, _In_ DWORD dwFlags);
|
||||
BOOL WINAPI ImmAssociateContextEx(_In_ HWND hWnd, _In_opt_ HIMC hIMC, _In_ DWORD dwFlags);
|
||||
#endif
|
||||
|
||||
BOOL WINAPI ImmConfigureIMEA(_In_ HKL hKL, _In_ HWND hWnd, _In_ DWORD dwMode, _In_ LPVOID lpData);
|
||||
BOOL WINAPI ImmConfigureIMEW(_In_ HKL hKL, _In_ HWND hWnd, _In_ DWORD dwMode, _In_ LPVOID lpData);
|
||||
BOOL WINAPI ImmConfigureIMEA(_In_ HKL hKL, _In_ HWND hWnd, _In_ DWORD dwMode, _Inout_opt_ LPVOID lpData);
|
||||
BOOL WINAPI ImmConfigureIMEW(_In_ HKL hKL, _In_ HWND hWnd, _In_ DWORD dwMode, _Inout_opt_ LPVOID lpData);
|
||||
HIMC WINAPI ImmCreateContext(VOID);
|
||||
BOOL WINAPI ImmDestroyContext(_In_ HIMC hIMC);
|
||||
#if (WINVER >= 0x040A)
|
||||
|
@ -604,7 +604,7 @@ ImmGetConversionStatus(
|
|||
_Out_opt_ LPDWORD lpfdwConversion,
|
||||
_Out_opt_ LPDWORD lpfdwSentence);
|
||||
|
||||
HWND WINAPI ImmGetDefaultIMEWnd(_In_ HWND hWnd);
|
||||
HWND WINAPI ImmGetDefaultIMEWnd(_In_opt_ HWND hWnd);
|
||||
|
||||
UINT
|
||||
WINAPI
|
||||
|
@ -707,14 +707,14 @@ BOOL WINAPI ImmIsIME(_In_ HKL hKL);
|
|||
|
||||
BOOL WINAPI
|
||||
ImmIsUIMessageA(
|
||||
_In_ HWND hWndIME,
|
||||
_In_opt_ HWND hWndIME,
|
||||
_In_ UINT msg,
|
||||
_In_ WPARAM wParam,
|
||||
_In_ LPARAM lParam);
|
||||
|
||||
BOOL WINAPI
|
||||
ImmIsUIMessageW(
|
||||
_In_ HWND hWndIME,
|
||||
_In_opt_ HWND hWndIME,
|
||||
_In_ UINT msg,
|
||||
_In_ WPARAM wParam,
|
||||
_In_ LPARAM lParam);
|
||||
|
@ -730,17 +730,17 @@ BOOL
|
|||
WINAPI
|
||||
ImmRegisterWordA(
|
||||
_In_ HKL hKL,
|
||||
_In_ LPCSTR lpszReading,
|
||||
_In_opt_ LPCSTR lpszReading,
|
||||
_In_ DWORD dwStyle,
|
||||
_In_ LPCSTR lpszRegister);
|
||||
_In_opt_ LPCSTR lpszRegister);
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
ImmRegisterWordW(
|
||||
_In_ HKL hKL,
|
||||
_In_ LPCWSTR lpszReading,
|
||||
_In_opt_ LPCWSTR lpszReading,
|
||||
_In_ DWORD dwStyle,
|
||||
_In_ LPCWSTR lpszRegister);
|
||||
_In_opt_ LPCWSTR lpszRegister);
|
||||
|
||||
BOOL WINAPI ImmReleaseContext(_In_ HWND hWnd, _In_ HIMC hIMC);
|
||||
BOOL WINAPI ImmSetCandidateWindow(_In_ HIMC hIMC, _In_ LPCANDIDATEFORM lpCandidate);
|
||||
|
@ -781,17 +781,17 @@ BOOL
|
|||
WINAPI
|
||||
ImmUnregisterWordA(
|
||||
_In_ HKL hKL,
|
||||
_In_ LPCSTR lpszReading,
|
||||
_In_opt_ LPCSTR lpszReading,
|
||||
_In_ DWORD dwStyle,
|
||||
_In_ LPCSTR lpszUnregister);
|
||||
_In_opt_ LPCSTR lpszUnregister);
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
ImmUnregisterWordW(
|
||||
_In_ HKL hKL,
|
||||
_In_ LPCWSTR lpszReading,
|
||||
_In_opt_ LPCWSTR lpszReading,
|
||||
_In_ DWORD dwStyle,
|
||||
_In_ LPCWSTR lpszUnregister);
|
||||
_In_opt_ LPCWSTR lpszUnregister);
|
||||
|
||||
#ifdef UNICODE
|
||||
#define ImmConfigureIME ImmConfigureIMEW
|
||||
|
|
|
@ -113,7 +113,7 @@ C_ASSERT(sizeof(IMEDPI) == 0xa8);
|
|||
#define IMEDPI_FLAG_LOCKED 0x2
|
||||
|
||||
PIMEDPI WINAPI ImmLockImeDpi(_In_ HKL hKL);
|
||||
VOID WINAPI ImmUnlockImeDpi(_Inout_ PIMEDPI pImeDpi);
|
||||
VOID WINAPI ImmUnlockImeDpi(_Inout_opt_ PIMEDPI pImeDpi);
|
||||
|
||||
/* unconfirmed */
|
||||
typedef struct tagCLIENTIMC
|
||||
|
@ -226,12 +226,19 @@ ImmGetImeInfoEx(
|
|||
|
||||
BOOL WINAPI ImmLoadLayout(_In_ HKL hKL, _Inout_ PIMEINFOEX pImeInfoEx);
|
||||
DWORD WINAPI ImmGetAppCompatFlags(_In_ HIMC hIMC);
|
||||
BOOL WINAPI ImmSetActiveContext(_In_ HWND hwnd, _In_ HIMC hIMC, _In_ BOOL fFlag);
|
||||
BOOL WINAPI ImmSetActiveContext(_In_ HWND hwnd, _In_opt_ HIMC hIMC, _In_ BOOL fFlag);
|
||||
BOOL WINAPI ImmLoadIME(_In_ HKL hKL);
|
||||
DWORD WINAPI ImmProcessKey(_In_ HWND, _In_ HKL, _In_ UINT, _In_ LPARAM, _In_ DWORD);
|
||||
LRESULT WINAPI ImmPutImeMenuItemsIntoMappedFile(_In_ HIMC hIMC);
|
||||
BOOL WINAPI ImmWINNLSGetEnableStatus(_In_opt_ HWND hWnd);
|
||||
BOOL WINAPI ImmSetActiveContextConsoleIME(_In_ HWND hwnd, _In_ BOOL fFlag);
|
||||
BOOL WINAPI ImmActivateLayout(_In_ HKL hKL);
|
||||
BOOL WINAPI ImmFreeLayout(_In_ HKL hKL);
|
||||
|
||||
BOOL WINAPI
|
||||
ImmWINNLSEnableIME(
|
||||
_In_opt_ HWND hWnd,
|
||||
_In_ BOOL enable);
|
||||
|
||||
LRESULT WINAPI
|
||||
ImmSystemHandler(
|
||||
|
@ -246,6 +253,16 @@ BOOL WINAPI ImmIMPQueryIMEW(_Inout_ LPIMEPROW pImePro);
|
|||
BOOL WINAPI ImmIMPSetIMEA(_In_opt_ HWND hWnd, _Inout_ LPIMEPROA pImePro);
|
||||
BOOL WINAPI ImmIMPSetIMEW(_In_opt_ HWND hWnd, _Inout_ LPIMEPROW pImePro);
|
||||
|
||||
WORD WINAPI
|
||||
ImmSendIMEMessageExA(
|
||||
_In_ HWND hWnd,
|
||||
_In_ LPARAM lParam);
|
||||
|
||||
WORD WINAPI
|
||||
ImmSendIMEMessageExW(
|
||||
_In_ HWND hWnd,
|
||||
_In_ LPARAM lParam);
|
||||
|
||||
HRESULT WINAPI CtfAImmActivate(_Out_opt_ HINSTANCE *phinstCtfIme);
|
||||
HRESULT WINAPI CtfAImmDeactivate(_In_ BOOL bDestroy);
|
||||
BOOL WINAPI CtfAImmIsIME(_In_ HKL hKL);
|
||||
|
@ -274,10 +291,12 @@ CtfImmDispatchDefImeMessage(
|
|||
#define ImmIMPGetIME ImmIMPGetIMEW
|
||||
#define ImmIMPQueryIME ImmIMPQueryIMEW
|
||||
#define ImmIMPSetIME ImmIMPSetIMEW
|
||||
#define ImmSendIMEMessageEx ImmSendIMEMessageExW
|
||||
#else
|
||||
#define ImmIMPGetIME ImmIMPGetIMEA
|
||||
#define ImmIMPQueryIME ImmIMPQueryIMEA
|
||||
#define ImmIMPSetIME ImmIMPSetIMEA
|
||||
#define ImmSendIMEMessageEx ImmSendIMEMessageExA
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
@ -11,7 +11,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(imm);
|
|||
|
||||
#define ROUNDUP4(n) (((n) + 3) & ~3) /* DWORD alignment */
|
||||
|
||||
DWORD APIENTRY
|
||||
DWORD
|
||||
CandidateListWideToAnsi(const CANDIDATELIST *pWideCL, LPCANDIDATELIST pAnsiCL, DWORD dwBufLen,
|
||||
UINT uCodePage)
|
||||
{
|
||||
|
@ -80,8 +80,7 @@ CandidateListWideToAnsi(const CANDIDATELIST *pWideCL, LPCANDIDATELIST pAnsiCL, D
|
|||
return dwBufLen;
|
||||
}
|
||||
|
||||
// Win: InternalGetCandidateListAtoW
|
||||
DWORD APIENTRY
|
||||
DWORD
|
||||
CandidateListAnsiToWide(const CANDIDATELIST *pAnsiCL, LPCANDIDATELIST pWideCL, DWORD dwBufLen,
|
||||
UINT uCodePage)
|
||||
{
|
||||
|
@ -149,10 +148,13 @@ CandidateListAnsiToWide(const CANDIDATELIST *pAnsiCL, LPCANDIDATELIST pWideCL, D
|
|||
return dwBufLen;
|
||||
}
|
||||
|
||||
// Win: ImmGetCandidateListWorker
|
||||
static DWORD APIENTRY
|
||||
ImmGetCandidateListAW(HIMC hIMC, DWORD dwIndex, LPCANDIDATELIST lpCandList, DWORD dwBufLen,
|
||||
BOOL bAnsi)
|
||||
static DWORD
|
||||
ImmGetCandidateListAW(
|
||||
_In_ HIMC hIMC,
|
||||
_In_ DWORD dwIndex,
|
||||
_Out_writes_bytes_opt_(dwBufLen) LPCANDIDATELIST lpCandList,
|
||||
_In_ DWORD dwBufLen,
|
||||
_In_ BOOL bAnsi)
|
||||
{
|
||||
DWORD dwSize, ret = 0;
|
||||
UINT uCodePage;
|
||||
|
@ -242,9 +244,11 @@ Quit:
|
|||
return ret;
|
||||
}
|
||||
|
||||
// Win: ImmGetCandidateListCountWorker
|
||||
DWORD APIENTRY
|
||||
ImmGetCandidateListCountAW(HIMC hIMC, LPDWORD lpdwListCount, BOOL bAnsi)
|
||||
static DWORD
|
||||
ImmGetCandidateListCountAW(
|
||||
_In_ HIMC hIMC,
|
||||
_Out_ LPDWORD lpdwListCount,
|
||||
_In_ BOOL bAnsi)
|
||||
{
|
||||
DWORD ret = 0, cbGot, dwIndex;
|
||||
PCLIENTIMC pClientImc;
|
||||
|
@ -341,7 +345,11 @@ Quit:
|
|||
* ImmGetCandidateListA (IMM32.@)
|
||||
*/
|
||||
DWORD WINAPI
|
||||
ImmGetCandidateListA(HIMC hIMC, DWORD dwIndex, LPCANDIDATELIST lpCandList, DWORD dwBufLen)
|
||||
ImmGetCandidateListA(
|
||||
_In_ HIMC hIMC,
|
||||
_In_ DWORD dwIndex,
|
||||
_Out_writes_bytes_opt_(dwBufLen) LPCANDIDATELIST lpCandList,
|
||||
_In_ DWORD dwBufLen)
|
||||
{
|
||||
return ImmGetCandidateListAW(hIMC, dwIndex, lpCandList, dwBufLen, TRUE);
|
||||
}
|
||||
|
@ -349,7 +357,10 @@ ImmGetCandidateListA(HIMC hIMC, DWORD dwIndex, LPCANDIDATELIST lpCandList, DWORD
|
|||
/***********************************************************************
|
||||
* ImmGetCandidateListCountA (IMM32.@)
|
||||
*/
|
||||
DWORD WINAPI ImmGetCandidateListCountA(HIMC hIMC, LPDWORD lpdwListCount)
|
||||
DWORD WINAPI
|
||||
ImmGetCandidateListCountA(
|
||||
_In_ HIMC hIMC,
|
||||
_Out_ LPDWORD lpdwListCount)
|
||||
{
|
||||
return ImmGetCandidateListCountAW(hIMC, lpdwListCount, TRUE);
|
||||
}
|
||||
|
@ -357,7 +368,10 @@ DWORD WINAPI ImmGetCandidateListCountA(HIMC hIMC, LPDWORD lpdwListCount)
|
|||
/***********************************************************************
|
||||
* ImmGetCandidateListCountW (IMM32.@)
|
||||
*/
|
||||
DWORD WINAPI ImmGetCandidateListCountW(HIMC hIMC, LPDWORD lpdwListCount)
|
||||
DWORD WINAPI
|
||||
ImmGetCandidateListCountW(
|
||||
_In_ HIMC hIMC,
|
||||
_Out_ LPDWORD lpdwListCount)
|
||||
{
|
||||
return ImmGetCandidateListCountAW(hIMC, lpdwListCount, FALSE);
|
||||
}
|
||||
|
@ -366,7 +380,11 @@ DWORD WINAPI ImmGetCandidateListCountW(HIMC hIMC, LPDWORD lpdwListCount)
|
|||
* ImmGetCandidateListW (IMM32.@)
|
||||
*/
|
||||
DWORD WINAPI
|
||||
ImmGetCandidateListW(HIMC hIMC, DWORD dwIndex, LPCANDIDATELIST lpCandList, DWORD dwBufLen)
|
||||
ImmGetCandidateListW(
|
||||
_In_ HIMC hIMC,
|
||||
_In_ DWORD dwIndex,
|
||||
_Out_writes_bytes_opt_(dwBufLen) LPCANDIDATELIST lpCandList,
|
||||
_In_ DWORD dwBufLen)
|
||||
{
|
||||
return ImmGetCandidateListAW(hIMC, dwIndex, lpCandList, dwBufLen, FALSE);
|
||||
}
|
||||
|
@ -375,7 +393,10 @@ ImmGetCandidateListW(HIMC hIMC, DWORD dwIndex, LPCANDIDATELIST lpCandList, DWORD
|
|||
* ImmGetCandidateWindow (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI
|
||||
ImmGetCandidateWindow(HIMC hIMC, DWORD dwIndex, LPCANDIDATEFORM lpCandidate)
|
||||
ImmGetCandidateWindow(
|
||||
_In_ HIMC hIMC,
|
||||
_In_ DWORD dwIndex,
|
||||
_Out_ LPCANDIDATEFORM lpCandidate)
|
||||
{
|
||||
BOOL ret = FALSE;
|
||||
LPINPUTCONTEXT pIC;
|
||||
|
@ -408,7 +429,10 @@ ImmGetCandidateWindow(HIMC hIMC, DWORD dwIndex, LPCANDIDATEFORM lpCandidate)
|
|||
/***********************************************************************
|
||||
* ImmSetCandidateWindow (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmSetCandidateWindow(HIMC hIMC, LPCANDIDATEFORM lpCandidate)
|
||||
BOOL WINAPI
|
||||
ImmSetCandidateWindow(
|
||||
_In_ HIMC hIMC,
|
||||
_In_ LPCANDIDATEFORM lpCandidate)
|
||||
{
|
||||
HWND hWnd;
|
||||
LPINPUTCONTEXT pIC;
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(imm);
|
||||
|
||||
BOOL APIENTRY
|
||||
BOOL
|
||||
Imm32OpenICAndCS(HIMC hIMC, LPINPUTCONTEXT *ppIC, LPCOMPOSITIONSTRING *ppCS)
|
||||
{
|
||||
LPINPUTCONTEXT pIC;
|
||||
|
@ -38,7 +38,7 @@ Imm32OpenICAndCS(HIMC hIMC, LPINPUTCONTEXT *ppIC, LPCOMPOSITIONSTRING *ppCS)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
static inline LONG APIENTRY
|
||||
static inline LONG
|
||||
Imm32CompStrAnsiToWide(LPCSTR psz, DWORD cb, LPWSTR lpBuf, DWORD dwBufLen, UINT uCodePage)
|
||||
{
|
||||
DWORD ret = MultiByteToWideChar(uCodePage, MB_PRECOMPOSED, psz, cb / sizeof(CHAR),
|
||||
|
@ -48,7 +48,7 @@ Imm32CompStrAnsiToWide(LPCSTR psz, DWORD cb, LPWSTR lpBuf, DWORD dwBufLen, UINT
|
|||
return ret * sizeof(WCHAR);
|
||||
}
|
||||
|
||||
static inline LONG APIENTRY
|
||||
static inline LONG
|
||||
Imm32CompStrWideToAnsi(LPCWSTR psz, DWORD cb, LPSTR lpBuf, DWORD dwBufLen, UINT uCodePage)
|
||||
{
|
||||
DWORD ret = WideCharToMultiByte(uCodePage, 0, psz, cb / sizeof(WCHAR),
|
||||
|
@ -58,7 +58,7 @@ Imm32CompStrWideToAnsi(LPCWSTR psz, DWORD cb, LPSTR lpBuf, DWORD dwBufLen, UINT
|
|||
return ret * sizeof(CHAR);
|
||||
}
|
||||
|
||||
static INT APIENTRY
|
||||
static INT
|
||||
Imm32CompAttrWideToAnsi(const BYTE *src, INT src_len, LPCWSTR text,
|
||||
INT str_len, LPBYTE dst, INT dst_len, UINT uCodePage)
|
||||
{
|
||||
|
@ -94,7 +94,7 @@ end:
|
|||
return rc * sizeof(BYTE);
|
||||
}
|
||||
|
||||
static INT APIENTRY
|
||||
static INT
|
||||
Imm32CompAttrAnsiToWide(const BYTE *src, INT src_len, LPCSTR text,
|
||||
INT str_len, LPBYTE dst, INT dst_len, UINT uCodePage)
|
||||
{
|
||||
|
@ -129,7 +129,7 @@ Imm32CompAttrAnsiToWide(const BYTE *src, INT src_len, LPCSTR text,
|
|||
return rc * sizeof(BYTE);
|
||||
}
|
||||
|
||||
static INT APIENTRY
|
||||
static INT
|
||||
Imm32CompClauseAnsiToWide(const DWORD *source, INT slen, LPCSTR text,
|
||||
LPDWORD target, INT tlen, UINT uCodePage)
|
||||
{
|
||||
|
@ -160,7 +160,7 @@ Imm32CompClauseAnsiToWide(const DWORD *source, INT slen, LPCSTR text,
|
|||
return rc;
|
||||
}
|
||||
|
||||
static INT APIENTRY
|
||||
static INT
|
||||
Imm32CompClauseWideToAnsi(const DWORD *source, INT slen, LPCWSTR text,
|
||||
LPDWORD target, INT tlen, UINT uCodePage)
|
||||
{
|
||||
|
@ -214,8 +214,7 @@ Imm32CompClauseWideToAnsi(const DWORD *source, INT slen, LPCWSTR text,
|
|||
#define CS_DoAttr CS_DoStrA
|
||||
#define CS_DoClause CS_DoStrA
|
||||
|
||||
// Win: InternalGetCompositionStringA
|
||||
LONG APIENTRY
|
||||
static LONG
|
||||
Imm32GetCompStrA(HIMC hIMC, const COMPOSITIONSTRING *pCS, DWORD dwIndex,
|
||||
LPVOID lpBuf, DWORD dwBufLen, BOOL bAnsiClient, UINT uCodePage)
|
||||
{
|
||||
|
@ -365,8 +364,7 @@ Imm32GetCompStrA(HIMC hIMC, const COMPOSITIONSTRING *pCS, DWORD dwIndex,
|
|||
return dwBufLen;
|
||||
}
|
||||
|
||||
// Win: InternalGetCompositionStringW
|
||||
LONG APIENTRY
|
||||
static LONG
|
||||
Imm32GetCompStrW(HIMC hIMC, const COMPOSITIONSTRING *pCS, DWORD dwIndex,
|
||||
LPVOID lpBuf, DWORD dwBufLen, BOOL bAnsiClient, UINT uCodePage)
|
||||
{
|
||||
|
@ -515,10 +513,15 @@ Imm32GetCompStrW(HIMC hIMC, const COMPOSITIONSTRING *pCS, DWORD dwIndex,
|
|||
return dwBufLen;
|
||||
}
|
||||
|
||||
// Win: ImmSetCompositionStringWorker
|
||||
BOOL APIENTRY
|
||||
ImmSetCompositionStringAW(HIMC hIMC, DWORD dwIndex, LPVOID pComp, DWORD dwCompLen,
|
||||
LPVOID pRead, DWORD dwReadLen, BOOL bAnsiAPI)
|
||||
static BOOL
|
||||
ImmSetCompositionStringAW(
|
||||
_In_ HIMC hIMC,
|
||||
_In_ DWORD dwIndex,
|
||||
_Inout_updates_bytes_opt_(dwCompLen) LPVOID pComp,
|
||||
_In_ DWORD dwCompLen,
|
||||
_Inout_updates_bytes_opt_(dwReadLen) LPVOID pRead,
|
||||
_In_ DWORD dwReadLen,
|
||||
_In_ BOOL bAnsiAPI)
|
||||
{
|
||||
BOOL ret = FALSE, bAnsiClient;
|
||||
LPVOID pCompNew = NULL, pReadNew = NULL;
|
||||
|
@ -853,7 +856,12 @@ Quit:
|
|||
/***********************************************************************
|
||||
* ImmGetCompositionStringA (IMM32.@)
|
||||
*/
|
||||
LONG WINAPI ImmGetCompositionStringA(HIMC hIMC, DWORD dwIndex, LPVOID lpBuf, DWORD dwBufLen)
|
||||
LONG WINAPI
|
||||
ImmGetCompositionStringA(
|
||||
_In_ HIMC hIMC,
|
||||
_In_ DWORD dwIndex,
|
||||
_Out_writes_bytes_opt_(dwBufLen) LPVOID lpBuf,
|
||||
_In_ DWORD dwBufLen)
|
||||
{
|
||||
LONG ret = 0;
|
||||
LPINPUTCONTEXT pIC;
|
||||
|
@ -896,7 +904,12 @@ LONG WINAPI ImmGetCompositionStringA(HIMC hIMC, DWORD dwIndex, LPVOID lpBuf, DWO
|
|||
/***********************************************************************
|
||||
* ImmGetCompositionStringW (IMM32.@)
|
||||
*/
|
||||
LONG WINAPI ImmGetCompositionStringW(HIMC hIMC, DWORD dwIndex, LPVOID lpBuf, DWORD dwBufLen)
|
||||
LONG WINAPI
|
||||
ImmGetCompositionStringW(
|
||||
_In_ HIMC hIMC,
|
||||
_In_ DWORD dwIndex,
|
||||
_Out_writes_bytes_opt_(dwBufLen) LPVOID lpBuf,
|
||||
_In_ DWORD dwBufLen)
|
||||
{
|
||||
LONG ret = 0;
|
||||
LPINPUTCONTEXT pIC;
|
||||
|
@ -940,8 +953,13 @@ LONG WINAPI ImmGetCompositionStringW(HIMC hIMC, DWORD dwIndex, LPVOID lpBuf, DWO
|
|||
* ImmSetCompositionStringA (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI
|
||||
ImmSetCompositionStringA(HIMC hIMC, DWORD dwIndex, LPVOID lpComp, DWORD dwCompLen,
|
||||
LPVOID lpRead, DWORD dwReadLen)
|
||||
ImmSetCompositionStringA(
|
||||
_In_ HIMC hIMC,
|
||||
_In_ DWORD dwIndex,
|
||||
_Inout_updates_bytes_opt_(dwCompLen) LPVOID lpComp,
|
||||
_In_ DWORD dwCompLen,
|
||||
_Inout_updates_bytes_opt_(dwReadLen) LPVOID lpRead,
|
||||
_In_ DWORD dwReadLen)
|
||||
{
|
||||
TRACE("(%p, %lu, %p, %lu, %p, %lu)\n",
|
||||
hIMC, dwIndex, lpComp, dwCompLen, lpRead, dwReadLen);
|
||||
|
@ -952,8 +970,13 @@ ImmSetCompositionStringA(HIMC hIMC, DWORD dwIndex, LPVOID lpComp, DWORD dwCompLe
|
|||
* ImmSetCompositionStringW (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI
|
||||
ImmSetCompositionStringW(HIMC hIMC, DWORD dwIndex, LPVOID lpComp, DWORD dwCompLen,
|
||||
LPVOID lpRead, DWORD dwReadLen)
|
||||
ImmSetCompositionStringW(
|
||||
_In_ HIMC hIMC,
|
||||
_In_ DWORD dwIndex,
|
||||
_Inout_updates_bytes_opt_(dwCompLen) LPVOID lpComp,
|
||||
_In_ DWORD dwCompLen,
|
||||
_Inout_updates_bytes_opt_(dwReadLen) LPVOID lpRead,
|
||||
_In_ DWORD dwReadLen)
|
||||
{
|
||||
TRACE("(%p, %lu, %p, %lu, %p, %lu)\n",
|
||||
hIMC, dwIndex, lpComp, dwCompLen, lpRead, dwReadLen);
|
||||
|
|
|
@ -1208,7 +1208,8 @@ typedef struct IMM_DELAY_SET_LANG_BAND
|
|||
} IMM_DELAY_SET_LANG_BAND, *PIMM_DELAY_SET_LANG_BAND;
|
||||
|
||||
/* Sends a message to set the language band with delay. */
|
||||
static DWORD APIENTRY Imm32DelaySetLangBandProc(LPVOID arg)
|
||||
static DWORD WINAPI
|
||||
Imm32DelaySetLangBandProc(LPVOID arg)
|
||||
{
|
||||
HWND hwndDefIME;
|
||||
WPARAM wParam;
|
||||
|
|
|
@ -9,9 +9,13 @@
|
|||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(imm);
|
||||
|
||||
// Win: ImmGetGuideLineWorker
|
||||
DWORD APIENTRY
|
||||
ImmGetGuideLineAW(HIMC hIMC, DWORD dwIndex, LPVOID lpBuf, DWORD dwBufLen, BOOL bAnsi)
|
||||
static DWORD
|
||||
ImmGetGuideLineAW(
|
||||
_In_ HIMC hIMC,
|
||||
_In_ DWORD dwIndex,
|
||||
_Out_writes_bytes_opt_(dwBufLen) LPVOID lpBuf,
|
||||
_In_ DWORD dwBufLen,
|
||||
_In_ BOOL bAnsi)
|
||||
{
|
||||
PCLIENTIMC pClientImc;
|
||||
LPINPUTCONTEXT pIC;
|
||||
|
@ -187,7 +191,12 @@ Quit:
|
|||
/***********************************************************************
|
||||
* ImmGetGuideLineA (IMM32.@)
|
||||
*/
|
||||
DWORD WINAPI ImmGetGuideLineA(HIMC hIMC, DWORD dwIndex, LPSTR lpBuf, DWORD dwBufLen)
|
||||
DWORD WINAPI
|
||||
ImmGetGuideLineA(
|
||||
_In_ HIMC hIMC,
|
||||
_In_ DWORD dwIndex,
|
||||
_Out_writes_bytes_opt_(dwBufLen) LPSTR lpBuf,
|
||||
_In_ DWORD dwBufLen)
|
||||
{
|
||||
TRACE("(%p, %lu, %p, %lu)\n", hIMC, dwIndex, lpBuf, dwBufLen);
|
||||
return ImmGetGuideLineAW(hIMC, dwIndex, lpBuf, dwBufLen, TRUE);
|
||||
|
@ -196,7 +205,12 @@ DWORD WINAPI ImmGetGuideLineA(HIMC hIMC, DWORD dwIndex, LPSTR lpBuf, DWORD dwBuf
|
|||
/***********************************************************************
|
||||
* ImmGetGuideLineW (IMM32.@)
|
||||
*/
|
||||
DWORD WINAPI ImmGetGuideLineW(HIMC hIMC, DWORD dwIndex, LPWSTR lpBuf, DWORD dwBufLen)
|
||||
DWORD WINAPI
|
||||
ImmGetGuideLineW(
|
||||
_In_ HIMC hIMC,
|
||||
_In_ DWORD dwIndex,
|
||||
_Out_writes_bytes_opt_(dwBufLen) LPWSTR lpBuf,
|
||||
_In_ DWORD dwBufLen)
|
||||
{
|
||||
TRACE("(%p, %lu, %p, %lu)\n", hIMC, dwIndex, lpBuf, dwBufLen);
|
||||
return ImmGetGuideLineAW(hIMC, dwIndex, lpBuf, dwBufLen, FALSE);
|
||||
|
|
|
@ -13,11 +13,10 @@
|
|||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(imm);
|
||||
|
||||
RTL_CRITICAL_SECTION gcsImeDpi; // Win: gcsImeDpi
|
||||
PIMEDPI gpImeDpiList = NULL; // Win: gpImeDpi
|
||||
RTL_CRITICAL_SECTION gcsImeDpi;
|
||||
PIMEDPI gpImeDpiList = NULL;
|
||||
|
||||
// Win: ImmGetImeDpi
|
||||
PIMEDPI APIENTRY Imm32FindImeDpi(HKL hKL)
|
||||
PIMEDPI Imm32FindImeDpi(HKL hKL)
|
||||
{
|
||||
PIMEDPI pImeDpi;
|
||||
|
||||
|
@ -32,8 +31,7 @@ PIMEDPI APIENTRY Imm32FindImeDpi(HKL hKL)
|
|||
return pImeDpi;
|
||||
}
|
||||
|
||||
// Win: UnloadIME
|
||||
VOID APIENTRY Imm32FreeIME(PIMEDPI pImeDpi, BOOL bDestroy)
|
||||
VOID Imm32FreeIME(PIMEDPI pImeDpi, BOOL bDestroy)
|
||||
{
|
||||
if (pImeDpi->hInst == NULL)
|
||||
return;
|
||||
|
@ -43,8 +41,7 @@ VOID APIENTRY Imm32FreeIME(PIMEDPI pImeDpi, BOOL bDestroy)
|
|||
pImeDpi->hInst = NULL;
|
||||
}
|
||||
|
||||
// Win: InquireIme
|
||||
BOOL APIENTRY Imm32InquireIme(PIMEDPI pImeDpi)
|
||||
BOOL Imm32InquireIme(PIMEDPI pImeDpi)
|
||||
{
|
||||
WCHAR szUIClass[64];
|
||||
WNDCLASSW wcW;
|
||||
|
@ -194,7 +191,8 @@ BOOL APIENTRY Imm32InquireIme(PIMEDPI pImeDpi)
|
|||
#include <imetable.h>
|
||||
#undef DEFINE_IME_ENTRY
|
||||
|
||||
BOOL APIENTRY Imm32LoadIME(PIMEINFOEX pImeInfoEx, PIMEDPI pImeDpi)
|
||||
static BOOL
|
||||
Imm32LoadIME(PIMEINFOEX pImeInfoEx, PIMEDPI pImeDpi)
|
||||
{
|
||||
WCHAR szPath[MAX_PATH];
|
||||
HINSTANCE hIME;
|
||||
|
@ -207,7 +205,7 @@ BOOL APIENTRY Imm32LoadIME(PIMEINFOEX pImeInfoEx, PIMEDPI pImeDpi)
|
|||
pImeDpi->hInst = hIME = LoadLibraryW(szPath);
|
||||
if (hIME == NULL)
|
||||
{
|
||||
ERR("LoadLibraryW(%S) failed\n", szPath);
|
||||
ERR("LoadLibraryW(%s) failed\n", debugstr_w(szPath));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
@ -222,7 +220,7 @@ BOOL APIENTRY Imm32LoadIME(PIMEINFOEX pImeInfoEx, PIMEDPI pImeDpi)
|
|||
fn = GetProcAddress(hIME, #name); \
|
||||
if (fn) pImeDpi->name = (FN_##name)fn; \
|
||||
else if (!(optional)) { \
|
||||
ERR("'%s' not found in IME module '%S'.\n", #name, szPath); \
|
||||
ERR("'%s' not found in IME module %s.\n", #name, debugstr_w(szPath)); \
|
||||
goto Failed; \
|
||||
} \
|
||||
} while (0);
|
||||
|
@ -234,7 +232,7 @@ BOOL APIENTRY Imm32LoadIME(PIMEINFOEX pImeInfoEx, PIMEDPI pImeDpi)
|
|||
{
|
||||
#define CHECK_IME_FN(name) do { \
|
||||
if (!pImeDpi->name) { \
|
||||
ERR("'%s' not found in Cicero IME module '%S'.\n", #name, szPath); \
|
||||
ERR("'%s' not found in Cicero IME module %s.\n", #name, debugstr_w(szPath)); \
|
||||
goto Failed; \
|
||||
} \
|
||||
} while(0)
|
||||
|
@ -279,7 +277,8 @@ Failed:
|
|||
return ret;
|
||||
}
|
||||
|
||||
PIMEDPI APIENTRY Imm32LoadImeDpi(HKL hKL, BOOL bLock)
|
||||
static PIMEDPI
|
||||
Imm32LoadImeDpi(HKL hKL, BOOL bLock)
|
||||
{
|
||||
IMEINFOEX ImeInfoEx;
|
||||
CHARSETINFO ci;
|
||||
|
@ -348,8 +347,7 @@ PIMEDPI APIENTRY Imm32LoadImeDpi(HKL hKL, BOOL bLock)
|
|||
}
|
||||
}
|
||||
|
||||
// Win: FindOrLoadImeDpi
|
||||
PIMEDPI APIENTRY Imm32FindOrLoadImeDpi(HKL hKL)
|
||||
PIMEDPI Imm32FindOrLoadImeDpi(HKL hKL)
|
||||
{
|
||||
PIMEDPI pImeDpi;
|
||||
|
||||
|
@ -365,7 +363,7 @@ PIMEDPI APIENTRY Imm32FindOrLoadImeDpi(HKL hKL)
|
|||
return pImeDpi;
|
||||
}
|
||||
|
||||
static LRESULT APIENTRY
|
||||
static LRESULT
|
||||
ImeDpi_Escape(PIMEDPI pImeDpi, HIMC hIMC, UINT uSubFunc, LPVOID lpData, HKL hKL)
|
||||
{
|
||||
if (IS_IME_HKL(hKL))
|
||||
|
@ -376,8 +374,8 @@ ImeDpi_Escape(PIMEDPI pImeDpi, HIMC hIMC, UINT uSubFunc, LPVOID lpData, HKL hKL)
|
|||
return 0;
|
||||
}
|
||||
|
||||
// Win: ImmUnloadIME
|
||||
BOOL APIENTRY Imm32ReleaseIME(HKL hKL)
|
||||
BOOL
|
||||
Imm32ReleaseIME(_In_ HKL hKL)
|
||||
{
|
||||
BOOL ret = TRUE;
|
||||
PIMEDPI pImeDpi0, pImeDpi1;
|
||||
|
@ -427,7 +425,8 @@ Quit:
|
|||
/***********************************************************************
|
||||
* ImmIsIME (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmIsIME(HKL hKL)
|
||||
BOOL WINAPI
|
||||
ImmIsIME(_In_ HKL hKL)
|
||||
{
|
||||
IMEINFOEX info;
|
||||
TRACE("(%p)\n", hKL);
|
||||
|
@ -437,7 +436,8 @@ BOOL WINAPI ImmIsIME(HKL hKL)
|
|||
/***********************************************************************
|
||||
* ImmGetDefaultIMEWnd (IMM32.@)
|
||||
*/
|
||||
HWND WINAPI ImmGetDefaultIMEWnd(HWND hWnd)
|
||||
HWND WINAPI
|
||||
ImmGetDefaultIMEWnd(_In_opt_ HWND hWnd)
|
||||
{
|
||||
if (!IS_IMM_MODE())
|
||||
{
|
||||
|
@ -454,7 +454,12 @@ HWND WINAPI ImmGetDefaultIMEWnd(HWND hWnd)
|
|||
/***********************************************************************
|
||||
* ImmNotifyIME (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmNotifyIME(HIMC hIMC, DWORD dwAction, DWORD dwIndex, DWORD_PTR dwValue)
|
||||
BOOL WINAPI
|
||||
ImmNotifyIME(
|
||||
_In_ HIMC hIMC,
|
||||
_In_ DWORD dwAction,
|
||||
_In_ DWORD dwIndex,
|
||||
_In_ DWORD_PTR dwValue)
|
||||
{
|
||||
HKL hKL;
|
||||
PIMEDPI pImeDpi;
|
||||
|
@ -522,7 +527,8 @@ ImmGetImeInfoEx(PIMEINFOEX pImeInfoEx, IMEINFOEXCLASS SearchType, PVOID pvSearch
|
|||
/***********************************************************************
|
||||
* ImmLockImeDpi (IMM32.@)
|
||||
*/
|
||||
PIMEDPI WINAPI ImmLockImeDpi(HKL hKL)
|
||||
PIMEDPI WINAPI
|
||||
ImmLockImeDpi(_In_ HKL hKL)
|
||||
{
|
||||
PIMEDPI pImeDpi = NULL;
|
||||
|
||||
|
@ -551,7 +557,9 @@ PIMEDPI WINAPI ImmLockImeDpi(HKL hKL)
|
|||
/***********************************************************************
|
||||
* ImmUnlockImeDpi (IMM32.@)
|
||||
*/
|
||||
VOID WINAPI ImmUnlockImeDpi(PIMEDPI pImeDpi)
|
||||
VOID WINAPI
|
||||
ImmUnlockImeDpi(
|
||||
_Inout_opt_ PIMEDPI pImeDpi)
|
||||
{
|
||||
PIMEDPI *ppEntry;
|
||||
|
||||
|
@ -599,7 +607,8 @@ VOID WINAPI ImmUnlockImeDpi(PIMEDPI pImeDpi)
|
|||
/***********************************************************************
|
||||
* ImmLoadIME (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmLoadIME(HKL hKL)
|
||||
BOOL WINAPI
|
||||
ImmLoadIME(_In_ HKL hKL)
|
||||
{
|
||||
PIMEDPI pImeDpi;
|
||||
|
||||
|
@ -618,7 +627,8 @@ BOOL WINAPI ImmLoadIME(HKL hKL)
|
|||
/***********************************************************************
|
||||
* ImmDisableIME (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmDisableIME(DWORD dwThreadId)
|
||||
BOOL WINAPI
|
||||
ImmDisableIME(_In_ DWORD dwThreadId)
|
||||
{
|
||||
return NtUserDisableThreadIme(dwThreadId);
|
||||
}
|
||||
|
@ -626,7 +636,11 @@ BOOL WINAPI ImmDisableIME(DWORD dwThreadId)
|
|||
/***********************************************************************
|
||||
* ImmGetDescriptionA (IMM32.@)
|
||||
*/
|
||||
UINT WINAPI ImmGetDescriptionA(HKL hKL, LPSTR lpszDescription, UINT uBufLen)
|
||||
UINT WINAPI
|
||||
ImmGetDescriptionA(
|
||||
_In_ HKL hKL,
|
||||
_Out_writes_opt_(uBufLen) LPSTR lpszDescription,
|
||||
_In_ UINT uBufLen)
|
||||
{
|
||||
IMEINFOEX info;
|
||||
size_t cch;
|
||||
|
@ -650,7 +664,11 @@ UINT WINAPI ImmGetDescriptionA(HKL hKL, LPSTR lpszDescription, UINT uBufLen)
|
|||
/***********************************************************************
|
||||
* ImmGetDescriptionW (IMM32.@)
|
||||
*/
|
||||
UINT WINAPI ImmGetDescriptionW(HKL hKL, LPWSTR lpszDescription, UINT uBufLen)
|
||||
UINT WINAPI
|
||||
ImmGetDescriptionW(
|
||||
_In_ HKL hKL,
|
||||
_Out_writes_opt_(uBufLen) LPWSTR lpszDescription,
|
||||
_In_ UINT uBufLen)
|
||||
{
|
||||
IMEINFOEX info;
|
||||
size_t cch;
|
||||
|
@ -673,7 +691,11 @@ UINT WINAPI ImmGetDescriptionW(HKL hKL, LPWSTR lpszDescription, UINT uBufLen)
|
|||
/***********************************************************************
|
||||
* ImmGetIMEFileNameA (IMM32.@)
|
||||
*/
|
||||
UINT WINAPI ImmGetIMEFileNameA( HKL hKL, LPSTR lpszFileName, UINT uBufLen)
|
||||
UINT WINAPI
|
||||
ImmGetIMEFileNameA(
|
||||
_In_ HKL hKL,
|
||||
_Out_writes_opt_(uBufLen) LPSTR lpszFileName,
|
||||
_In_ UINT uBufLen)
|
||||
{
|
||||
BOOL bDefUsed;
|
||||
IMEINFOEX info;
|
||||
|
@ -706,7 +728,11 @@ UINT WINAPI ImmGetIMEFileNameA( HKL hKL, LPSTR lpszFileName, UINT uBufLen)
|
|||
/***********************************************************************
|
||||
* ImmGetIMEFileNameW (IMM32.@)
|
||||
*/
|
||||
UINT WINAPI ImmGetIMEFileNameW(HKL hKL, LPWSTR lpszFileName, UINT uBufLen)
|
||||
UINT WINAPI
|
||||
ImmGetIMEFileNameW(
|
||||
_In_ HKL hKL,
|
||||
_Out_writes_opt_(uBufLen) LPWSTR lpszFileName,
|
||||
_In_ UINT uBufLen)
|
||||
{
|
||||
IMEINFOEX info;
|
||||
size_t cch;
|
||||
|
@ -737,7 +763,10 @@ UINT WINAPI ImmGetIMEFileNameW(HKL hKL, LPWSTR lpszFileName, UINT uBufLen)
|
|||
/***********************************************************************
|
||||
* ImmGetProperty (IMM32.@)
|
||||
*/
|
||||
DWORD WINAPI ImmGetProperty(HKL hKL, DWORD fdwIndex)
|
||||
DWORD WINAPI
|
||||
ImmGetProperty(
|
||||
_In_ HKL hKL,
|
||||
_In_ DWORD fdwIndex)
|
||||
{
|
||||
IMEINFOEX ImeInfoEx;
|
||||
LPIMEINFO pImeInfo;
|
||||
|
@ -787,7 +816,12 @@ DWORD WINAPI ImmGetProperty(HKL hKL, DWORD fdwIndex)
|
|||
/***********************************************************************
|
||||
* ImmEscapeA (IMM32.@)
|
||||
*/
|
||||
LRESULT WINAPI ImmEscapeA(HKL hKL, HIMC hIMC, UINT uSubFunc, LPVOID lpData)
|
||||
LRESULT WINAPI
|
||||
ImmEscapeA(
|
||||
_In_ HKL hKL,
|
||||
_In_ HIMC hIMC,
|
||||
_In_ UINT uSubFunc,
|
||||
_Inout_opt_ LPVOID lpData)
|
||||
{
|
||||
LRESULT ret;
|
||||
PIMEDPI pImeDpi;
|
||||
|
@ -875,7 +909,12 @@ LRESULT WINAPI ImmEscapeA(HKL hKL, HIMC hIMC, UINT uSubFunc, LPVOID lpData)
|
|||
/***********************************************************************
|
||||
* ImmEscapeW (IMM32.@)
|
||||
*/
|
||||
LRESULT WINAPI ImmEscapeW(HKL hKL, HIMC hIMC, UINT uSubFunc, LPVOID lpData)
|
||||
LRESULT WINAPI
|
||||
ImmEscapeW(
|
||||
_In_ HKL hKL,
|
||||
_In_ HIMC hIMC,
|
||||
_In_ UINT uSubFunc,
|
||||
_Inout_opt_ LPVOID lpData)
|
||||
{
|
||||
LRESULT ret;
|
||||
PIMEDPI pImeDpi;
|
||||
|
@ -953,7 +992,8 @@ LRESULT WINAPI ImmEscapeW(HKL hKL, HIMC hIMC, UINT uSubFunc, LPVOID lpData)
|
|||
/***********************************************************************
|
||||
* ImmGetOpenStatus (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmGetOpenStatus(HIMC hIMC)
|
||||
BOOL WINAPI
|
||||
ImmGetOpenStatus(_In_ HIMC hIMC)
|
||||
{
|
||||
BOOL ret;
|
||||
LPINPUTCONTEXT pIC;
|
||||
|
@ -976,7 +1016,10 @@ BOOL WINAPI ImmGetOpenStatus(HIMC hIMC)
|
|||
/***********************************************************************
|
||||
* ImmSetOpenStatus (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmSetOpenStatus(HIMC hIMC, BOOL fOpen)
|
||||
BOOL WINAPI
|
||||
ImmSetOpenStatus(
|
||||
_In_ HIMC hIMC,
|
||||
_In_ BOOL fOpen)
|
||||
{
|
||||
DWORD dwConversion;
|
||||
LPINPUTCONTEXT pIC;
|
||||
|
@ -1019,7 +1062,10 @@ BOOL WINAPI ImmSetOpenStatus(HIMC hIMC, BOOL fOpen)
|
|||
/***********************************************************************
|
||||
* ImmGetStatusWindowPos (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmGetStatusWindowPos(HIMC hIMC, LPPOINT lpptPos)
|
||||
BOOL WINAPI
|
||||
ImmGetStatusWindowPos(
|
||||
_In_ HIMC hIMC,
|
||||
_Out_ LPPOINT lpptPos)
|
||||
{
|
||||
LPINPUTCONTEXT pIC;
|
||||
BOOL ret;
|
||||
|
@ -1041,7 +1087,10 @@ BOOL WINAPI ImmGetStatusWindowPos(HIMC hIMC, LPPOINT lpptPos)
|
|||
/***********************************************************************
|
||||
* ImmSetStatusWindowPos (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmSetStatusWindowPos(HIMC hIMC, LPPOINT lpptPos)
|
||||
BOOL WINAPI
|
||||
ImmSetStatusWindowPos(
|
||||
_In_ HIMC hIMC,
|
||||
_In_ LPPOINT lpptPos)
|
||||
{
|
||||
LPINPUTCONTEXT pIC;
|
||||
HWND hWnd;
|
||||
|
@ -1069,7 +1118,10 @@ BOOL WINAPI ImmSetStatusWindowPos(HIMC hIMC, LPPOINT lpptPos)
|
|||
/***********************************************************************
|
||||
* ImmGetCompositionWindow (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmGetCompositionWindow(HIMC hIMC, LPCOMPOSITIONFORM lpCompForm)
|
||||
BOOL WINAPI
|
||||
ImmGetCompositionWindow(
|
||||
_In_ HIMC hIMC,
|
||||
_Out_ LPCOMPOSITIONFORM lpCompForm)
|
||||
{
|
||||
LPINPUTCONTEXT pIC;
|
||||
BOOL ret = FALSE;
|
||||
|
@ -1093,7 +1145,10 @@ BOOL WINAPI ImmGetCompositionWindow(HIMC hIMC, LPCOMPOSITIONFORM lpCompForm)
|
|||
/***********************************************************************
|
||||
* ImmSetCompositionWindow (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmSetCompositionWindow(HIMC hIMC, LPCOMPOSITIONFORM lpCompForm)
|
||||
BOOL WINAPI
|
||||
ImmSetCompositionWindow(
|
||||
_In_ HIMC hIMC,
|
||||
_In_ LPCOMPOSITIONFORM lpCompForm)
|
||||
{
|
||||
LPINPUTCONTEXTDX pIC;
|
||||
HWND hWnd;
|
||||
|
@ -1125,7 +1180,10 @@ BOOL WINAPI ImmSetCompositionWindow(HIMC hIMC, LPCOMPOSITIONFORM lpCompForm)
|
|||
/***********************************************************************
|
||||
* ImmGetCompositionFontA (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmGetCompositionFontA(HIMC hIMC, LPLOGFONTA lplf)
|
||||
BOOL WINAPI
|
||||
ImmGetCompositionFontA(
|
||||
_In_ HIMC hIMC,
|
||||
_Out_ LPLOGFONTA lplf)
|
||||
{
|
||||
PCLIENTIMC pClientImc;
|
||||
BOOL ret = FALSE, bWide;
|
||||
|
@ -1161,7 +1219,10 @@ BOOL WINAPI ImmGetCompositionFontA(HIMC hIMC, LPLOGFONTA lplf)
|
|||
/***********************************************************************
|
||||
* ImmGetCompositionFontW (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmGetCompositionFontW(HIMC hIMC, LPLOGFONTW lplf)
|
||||
BOOL WINAPI
|
||||
ImmGetCompositionFontW(
|
||||
_In_ HIMC hIMC,
|
||||
_Out_ LPLOGFONTW lplf)
|
||||
{
|
||||
PCLIENTIMC pClientImc;
|
||||
BOOL bWide;
|
||||
|
@ -1198,7 +1259,10 @@ BOOL WINAPI ImmGetCompositionFontW(HIMC hIMC, LPLOGFONTW lplf)
|
|||
/***********************************************************************
|
||||
* ImmSetCompositionFontA (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmSetCompositionFontA(HIMC hIMC, LPLOGFONTA lplf)
|
||||
BOOL WINAPI
|
||||
ImmSetCompositionFontA(
|
||||
_In_ HIMC hIMC,
|
||||
_In_ LPLOGFONTA lplf)
|
||||
{
|
||||
LOGFONTW lfW;
|
||||
PCLIENTIMC pClientImc;
|
||||
|
@ -1254,7 +1318,10 @@ BOOL WINAPI ImmSetCompositionFontA(HIMC hIMC, LPLOGFONTA lplf)
|
|||
/***********************************************************************
|
||||
* ImmSetCompositionFontW (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmSetCompositionFontW(HIMC hIMC, LPLOGFONTW lplf)
|
||||
BOOL WINAPI
|
||||
ImmSetCompositionFontW(
|
||||
_In_ HIMC hIMC,
|
||||
_In_ LPLOGFONTW lplf)
|
||||
{
|
||||
LOGFONTA lfA;
|
||||
PCLIENTIMC pClientImc;
|
||||
|
@ -1311,8 +1378,13 @@ BOOL WINAPI ImmSetCompositionFontW(HIMC hIMC, LPLOGFONTW lplf)
|
|||
* ImmGetConversionListA (IMM32.@)
|
||||
*/
|
||||
DWORD WINAPI
|
||||
ImmGetConversionListA(HKL hKL, HIMC hIMC, LPCSTR pSrc, LPCANDIDATELIST lpDst,
|
||||
DWORD dwBufLen, UINT uFlag)
|
||||
ImmGetConversionListA(
|
||||
_In_ HKL hKL,
|
||||
_In_ HIMC hIMC,
|
||||
_In_ LPCSTR pSrc,
|
||||
_Out_writes_bytes_(dwBufLen) LPCANDIDATELIST lpDst,
|
||||
_In_ DWORD dwBufLen,
|
||||
_In_ UINT uFlag)
|
||||
{
|
||||
DWORD ret = 0;
|
||||
UINT cb;
|
||||
|
@ -1320,7 +1392,7 @@ ImmGetConversionListA(HKL hKL, HIMC hIMC, LPCSTR pSrc, LPCANDIDATELIST lpDst,
|
|||
LPCANDIDATELIST pCL = NULL;
|
||||
PIMEDPI pImeDpi;
|
||||
|
||||
TRACE("(%p, %p, %s, %p, %lu, 0x%lX)\n", hKL, hIMC, pSrc, lpDst, dwBufLen, uFlag);
|
||||
TRACE("(%p, %p, %s, %p, %lu, 0x%lX)\n", hKL, hIMC, debugstr_a(pSrc), lpDst, dwBufLen, uFlag);
|
||||
|
||||
pImeDpi = Imm32FindOrLoadImeDpi(hKL);
|
||||
if (IS_NULL_UNEXPECTEDLY(pImeDpi))
|
||||
|
@ -1366,8 +1438,13 @@ Quit:
|
|||
* ImmGetConversionListW (IMM32.@)
|
||||
*/
|
||||
DWORD WINAPI
|
||||
ImmGetConversionListW(HKL hKL, HIMC hIMC, LPCWSTR pSrc, LPCANDIDATELIST lpDst,
|
||||
DWORD dwBufLen, UINT uFlag)
|
||||
ImmGetConversionListW(
|
||||
_In_ HKL hKL,
|
||||
_In_ HIMC hIMC,
|
||||
_In_ LPCWSTR pSrc,
|
||||
_Out_writes_bytes_(dwBufLen) LPCANDIDATELIST lpDst,
|
||||
_In_ DWORD dwBufLen,
|
||||
_In_ UINT uFlag)
|
||||
{
|
||||
DWORD ret = 0;
|
||||
INT cb;
|
||||
|
@ -1375,7 +1452,7 @@ ImmGetConversionListW(HKL hKL, HIMC hIMC, LPCWSTR pSrc, LPCANDIDATELIST lpDst,
|
|||
LPCANDIDATELIST pCL = NULL;
|
||||
LPSTR pszSrcA = NULL;
|
||||
|
||||
TRACE("(%p, %p, %S, %p, %lu, 0x%lX)\n", hKL, hIMC, pSrc, lpDst, dwBufLen, uFlag);
|
||||
TRACE("(%p, %p, %s, %p, %lu, 0x%lX)\n", hKL, hIMC, debugstr_w(pSrc), lpDst, dwBufLen, uFlag);
|
||||
|
||||
pImeDpi = Imm32FindOrLoadImeDpi(hKL);
|
||||
if (IS_NULL_UNEXPECTEDLY(pImeDpi))
|
||||
|
@ -1420,7 +1497,11 @@ Quit:
|
|||
/***********************************************************************
|
||||
* ImmGetConversionStatus (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmGetConversionStatus(HIMC hIMC, LPDWORD lpfdwConversion, LPDWORD lpfdwSentence)
|
||||
BOOL WINAPI
|
||||
ImmGetConversionStatus(
|
||||
_In_ HIMC hIMC,
|
||||
_Out_opt_ LPDWORD lpfdwConversion,
|
||||
_Out_opt_ LPDWORD lpfdwSentence)
|
||||
{
|
||||
LPINPUTCONTEXT pIC;
|
||||
|
||||
|
@ -1449,7 +1530,11 @@ BOOL WINAPI ImmGetConversionStatus(HIMC hIMC, LPDWORD lpfdwConversion, LPDWORD l
|
|||
/***********************************************************************
|
||||
* ImmSetConversionStatus (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmSetConversionStatus(HIMC hIMC, DWORD fdwConversion, DWORD fdwSentence)
|
||||
BOOL WINAPI
|
||||
ImmSetConversionStatus(
|
||||
_In_ HIMC hIMC,
|
||||
_In_ DWORD fdwConversion,
|
||||
_In_ DWORD fdwSentence)
|
||||
{
|
||||
HKL hKL;
|
||||
LPINPUTCONTEXT pIC;
|
||||
|
@ -1508,7 +1593,12 @@ BOOL WINAPI ImmSetConversionStatus(HIMC hIMC, DWORD fdwConversion, DWORD fdwSent
|
|||
/***********************************************************************
|
||||
* ImmConfigureIMEA (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmConfigureIMEA(HKL hKL, HWND hWnd, DWORD dwMode, LPVOID lpData)
|
||||
BOOL WINAPI
|
||||
ImmConfigureIMEA(
|
||||
_In_ HKL hKL,
|
||||
_In_ HWND hWnd,
|
||||
_In_ DWORD dwMode,
|
||||
_Inout_opt_ LPVOID lpData)
|
||||
{
|
||||
BOOL ret = FALSE;
|
||||
PIMEDPI pImeDpi;
|
||||
|
@ -1563,7 +1653,12 @@ Quit:
|
|||
/***********************************************************************
|
||||
* ImmConfigureIMEW (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmConfigureIMEW(HKL hKL, HWND hWnd, DWORD dwMode, LPVOID lpData)
|
||||
BOOL WINAPI
|
||||
ImmConfigureIMEW(
|
||||
_In_ HKL hKL,
|
||||
_In_ HWND hWnd,
|
||||
_In_ DWORD dwMode,
|
||||
_Inout_opt_ LPVOID lpData)
|
||||
{
|
||||
BOOL ret = FALSE;
|
||||
PIMEDPI pImeDpi;
|
||||
|
@ -1618,7 +1713,10 @@ Quit:
|
|||
/***********************************************************************
|
||||
* ImmWINNLSEnableIME (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmWINNLSEnableIME(HWND hWnd, BOOL enable)
|
||||
BOOL WINAPI
|
||||
ImmWINNLSEnableIME(
|
||||
_In_opt_ HWND hWnd,
|
||||
_In_ BOOL enable)
|
||||
{
|
||||
HIMC hIMC;
|
||||
PCLIENTIMC pClientImc;
|
||||
|
|
|
@ -20,7 +20,7 @@ SHAREDINFO gSharedInfo = { NULL };
|
|||
BYTE gfImmInitialized = FALSE; /* Is IMM32 initialized? */
|
||||
ULONG_PTR gHighestUserAddress = 0;
|
||||
|
||||
static BOOL APIENTRY ImmInitializeGlobals(HMODULE hMod)
|
||||
static BOOL ImmInitializeGlobals(HMODULE hMod)
|
||||
{
|
||||
NTSTATUS status;
|
||||
SYSTEM_BASIC_INFORMATION SysInfo;
|
||||
|
@ -67,7 +67,10 @@ ImmRegisterClient(
|
|||
/***********************************************************************
|
||||
* ImmLoadLayout (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmLoadLayout(HKL hKL, PIMEINFOEX pImeInfoEx)
|
||||
BOOL WINAPI
|
||||
ImmLoadLayout(
|
||||
_In_ HKL hKL,
|
||||
_Inout_ PIMEINFOEX pImeInfoEx)
|
||||
{
|
||||
DWORD cbData, dwType;
|
||||
HKEY hKey;
|
||||
|
@ -117,7 +120,8 @@ BOOL WINAPI ImmLoadLayout(HKL hKL, PIMEINFOEX pImeInfoEx)
|
|||
*
|
||||
* NOTE: HKL_SWITCH_TO_NON_IME and HKL_RELEASE_IME are special values for hKL.
|
||||
*/
|
||||
BOOL WINAPI ImmFreeLayout(HKL hKL)
|
||||
BOOL WINAPI
|
||||
ImmFreeLayout(_In_ HKL hKL)
|
||||
{
|
||||
WCHAR szKBD[KL_NAMELENGTH];
|
||||
UINT iKL, cKLs;
|
||||
|
@ -183,7 +187,8 @@ Retry:
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
VOID APIENTRY Imm32SelectInputContext(HKL hNewKL, HKL hOldKL, HIMC hIMC)
|
||||
static VOID
|
||||
Imm32SelectInputContext(HKL hNewKL, HKL hOldKL, HIMC hIMC)
|
||||
{
|
||||
PCLIENTIMC pClientImc;
|
||||
LPINPUTCONTEXTDX pIC;
|
||||
|
@ -425,7 +430,6 @@ typedef struct SELECT_LAYOUT
|
|||
HKL hOldKL;
|
||||
} SELECT_LAYOUT, *LPSELECT_LAYOUT;
|
||||
|
||||
// Win: SelectContextProc
|
||||
static BOOL CALLBACK Imm32SelectContextProc(HIMC hIMC, LPARAM lParam)
|
||||
{
|
||||
LPSELECT_LAYOUT pSelect = (LPSELECT_LAYOUT)lParam;
|
||||
|
@ -433,7 +437,6 @@ static BOOL CALLBACK Imm32SelectContextProc(HIMC hIMC, LPARAM lParam)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
// Win: NotifyIMEProc
|
||||
static BOOL CALLBACK Imm32NotifyIMEProc(HIMC hIMC, LPARAM lParam)
|
||||
{
|
||||
ImmNotifyIME(hIMC, NI_COMPOSITIONSTR, (DWORD)lParam, 0);
|
||||
|
@ -443,7 +446,8 @@ static BOOL CALLBACK Imm32NotifyIMEProc(HIMC hIMC, LPARAM lParam)
|
|||
/***********************************************************************
|
||||
* ImmActivateLayout (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmActivateLayout(HKL hKL)
|
||||
BOOL WINAPI
|
||||
ImmActivateLayout(_In_ HKL hKL)
|
||||
{
|
||||
PIMEDPI pImeDpi;
|
||||
HKL hOldKL;
|
||||
|
@ -492,7 +496,10 @@ BOOL WINAPI ImmActivateLayout(HKL hKL)
|
|||
/***********************************************************************
|
||||
* ImmAssociateContext (IMM32.@)
|
||||
*/
|
||||
HIMC WINAPI ImmAssociateContext(HWND hWnd, HIMC hIMC)
|
||||
HIMC WINAPI
|
||||
ImmAssociateContext(
|
||||
_In_ HWND hWnd,
|
||||
_In_opt_ HIMC hIMC)
|
||||
{
|
||||
PWND pWnd;
|
||||
HWND hwndFocus;
|
||||
|
@ -541,7 +548,11 @@ HIMC WINAPI ImmAssociateContext(HWND hWnd, HIMC hIMC)
|
|||
/***********************************************************************
|
||||
* ImmAssociateContextEx (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmAssociateContextEx(HWND hWnd, HIMC hIMC, DWORD dwFlags)
|
||||
BOOL WINAPI
|
||||
ImmAssociateContextEx(
|
||||
_In_ HWND hWnd,
|
||||
_In_opt_ HIMC hIMC,
|
||||
_In_ DWORD dwFlags)
|
||||
{
|
||||
HWND hwndFocus;
|
||||
PWND pFocusWnd;
|
||||
|
@ -591,7 +602,8 @@ BOOL WINAPI ImmAssociateContextEx(HWND hWnd, HIMC hIMC, DWORD dwFlags)
|
|||
/***********************************************************************
|
||||
* ImmCreateContext (IMM32.@)
|
||||
*/
|
||||
HIMC WINAPI ImmCreateContext(void)
|
||||
HIMC WINAPI
|
||||
ImmCreateContext(VOID)
|
||||
{
|
||||
PCLIENTIMC pClientImc;
|
||||
HIMC hIMC;
|
||||
|
@ -622,8 +634,8 @@ HIMC WINAPI ImmCreateContext(void)
|
|||
return hIMC;
|
||||
}
|
||||
|
||||
// Win: DestroyImeModeSaver
|
||||
static VOID APIENTRY Imm32DestroyImeModeSaver(LPINPUTCONTEXTDX pIC)
|
||||
static VOID
|
||||
Imm32DestroyImeModeSaver(LPINPUTCONTEXTDX pIC)
|
||||
{
|
||||
PIME_STATE pState, pNext;
|
||||
PIME_SUBSTATE pSubState, pSubNext;
|
||||
|
@ -644,8 +656,8 @@ static VOID APIENTRY Imm32DestroyImeModeSaver(LPINPUTCONTEXTDX pIC)
|
|||
pIC->pState = NULL;
|
||||
}
|
||||
|
||||
// Win: DestroyInputContext
|
||||
BOOL APIENTRY Imm32DestroyInputContext(HIMC hIMC, HKL hKL, BOOL bKeep)
|
||||
static BOOL
|
||||
Imm32DestroyInputContext(HIMC hIMC, HKL hKL, BOOL bKeep)
|
||||
{
|
||||
PIMEDPI pImeDpi;
|
||||
LPINPUTCONTEXTDX pIC;
|
||||
|
@ -736,8 +748,7 @@ Finish:
|
|||
}
|
||||
|
||||
// NOTE: Windows does recursive call ImmLockIMC here but we don't do so.
|
||||
// Win: BOOL CreateInputContext(HIMC hIMC, HKL hKL, BOOL fSelect)
|
||||
BOOL APIENTRY
|
||||
static BOOL
|
||||
Imm32CreateInputContext(HIMC hIMC, LPINPUTCONTEXT pIC, PCLIENTIMC pClientImc, HKL hKL, BOOL fSelect)
|
||||
{
|
||||
DWORD dwIndex, cbPrivate;
|
||||
|
@ -838,7 +849,7 @@ Fail:
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
LPINPUTCONTEXT APIENTRY Imm32InternalLockIMC(HIMC hIMC, BOOL fSelect)
|
||||
LPINPUTCONTEXT Imm32InternalLockIMC(HIMC hIMC, BOOL fSelect)
|
||||
{
|
||||
HANDLE hIC;
|
||||
LPINPUTCONTEXT pIC = NULL;
|
||||
|
@ -916,7 +927,8 @@ Failure:
|
|||
/***********************************************************************
|
||||
* ImmDestroyContext (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmDestroyContext(HIMC hIMC)
|
||||
BOOL WINAPI
|
||||
ImmDestroyContext(_In_ HIMC hIMC)
|
||||
{
|
||||
HKL hKL;
|
||||
|
||||
|
@ -938,7 +950,8 @@ BOOL WINAPI ImmDestroyContext(HIMC hIMC)
|
|||
/***********************************************************************
|
||||
* ImmLockClientImc (IMM32.@)
|
||||
*/
|
||||
PCLIENTIMC WINAPI ImmLockClientImc(HIMC hImc)
|
||||
PCLIENTIMC WINAPI
|
||||
ImmLockClientImc(_In_ HIMC hImc)
|
||||
{
|
||||
PIMC pIMC;
|
||||
PCLIENTIMC pClientImc;
|
||||
|
@ -984,7 +997,8 @@ Finish:
|
|||
/***********************************************************************
|
||||
* ImmUnlockClientImc (IMM32.@)
|
||||
*/
|
||||
VOID WINAPI ImmUnlockClientImc(PCLIENTIMC pClientImc)
|
||||
VOID WINAPI
|
||||
ImmUnlockClientImc(_Inout_ PCLIENTIMC pClientImc)
|
||||
{
|
||||
LONG cLocks;
|
||||
HANDLE hInputContext;
|
||||
|
@ -1047,7 +1061,8 @@ Quit:
|
|||
/***********************************************************************
|
||||
* ImmGetContext (IMM32.@)
|
||||
*/
|
||||
HIMC WINAPI ImmGetContext(HWND hWnd)
|
||||
HIMC WINAPI
|
||||
ImmGetContext(_In_ HWND hWnd)
|
||||
{
|
||||
TRACE("(%p)\n", hWnd);
|
||||
if (IS_NULL_UNEXPECTEDLY(hWnd))
|
||||
|
@ -1060,7 +1075,8 @@ HIMC WINAPI ImmGetContext(HWND hWnd)
|
|||
*
|
||||
* NOTE: This is not ImmLockIMCC. Don't confuse.
|
||||
*/
|
||||
LPINPUTCONTEXT WINAPI ImmLockIMC(HIMC hIMC)
|
||||
LPINPUTCONTEXT WINAPI
|
||||
ImmLockIMC(_In_ HIMC hIMC)
|
||||
{
|
||||
TRACE("(%p)\n", hIMC);
|
||||
return Imm32InternalLockIMC(hIMC, TRUE);
|
||||
|
@ -1069,7 +1085,8 @@ LPINPUTCONTEXT WINAPI ImmLockIMC(HIMC hIMC)
|
|||
/***********************************************************************
|
||||
* ImmUnlockIMC(IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmUnlockIMC(HIMC hIMC)
|
||||
BOOL WINAPI
|
||||
ImmUnlockIMC(_In_ HIMC hIMC)
|
||||
{
|
||||
PCLIENTIMC pClientImc;
|
||||
|
||||
|
@ -1088,7 +1105,10 @@ BOOL WINAPI ImmUnlockIMC(HIMC hIMC)
|
|||
/***********************************************************************
|
||||
* ImmReleaseContext (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmReleaseContext(HWND hWnd, HIMC hIMC)
|
||||
BOOL WINAPI
|
||||
ImmReleaseContext(
|
||||
_In_ HWND hWnd,
|
||||
_In_ HIMC hIMC)
|
||||
{
|
||||
TRACE("(%p, %p)\n", hWnd, hIMC);
|
||||
UNREFERENCED_PARAMETER(hWnd);
|
||||
|
@ -1099,7 +1119,11 @@ BOOL WINAPI ImmReleaseContext(HWND hWnd, HIMC hIMC)
|
|||
/***********************************************************************
|
||||
* ImmEnumInputContext(IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmEnumInputContext(DWORD dwThreadId, IMCENUMPROC lpfn, LPARAM lParam)
|
||||
BOOL WINAPI
|
||||
ImmEnumInputContext(
|
||||
_In_ DWORD dwThreadId,
|
||||
_In_ IMCENUMPROC lpfn,
|
||||
_In_ LPARAM lParam)
|
||||
{
|
||||
HIMC *phList;
|
||||
DWORD dwIndex, dwCount;
|
||||
|
@ -1127,7 +1151,11 @@ BOOL WINAPI ImmEnumInputContext(DWORD dwThreadId, IMCENUMPROC lpfn, LPARAM lPara
|
|||
/***********************************************************************
|
||||
* ImmSetActiveContext(IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmSetActiveContext(HWND hWnd, HIMC hIMC, BOOL fActive)
|
||||
BOOL WINAPI
|
||||
ImmSetActiveContext(
|
||||
_In_ HWND hWnd,
|
||||
_In_opt_ HIMC hIMC,
|
||||
_In_ BOOL fActive)
|
||||
{
|
||||
PCLIENTIMC pClientImc;
|
||||
LPINPUTCONTEXTDX pIC;
|
||||
|
@ -1277,7 +1305,7 @@ UINT WINAPI GetKeyboardLayoutCP(_In_ LANGID wLangId)
|
|||
}
|
||||
|
||||
#ifndef NDEBUG
|
||||
VOID APIENTRY Imm32UnitTest(VOID)
|
||||
VOID Imm32UnitTest(VOID)
|
||||
{
|
||||
if (0)
|
||||
{
|
||||
|
|
|
@ -14,8 +14,8 @@
|
|||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(imm);
|
||||
|
||||
/* Win: IMENonIMEToggle */
|
||||
BOOL APIENTRY Imm32ImeNonImeToggle(HIMC hIMC, HKL hKL, HWND hWnd, BOOL bNowIME, LANGID LangID)
|
||||
static BOOL
|
||||
Imm32ImeNonImeToggle(HIMC hIMC, HKL hKL, HWND hWnd, BOOL bNowIME, LANGID LangID)
|
||||
{
|
||||
HKL hOldKL, LayoutList[32], hFoundKL = NULL;
|
||||
UINT iLayout, nLayoutCount;
|
||||
|
@ -64,8 +64,8 @@ BOOL APIENTRY Imm32ImeNonImeToggle(HIMC hIMC, HKL hKL, HWND hWnd, BOOL bNowIME,
|
|||
}
|
||||
|
||||
/* Open or close the IME on Chinese or Taiwanese */
|
||||
/* Win: CIMENonIMEToggle */
|
||||
BOOL APIENTRY Imm32CImeNonImeToggle(HIMC hIMC, HKL hKL, HWND hWnd, LANGID LangID)
|
||||
static BOOL
|
||||
Imm32CImeNonImeToggle(HIMC hIMC, HKL hKL, HWND hWnd, LANGID LangID)
|
||||
{
|
||||
LPINPUTCONTEXT pIC;
|
||||
BOOL fOpen;
|
||||
|
@ -95,8 +95,8 @@ BOOL APIENTRY Imm32CImeNonImeToggle(HIMC hIMC, HKL hKL, HWND hWnd, LANGID LangID
|
|||
}
|
||||
|
||||
/* Toggle shape mode on Chinese or Taiwanese */
|
||||
/* Win: TShapeToggle */
|
||||
BOOL APIENTRY Imm32CShapeToggle(HIMC hIMC, HKL hKL, HWND hWnd)
|
||||
static BOOL
|
||||
Imm32CShapeToggle(HIMC hIMC, HKL hKL, HWND hWnd)
|
||||
{
|
||||
LPINPUTCONTEXT pIC;
|
||||
BOOL fOpen;
|
||||
|
@ -126,8 +126,8 @@ BOOL APIENTRY Imm32CShapeToggle(HIMC hIMC, HKL hKL, HWND hWnd)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
/* Win: CSymbolToggle */
|
||||
BOOL APIENTRY Imm32CSymbolToggle(HIMC hIMC, HKL hKL, HWND hWnd)
|
||||
static BOOL
|
||||
Imm32CSymbolToggle(HIMC hIMC, HKL hKL, HWND hWnd)
|
||||
{
|
||||
LPINPUTCONTEXT pIC;
|
||||
BOOL fOpen;
|
||||
|
@ -158,7 +158,8 @@ BOOL APIENTRY Imm32CSymbolToggle(HIMC hIMC, HKL hKL, HWND hWnd)
|
|||
}
|
||||
|
||||
/* Open or close Japanese IME */
|
||||
BOOL APIENTRY Imm32JCloseOpen(HIMC hIMC, HKL hKL, HWND hWnd)
|
||||
static BOOL
|
||||
Imm32JCloseOpen(HIMC hIMC, HKL hKL, HWND hWnd)
|
||||
{
|
||||
BOOL fOpen;
|
||||
LPINPUTCONTEXTDX pIC;
|
||||
|
@ -184,8 +185,8 @@ BOOL APIENTRY Imm32JCloseOpen(HIMC hIMC, HKL hKL, HWND hWnd)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
/* Win: KShapeToggle */
|
||||
BOOL APIENTRY Imm32KShapeToggle(HIMC hIMC)
|
||||
static BOOL
|
||||
Imm32KShapeToggle(HIMC hIMC)
|
||||
{
|
||||
LPINPUTCONTEXT pIC;
|
||||
DWORD dwConversion, dwSentence;
|
||||
|
@ -207,8 +208,8 @@ BOOL APIENTRY Imm32KShapeToggle(HIMC hIMC)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
/* Win: KHanjaConvert */
|
||||
BOOL APIENTRY Imm32KHanjaConvert(HIMC hIMC)
|
||||
static BOOL
|
||||
Imm32KHanjaConvert(HIMC hIMC)
|
||||
{
|
||||
LPINPUTCONTEXT pIC;
|
||||
DWORD dwConversion, dwSentence;
|
||||
|
@ -225,8 +226,8 @@ BOOL APIENTRY Imm32KHanjaConvert(HIMC hIMC)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
/* Win: KEnglishHangul */
|
||||
BOOL APIENTRY Imm32KEnglish(HIMC hIMC)
|
||||
static BOOL
|
||||
Imm32KEnglish(HIMC hIMC)
|
||||
{
|
||||
LPINPUTCONTEXT pIC;
|
||||
DWORD dwConversion, dwSentence;
|
||||
|
@ -247,8 +248,8 @@ BOOL APIENTRY Imm32KEnglish(HIMC hIMC)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
/* Win: HotKeyIDDispatcher */
|
||||
BOOL APIENTRY Imm32ProcessHotKey(HWND hWnd, HIMC hIMC, HKL hKL, DWORD dwHotKeyID)
|
||||
static BOOL
|
||||
Imm32ProcessHotKey(HWND hWnd, HIMC hIMC, HKL hKL, DWORD dwHotKeyID)
|
||||
{
|
||||
PIMEDPI pImeDpi;
|
||||
BOOL ret;
|
||||
|
@ -305,9 +306,13 @@ BOOL APIENTRY Imm32ProcessHotKey(HWND hWnd, HIMC hIMC, HKL hKL, DWORD dwHotKeyID
|
|||
return ret;
|
||||
}
|
||||
|
||||
/* Win: ImmIsUIMessageWorker */
|
||||
static BOOL APIENTRY
|
||||
ImmIsUIMessageAW(HWND hWndIME, UINT msg, WPARAM wParam, LPARAM lParam, BOOL bAnsi)
|
||||
static BOOL
|
||||
ImmIsUIMessageAW(
|
||||
_In_opt_ HWND hWndIME,
|
||||
_In_ UINT msg,
|
||||
_In_ WPARAM wParam,
|
||||
_In_ LPARAM lParam,
|
||||
_In_ BOOL bAnsi)
|
||||
{
|
||||
switch (msg)
|
||||
{
|
||||
|
@ -364,12 +369,12 @@ Quit:
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL APIENTRY Imm32SendNotification(BOOL bProcess)
|
||||
BOOL Imm32SendNotification(BOOL bProcess)
|
||||
{
|
||||
return ImmEnumInputContext((bProcess ? -1 : 0), Imm32SendNotificationProc, 0);
|
||||
}
|
||||
|
||||
LRESULT APIENTRY
|
||||
static LRESULT
|
||||
Imm32ProcessRequest(HIMC hIMC, PWND pWnd, DWORD dwCommand, LPVOID pData, BOOL bAnsiAPI)
|
||||
{
|
||||
HWND hWnd;
|
||||
|
@ -578,8 +583,12 @@ Quit:
|
|||
return ret;
|
||||
}
|
||||
|
||||
/* Win: ImmRequestMessageWorker */
|
||||
LRESULT APIENTRY ImmRequestMessageAW(HIMC hIMC, WPARAM wParam, LPARAM lParam, BOOL bAnsi)
|
||||
static LRESULT
|
||||
ImmRequestMessageAW(
|
||||
_In_ HIMC hIMC,
|
||||
_In_ WPARAM wParam,
|
||||
_In_ LPARAM lParam,
|
||||
_In_ BOOL bAnsi)
|
||||
{
|
||||
LRESULT ret = 0;
|
||||
LPINPUTCONTEXT pIC;
|
||||
|
@ -607,7 +616,12 @@ LRESULT APIENTRY ImmRequestMessageAW(HIMC hIMC, WPARAM wParam, LPARAM lParam, BO
|
|||
/***********************************************************************
|
||||
* ImmIsUIMessageA (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmIsUIMessageA(HWND hWndIME, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||
BOOL WINAPI
|
||||
ImmIsUIMessageA(
|
||||
_In_opt_ HWND hWndIME,
|
||||
_In_ UINT msg,
|
||||
_In_ WPARAM wParam,
|
||||
_In_ LPARAM lParam)
|
||||
{
|
||||
TRACE("(%p, 0x%X, %p, %p)\n", hWndIME, msg, wParam, lParam);
|
||||
return ImmIsUIMessageAW(hWndIME, msg, wParam, lParam, TRUE);
|
||||
|
@ -616,7 +630,12 @@ BOOL WINAPI ImmIsUIMessageA(HWND hWndIME, UINT msg, WPARAM wParam, LPARAM lParam
|
|||
/***********************************************************************
|
||||
* ImmIsUIMessageW (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmIsUIMessageW(HWND hWndIME, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||
BOOL WINAPI
|
||||
ImmIsUIMessageW(
|
||||
_In_opt_ HWND hWndIME,
|
||||
_In_ UINT msg,
|
||||
_In_ WPARAM wParam,
|
||||
_In_ LPARAM lParam)
|
||||
{
|
||||
TRACE("(%p, 0x%X, %p, %p)\n", hWndIME, msg, wParam, lParam);
|
||||
return ImmIsUIMessageAW(hWndIME, msg, wParam, lParam, FALSE);
|
||||
|
@ -626,8 +645,11 @@ BOOL WINAPI ImmIsUIMessageW(HWND hWndIME, UINT msg, WPARAM wParam, LPARAM lParam
|
|||
* ImmGetHotKey(IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI
|
||||
ImmGetHotKey(IN DWORD dwHotKey, OUT LPUINT lpuModifiers, OUT LPUINT lpuVKey,
|
||||
OUT LPHKL lphKL)
|
||||
ImmGetHotKey(
|
||||
_In_ DWORD dwHotKey,
|
||||
_Out_ LPUINT lpuModifiers,
|
||||
_Out_ LPUINT lpuVKey,
|
||||
_Out_ LPHKL lphKL)
|
||||
{
|
||||
TRACE("(0x%lX, %p, %p, %p)\n", dwHotKey, lpuModifiers, lpuVKey, lphKL);
|
||||
if (lpuModifiers && lpuVKey)
|
||||
|
@ -638,7 +660,8 @@ ImmGetHotKey(IN DWORD dwHotKey, OUT LPUINT lpuModifiers, OUT LPUINT lpuVKey,
|
|||
/***********************************************************************
|
||||
* ImmWINNLSGetIMEHotkey (IMM32.@)
|
||||
*/
|
||||
UINT WINAPI ImmWINNLSGetIMEHotkey(HWND hwndIme)
|
||||
UINT WINAPI
|
||||
ImmWINNLSGetIMEHotkey(_In_ HWND hwndIme)
|
||||
{
|
||||
TRACE("(%p)\n", hwndIme);
|
||||
UNREFERENCED_PARAMETER(hwndIme);
|
||||
|
@ -648,7 +671,10 @@ UINT WINAPI ImmWINNLSGetIMEHotkey(HWND hwndIme)
|
|||
/***********************************************************************
|
||||
* ImmSimulateHotKey (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmSimulateHotKey(HWND hWnd, DWORD dwHotKeyID)
|
||||
BOOL WINAPI
|
||||
ImmSimulateHotKey(
|
||||
_In_ HWND hWnd,
|
||||
_In_ DWORD dwHotKeyID)
|
||||
{
|
||||
HIMC hIMC;
|
||||
DWORD dwThreadId;
|
||||
|
@ -668,7 +694,8 @@ BOOL WINAPI ImmSimulateHotKey(HWND hWnd, DWORD dwHotKeyID)
|
|||
/***********************************************************************
|
||||
* ImmGetVirtualKey (IMM32.@)
|
||||
*/
|
||||
UINT WINAPI ImmGetVirtualKey(HWND hWnd)
|
||||
UINT WINAPI
|
||||
ImmGetVirtualKey(_In_ HWND hWnd)
|
||||
{
|
||||
HIMC hIMC;
|
||||
LPINPUTCONTEXTDX pIC;
|
||||
|
@ -691,7 +718,8 @@ UINT WINAPI ImmGetVirtualKey(HWND hWnd)
|
|||
/***********************************************************************
|
||||
* ImmGetAppCompatFlags (IMM32.@)
|
||||
*/
|
||||
DWORD WINAPI ImmGetAppCompatFlags(HIMC hIMC)
|
||||
DWORD WINAPI
|
||||
ImmGetAppCompatFlags(_In_ HIMC hIMC)
|
||||
{
|
||||
PCLIENTIMC pClientIMC;
|
||||
DWORD dwFlags;
|
||||
|
@ -712,7 +740,12 @@ DWORD WINAPI ImmGetAppCompatFlags(HIMC hIMC)
|
|||
* ( Undocumented, called from user32.dll )
|
||||
*/
|
||||
DWORD WINAPI
|
||||
ImmProcessKey(HWND hWnd, HKL hKL, UINT vKey, LPARAM lParam, DWORD dwHotKeyID)
|
||||
ImmProcessKey(
|
||||
_In_ HWND hWnd,
|
||||
_In_ HKL hKL,
|
||||
_In_ UINT vKey,
|
||||
_In_ LPARAM lParam,
|
||||
_In_ DWORD dwHotKeyID)
|
||||
{
|
||||
DWORD ret = 0;
|
||||
HIMC hIMC;
|
||||
|
@ -841,7 +874,8 @@ ImmSystemHandler(
|
|||
/***********************************************************************
|
||||
* ImmGenerateMessage(IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmGenerateMessage(HIMC hIMC)
|
||||
BOOL WINAPI
|
||||
ImmGenerateMessage(_In_ HIMC hIMC)
|
||||
{
|
||||
PCLIENTIMC pClientImc;
|
||||
LPINPUTCONTEXT pIC;
|
||||
|
@ -918,8 +952,12 @@ Quit:
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
VOID APIENTRY
|
||||
ImmPostMessages(HWND hwnd, HIMC hIMC, DWORD dwCount, LPTRANSMSG lpTransMsg)
|
||||
static VOID
|
||||
ImmPostMessages(
|
||||
_In_ HWND hwnd,
|
||||
_In_ HIMC hIMC,
|
||||
_In_ DWORD dwCount,
|
||||
_In_ LPTRANSMSG lpTransMsg)
|
||||
{
|
||||
DWORD dwIndex;
|
||||
PCLIENTIMC pClientImc;
|
||||
|
@ -978,7 +1016,12 @@ ImmPostMessages(HWND hwnd, HIMC hIMC, DWORD dwCount, LPTRANSMSG lpTransMsg)
|
|||
* ImmTranslateMessage(IMM32.@)
|
||||
* ( Undocumented, call internally and from user32.dll )
|
||||
*/
|
||||
BOOL WINAPI ImmTranslateMessage(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lKeyData)
|
||||
BOOL WINAPI
|
||||
ImmTranslateMessage(
|
||||
_In_ HWND hwnd,
|
||||
_In_ UINT msg,
|
||||
_In_ WPARAM wParam,
|
||||
_In_ LPARAM lKeyData)
|
||||
{
|
||||
#define MSG_COUNT 0x100
|
||||
BOOL ret = FALSE;
|
||||
|
@ -1115,7 +1158,11 @@ Quit:
|
|||
/***********************************************************************
|
||||
* ImmRequestMessageA(IMM32.@)
|
||||
*/
|
||||
LRESULT WINAPI ImmRequestMessageA(HIMC hIMC, WPARAM wParam, LPARAM lParam)
|
||||
LRESULT WINAPI
|
||||
ImmRequestMessageA(
|
||||
_In_ HIMC hIMC,
|
||||
_In_ WPARAM wParam,
|
||||
_In_ LPARAM lParam)
|
||||
{
|
||||
TRACE("(%p, %p, %p)\n", hIMC, wParam, lParam);
|
||||
return ImmRequestMessageAW(hIMC, wParam, lParam, TRUE);
|
||||
|
@ -1124,7 +1171,11 @@ LRESULT WINAPI ImmRequestMessageA(HIMC hIMC, WPARAM wParam, LPARAM lParam)
|
|||
/***********************************************************************
|
||||
* ImmRequestMessageW(IMM32.@)
|
||||
*/
|
||||
LRESULT WINAPI ImmRequestMessageW(HIMC hIMC, WPARAM wParam, LPARAM lParam)
|
||||
LRESULT WINAPI
|
||||
ImmRequestMessageW(
|
||||
_In_ HIMC hIMC,
|
||||
_In_ WPARAM wParam,
|
||||
_In_ LPARAM lParam)
|
||||
{
|
||||
TRACE("(%p, %p, %p)\n", hIMC, wParam, lParam);
|
||||
return ImmRequestMessageAW(hIMC, wParam, lParam, FALSE);
|
||||
|
|
|
@ -93,36 +93,36 @@ extern HANDLE ghImmHeap;
|
|||
extern DWORD g_aimm_compat_flags;
|
||||
|
||||
BOOL Imm32GetSystemLibraryPath(LPWSTR pszPath, DWORD cchPath, LPCWSTR pszFileName);
|
||||
VOID APIENTRY LogFontAnsiToWide(const LOGFONTA *plfA, LPLOGFONTW plfW);
|
||||
VOID APIENTRY LogFontWideToAnsi(const LOGFONTW *plfW, LPLOGFONTA plfA);
|
||||
VOID LogFontAnsiToWide(const LOGFONTA *plfA, LPLOGFONTW plfW);
|
||||
VOID LogFontWideToAnsi(const LOGFONTW *plfW, LPLOGFONTA plfA);
|
||||
LPVOID FASTCALL ValidateHandleNoErr(HANDLE hObject, UINT uType);
|
||||
LPVOID FASTCALL ValidateHandle(HANDLE hObject, UINT uType);
|
||||
#define ValidateHwndNoErr(hwnd) ValidateHandleNoErr((hwnd), TYPE_WINDOW)
|
||||
#define ValidateHwnd(hwnd) ValidateHandle((hwnd), TYPE_WINDOW)
|
||||
BOOL APIENTRY Imm32CheckImcProcess(PIMC pIMC);
|
||||
BOOL Imm32CheckImcProcess(PIMC pIMC);
|
||||
|
||||
LPVOID ImmLocalAlloc(_In_ DWORD dwFlags, _In_ DWORD dwBytes);
|
||||
#define ImmLocalFree(lpData) HeapFree(ghImmHeap, 0, (lpData))
|
||||
|
||||
LPWSTR APIENTRY Imm32WideFromAnsi(UINT uCodePage, LPCSTR pszA);
|
||||
LPSTR APIENTRY Imm32AnsiFromWide(UINT uCodePage, LPCWSTR pszW);
|
||||
LONG APIENTRY IchWideFromAnsi(LONG cchAnsi, LPCSTR pchAnsi, UINT uCodePage);
|
||||
LONG APIENTRY IchAnsiFromWide(LONG cchWide, LPCWSTR pchWide, UINT uCodePage);
|
||||
PIMEDPI APIENTRY Imm32FindOrLoadImeDpi(HKL hKL);
|
||||
LPINPUTCONTEXT APIENTRY Imm32InternalLockIMC(HIMC hIMC, BOOL fSelect);
|
||||
BOOL APIENTRY Imm32ReleaseIME(HKL hKL);
|
||||
LPWSTR Imm32WideFromAnsi(UINT uCodePage, LPCSTR pszA);
|
||||
LPSTR Imm32AnsiFromWide(UINT uCodePage, LPCWSTR pszW);
|
||||
LONG IchWideFromAnsi(LONG cchAnsi, LPCSTR pchAnsi, UINT uCodePage);
|
||||
LONG IchAnsiFromWide(LONG cchWide, LPCWSTR pchWide, UINT uCodePage);
|
||||
PIMEDPI Imm32FindOrLoadImeDpi(HKL hKL);
|
||||
LPINPUTCONTEXT Imm32InternalLockIMC(HIMC hIMC, BOOL fSelect);
|
||||
BOOL Imm32ReleaseIME(_In_ HKL hKL);
|
||||
BOOL Imm32IsSystemJapaneseOrKorean(VOID);
|
||||
BOOL APIENTRY Imm32IsCrossThreadAccess(HIMC hIMC);
|
||||
BOOL APIENTRY Imm32IsCrossProcessAccess(HWND hWnd);
|
||||
BOOL Imm32IsCrossThreadAccess(HIMC hIMC);
|
||||
BOOL Imm32IsCrossProcessAccess(HWND hWnd);
|
||||
BOOL Imm32IsImcAnsi(HIMC hIMC);
|
||||
BOOL Imm32LoadImeVerInfo(_Out_ PIMEINFOEX pImeInfoEx);
|
||||
|
||||
#define ImeDpi_IsUnicode(pImeDpi) ((pImeDpi)->ImeInfo.fdwProperty & IME_PROP_UNICODE)
|
||||
|
||||
DWORD APIENTRY
|
||||
DWORD
|
||||
CandidateListWideToAnsi(const CANDIDATELIST *pWideCL, LPCANDIDATELIST pAnsiCL, DWORD dwBufLen,
|
||||
UINT uCodePage);
|
||||
DWORD APIENTRY
|
||||
DWORD
|
||||
CandidateListAnsiToWide(const CANDIDATELIST *pAnsiCL, LPCANDIDATELIST pWideCL, DWORD dwBufLen,
|
||||
UINT uCodePage);
|
||||
|
||||
|
@ -136,19 +136,19 @@ Imm32MakeIMENotify(
|
|||
_In_ DWORD dwCommand,
|
||||
_Inout_opt_ DWORD_PTR dwData);
|
||||
|
||||
DWORD APIENTRY Imm32BuildHimcList(DWORD dwThreadId, HIMC **pphList);
|
||||
DWORD Imm32BuildHimcList(DWORD dwThreadId, HIMC **pphList);
|
||||
|
||||
PIME_STATE APIENTRY Imm32FetchImeState(LPINPUTCONTEXTDX pIC, HKL hKL);
|
||||
PIME_SUBSTATE APIENTRY Imm32FetchImeSubState(PIME_STATE pState, HKL hKL);
|
||||
PIME_STATE Imm32FetchImeState(LPINPUTCONTEXTDX pIC, HKL hKL);
|
||||
PIME_SUBSTATE Imm32FetchImeSubState(PIME_STATE pState, HKL hKL);
|
||||
|
||||
BOOL APIENTRY
|
||||
BOOL
|
||||
Imm32LoadImeStateSentence(LPINPUTCONTEXTDX pIC, PIME_STATE pState, HKL hKL);
|
||||
BOOL APIENTRY
|
||||
BOOL
|
||||
Imm32SaveImeStateSentence(LPINPUTCONTEXTDX pIC, PIME_STATE pState, HKL hKL);
|
||||
|
||||
DWORD APIENTRY
|
||||
DWORD
|
||||
Imm32ReconvertAnsiFromWide(LPRECONVERTSTRING pDest, const RECONVERTSTRING *pSrc, UINT uCodePage);
|
||||
DWORD APIENTRY
|
||||
DWORD
|
||||
Imm32ReconvertWideFromAnsi(LPRECONVERTSTRING pDest, const RECONVERTSTRING *pSrc, UINT uCodePage);
|
||||
|
||||
HRESULT
|
||||
|
|
|
@ -92,17 +92,21 @@ Quit:
|
|||
* ImmEnumRegisterWordA (IMM32.@)
|
||||
*/
|
||||
UINT WINAPI
|
||||
ImmEnumRegisterWordA(HKL hKL, REGISTERWORDENUMPROCA lpfnEnumProc,
|
||||
LPCSTR lpszReading, DWORD dwStyle,
|
||||
LPCSTR lpszRegister, LPVOID lpData)
|
||||
ImmEnumRegisterWordA(
|
||||
_In_ HKL hKL,
|
||||
_In_ REGISTERWORDENUMPROCA lpfnEnumProc,
|
||||
_In_opt_ LPCSTR lpszReading,
|
||||
_In_ DWORD dwStyle,
|
||||
_In_opt_ LPCSTR lpszRegister,
|
||||
_Inout_opt_ LPVOID lpData)
|
||||
{
|
||||
UINT ret = 0;
|
||||
LPWSTR pszReadingW = NULL, pszRegisterW = NULL;
|
||||
ENUM_WORD_W2A EnumDataW2A;
|
||||
PIMEDPI pImeDpi;
|
||||
|
||||
TRACE("(%p, %p, %s, 0x%lX, %s, %p)\n", hKL, lpfnEnumProc, lpszReading,
|
||||
dwStyle, lpszRegister, lpData);
|
||||
TRACE("(%p, %p, %s, 0x%lX, %s, %p)\n", hKL, lpfnEnumProc, debugstr_a(lpszReading),
|
||||
dwStyle, debugstr_a(lpszRegister), lpData);
|
||||
|
||||
pImeDpi = Imm32FindOrLoadImeDpi(hKL);
|
||||
if (IS_NULL_UNEXPECTEDLY(pImeDpi))
|
||||
|
@ -149,17 +153,21 @@ Quit:
|
|||
* ImmEnumRegisterWordW (IMM32.@)
|
||||
*/
|
||||
UINT WINAPI
|
||||
ImmEnumRegisterWordW(HKL hKL, REGISTERWORDENUMPROCW lpfnEnumProc,
|
||||
LPCWSTR lpszReading, DWORD dwStyle,
|
||||
LPCWSTR lpszRegister, LPVOID lpData)
|
||||
ImmEnumRegisterWordW(
|
||||
_In_ HKL hKL,
|
||||
_In_ REGISTERWORDENUMPROCW lpfnEnumProc,
|
||||
_In_opt_ LPCWSTR lpszReading,
|
||||
_In_ DWORD dwStyle,
|
||||
_In_opt_ LPCWSTR lpszRegister,
|
||||
_Inout_opt_ LPVOID lpData)
|
||||
{
|
||||
UINT ret = 0;
|
||||
LPSTR pszReadingA = NULL, pszRegisterA = NULL;
|
||||
ENUM_WORD_A2W EnumDataA2W;
|
||||
PIMEDPI pImeDpi;
|
||||
|
||||
TRACE("(%p, %p, %S, 0x%lX, %S, %p)\n", hKL, lpfnEnumProc, lpszReading,
|
||||
dwStyle, lpszRegister, lpData);
|
||||
TRACE("(%p, %p, %s, 0x%lX, %s, %p)\n", hKL, lpfnEnumProc, debugstr_w(lpszReading),
|
||||
dwStyle, debugstr_w(lpszRegister), lpData);
|
||||
|
||||
pImeDpi = Imm32FindOrLoadImeDpi(hKL);
|
||||
if (IS_NULL_UNEXPECTEDLY(pImeDpi))
|
||||
|
@ -206,7 +214,11 @@ Quit:
|
|||
/***********************************************************************
|
||||
* ImmGetRegisterWordStyleA (IMM32.@)
|
||||
*/
|
||||
UINT WINAPI ImmGetRegisterWordStyleA(HKL hKL, UINT nItem, LPSTYLEBUFA lpStyleBuf)
|
||||
UINT WINAPI
|
||||
ImmGetRegisterWordStyleA(
|
||||
_In_ HKL hKL,
|
||||
_In_ UINT nItem,
|
||||
_Out_writes_(nItem) LPSTYLEBUFA lpStyleBuf)
|
||||
{
|
||||
UINT iItem, ret = 0;
|
||||
PIMEDPI pImeDpi;
|
||||
|
@ -265,7 +277,11 @@ Quit:
|
|||
/***********************************************************************
|
||||
* ImmGetRegisterWordStyleW (IMM32.@)
|
||||
*/
|
||||
UINT WINAPI ImmGetRegisterWordStyleW(HKL hKL, UINT nItem, LPSTYLEBUFW lpStyleBuf)
|
||||
UINT WINAPI
|
||||
ImmGetRegisterWordStyleW(
|
||||
_In_ HKL hKL,
|
||||
_In_ UINT nItem,
|
||||
_Out_writes_(nItem) LPSTYLEBUFW lpStyleBuf)
|
||||
{
|
||||
UINT iItem, ret = 0;
|
||||
PIMEDPI pImeDpi;
|
||||
|
@ -324,13 +340,17 @@ Quit:
|
|||
* ImmRegisterWordA (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI
|
||||
ImmRegisterWordA(HKL hKL, LPCSTR lpszReading, DWORD dwStyle, LPCSTR lpszRegister)
|
||||
ImmRegisterWordA(
|
||||
_In_ HKL hKL,
|
||||
_In_opt_ LPCSTR lpszReading,
|
||||
_In_ DWORD dwStyle,
|
||||
_In_opt_ LPCSTR lpszRegister)
|
||||
{
|
||||
BOOL ret = FALSE;
|
||||
PIMEDPI pImeDpi;
|
||||
LPWSTR pszReadingW = NULL, pszRegisterW = NULL;
|
||||
|
||||
TRACE("(%p, %s, 0x%lX, %s)\n", hKL, lpszReading, dwStyle, lpszRegister);
|
||||
TRACE("(%p, %s, 0x%lX, %s)\n", hKL, debugstr_a(lpszReading), dwStyle, debugstr_a(lpszRegister));
|
||||
|
||||
pImeDpi = Imm32FindOrLoadImeDpi(hKL);
|
||||
if (IS_NULL_UNEXPECTEDLY(pImeDpi))
|
||||
|
@ -371,13 +391,18 @@ Quit:
|
|||
* ImmRegisterWordW (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI
|
||||
ImmRegisterWordW(HKL hKL, LPCWSTR lpszReading, DWORD dwStyle, LPCWSTR lpszRegister)
|
||||
ImmRegisterWordW(
|
||||
_In_ HKL hKL,
|
||||
_In_opt_ LPCWSTR lpszReading,
|
||||
_In_ DWORD dwStyle,
|
||||
_In_opt_ LPCWSTR lpszRegister)
|
||||
{
|
||||
BOOL ret = FALSE;
|
||||
PIMEDPI pImeDpi;
|
||||
LPSTR pszReadingA = NULL, pszRegisterA = NULL;
|
||||
|
||||
TRACE("(%p, %S, 0x%lX, %S)\n", hKL, lpszReading, dwStyle, lpszRegister);
|
||||
TRACE("(%p, %s, 0x%lX, %s)\n", hKL, debugstr_w(lpszReading), dwStyle,
|
||||
debugstr_w(lpszRegister));
|
||||
|
||||
pImeDpi = Imm32FindOrLoadImeDpi(hKL);
|
||||
if (IS_NULL_UNEXPECTEDLY(pImeDpi))
|
||||
|
@ -418,13 +443,18 @@ Quit:
|
|||
* ImmUnregisterWordA (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI
|
||||
ImmUnregisterWordA(HKL hKL, LPCSTR lpszReading, DWORD dwStyle, LPCSTR lpszUnregister)
|
||||
ImmUnregisterWordA(
|
||||
_In_ HKL hKL,
|
||||
_In_opt_ LPCSTR lpszReading,
|
||||
_In_ DWORD dwStyle,
|
||||
_In_opt_ LPCSTR lpszUnregister)
|
||||
{
|
||||
BOOL ret = FALSE;
|
||||
PIMEDPI pImeDpi;
|
||||
LPWSTR pszReadingW = NULL, pszUnregisterW = NULL;
|
||||
|
||||
TRACE("(%p, %s, 0x%lX, %s)\n", hKL, lpszReading, dwStyle, lpszUnregister);
|
||||
TRACE("(%p, %s, 0x%lX, %s)\n", hKL, debugstr_a(lpszReading), dwStyle,
|
||||
debugstr_a(lpszUnregister));
|
||||
|
||||
pImeDpi = Imm32FindOrLoadImeDpi(hKL);
|
||||
if (IS_NULL_UNEXPECTEDLY(pImeDpi))
|
||||
|
@ -465,13 +495,18 @@ Quit:
|
|||
* ImmUnregisterWordW (IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI
|
||||
ImmUnregisterWordW(HKL hKL, LPCWSTR lpszReading, DWORD dwStyle, LPCWSTR lpszUnregister)
|
||||
ImmUnregisterWordW(
|
||||
_In_ HKL hKL,
|
||||
_In_opt_ LPCWSTR lpszReading,
|
||||
_In_ DWORD dwStyle,
|
||||
_In_opt_ LPCWSTR lpszUnregister)
|
||||
{
|
||||
BOOL ret = FALSE;
|
||||
PIMEDPI pImeDpi;
|
||||
LPSTR pszReadingA = NULL, pszUnregisterA = NULL;
|
||||
|
||||
TRACE("(%p, %S, 0x%lX, %S)\n", hKL, lpszReading, dwStyle, lpszUnregister);
|
||||
TRACE("(%p, %s, 0x%lX, %s)\n", hKL, debugstr_w(lpszReading), dwStyle,
|
||||
debugstr_w(lpszUnregister));
|
||||
|
||||
pImeDpi = Imm32FindOrLoadImeDpi(hKL);
|
||||
if (IS_NULL_UNEXPECTEDLY(pImeDpi))
|
||||
|
|
|
@ -192,7 +192,7 @@ T1_GetTextMetric(_Out_ LPTEXTMETRICW ptm)
|
|||
|
||||
#if DBG
|
||||
GetTextFaceW(hDC, _countof(szFace), szFace);
|
||||
TRACE("szFace: %S\n", szFace);
|
||||
TRACE("szFace: %s\n", debugstr_w(szFace));
|
||||
#endif
|
||||
|
||||
GetTextMetricsW(hDC, ptm);
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(imm);
|
||||
|
||||
HANDLE ghImmHeap = NULL; // Win: pImmHeap
|
||||
HANDLE ghImmHeap = NULL;
|
||||
|
||||
PTHREADINFO FASTCALL Imm32CurrentPti(VOID)
|
||||
{
|
||||
|
@ -22,15 +22,14 @@ PTHREADINFO FASTCALL Imm32CurrentPti(VOID)
|
|||
return NtCurrentTeb()->Win32ThreadInfo;
|
||||
}
|
||||
|
||||
BOOL APIENTRY Imm32IsCrossThreadAccess(HIMC hIMC)
|
||||
BOOL Imm32IsCrossThreadAccess(HIMC hIMC)
|
||||
{
|
||||
DWORD_PTR dwImeThreadId = NtUserQueryInputContext(hIMC, QIC_INPUTTHREADID);
|
||||
DWORD_PTR dwCurrentThreadId = GetCurrentThreadId();
|
||||
return dwImeThreadId != dwCurrentThreadId;
|
||||
}
|
||||
|
||||
// Win: TestWindowProcess
|
||||
BOOL APIENTRY Imm32IsCrossProcessAccess(HWND hWnd)
|
||||
BOOL Imm32IsCrossProcessAccess(HWND hWnd)
|
||||
{
|
||||
DWORD_PTR WndPID = NtUserQueryWindow(hWnd, QUERY_WINDOW_UNIQUE_PROCESS_ID);
|
||||
DWORD_PTR CurrentPID = (DWORD_PTR)NtCurrentTeb()->ClientId.UniqueProcess;
|
||||
|
@ -94,7 +93,7 @@ BOOL Imm32IsImcAnsi(HIMC hIMC)
|
|||
return ret;
|
||||
}
|
||||
|
||||
LPWSTR APIENTRY Imm32WideFromAnsi(UINT uCodePage, LPCSTR pszA)
|
||||
LPWSTR Imm32WideFromAnsi(UINT uCodePage, LPCSTR pszA)
|
||||
{
|
||||
INT cch = lstrlenA(pszA);
|
||||
LPWSTR pszW = ImmLocalAlloc(0, (cch + 1) * sizeof(WCHAR));
|
||||
|
@ -105,7 +104,7 @@ LPWSTR APIENTRY Imm32WideFromAnsi(UINT uCodePage, LPCSTR pszA)
|
|||
return pszW;
|
||||
}
|
||||
|
||||
LPSTR APIENTRY Imm32AnsiFromWide(UINT uCodePage, LPCWSTR pszW)
|
||||
LPSTR Imm32AnsiFromWide(UINT uCodePage, LPCWSTR pszW)
|
||||
{
|
||||
INT cchW = lstrlenW(pszW);
|
||||
INT cchA = (cchW + 1) * sizeof(WCHAR);
|
||||
|
@ -118,8 +117,7 @@ LPSTR APIENTRY Imm32AnsiFromWide(UINT uCodePage, LPCWSTR pszW)
|
|||
}
|
||||
|
||||
/* Converts the character index */
|
||||
/* Win: CalcCharacterPositionAtoW */
|
||||
LONG APIENTRY IchWideFromAnsi(LONG cchAnsi, LPCSTR pchAnsi, UINT uCodePage)
|
||||
LONG IchWideFromAnsi(LONG cchAnsi, LPCSTR pchAnsi, UINT uCodePage)
|
||||
{
|
||||
LONG cchWide;
|
||||
for (cchWide = 0; cchAnsi > 0; ++cchWide)
|
||||
|
@ -139,8 +137,7 @@ LONG APIENTRY IchWideFromAnsi(LONG cchAnsi, LPCSTR pchAnsi, UINT uCodePage)
|
|||
}
|
||||
|
||||
/* Converts the character index */
|
||||
/* Win: CalcCharacterPositionWtoA */
|
||||
LONG APIENTRY IchAnsiFromWide(LONG cchWide, LPCWSTR pchWide, UINT uCodePage)
|
||||
LONG IchAnsiFromWide(LONG cchWide, LPCWSTR pchWide, UINT uCodePage)
|
||||
{
|
||||
LONG cb, cchAnsi;
|
||||
for (cchAnsi = 0; cchWide > 0; ++cchAnsi, ++pchWide, --cchWide)
|
||||
|
@ -152,7 +149,6 @@ LONG APIENTRY IchAnsiFromWide(LONG cchWide, LPCWSTR pchWide, UINT uCodePage)
|
|||
return cchAnsi;
|
||||
}
|
||||
|
||||
// Win: InternalGetSystemPathName
|
||||
BOOL Imm32GetSystemLibraryPath(LPWSTR pszPath, DWORD cchPath, LPCWSTR pszFileName)
|
||||
{
|
||||
if (!pszFileName[0] || !GetSystemDirectoryW(pszPath, cchPath))
|
||||
|
@ -165,8 +161,7 @@ BOOL Imm32GetSystemLibraryPath(LPWSTR pszPath, DWORD cchPath, LPCWSTR pszFileNam
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
// Win: LFontAtoLFontW
|
||||
VOID APIENTRY LogFontAnsiToWide(const LOGFONTA *plfA, LPLOGFONTW plfW)
|
||||
VOID LogFontAnsiToWide(const LOGFONTA *plfA, LPLOGFONTW plfW)
|
||||
{
|
||||
size_t cch;
|
||||
RtlCopyMemory(plfW, plfA, offsetof(LOGFONTA, lfFaceName));
|
||||
|
@ -178,8 +173,7 @@ VOID APIENTRY LogFontAnsiToWide(const LOGFONTA *plfA, LPLOGFONTW plfW)
|
|||
plfW->lfFaceName[cch] = 0;
|
||||
}
|
||||
|
||||
// Win: LFontWtoLFontA
|
||||
VOID APIENTRY LogFontWideToAnsi(const LOGFONTW *plfW, LPLOGFONTA plfA)
|
||||
VOID LogFontWideToAnsi(const LOGFONTW *plfW, LPLOGFONTA plfA)
|
||||
{
|
||||
size_t cch;
|
||||
RtlCopyMemory(plfA, plfW, offsetof(LOGFONTW, lfFaceName));
|
||||
|
@ -204,7 +198,6 @@ static PVOID FASTCALL DesktopPtrToUser(PVOID ptr)
|
|||
return (PVOID)NtUserCallOneParam((DWORD_PTR)ptr, ONEPARAM_ROUTINE_GETDESKTOPMAPPING);
|
||||
}
|
||||
|
||||
// Win: HMValidateHandleNoRip
|
||||
LPVOID FASTCALL ValidateHandleNoErr(HANDLE hObject, UINT uType)
|
||||
{
|
||||
UINT index;
|
||||
|
@ -243,7 +236,6 @@ LPVOID FASTCALL ValidateHandleNoErr(HANDLE hObject, UINT uType)
|
|||
return ptr;
|
||||
}
|
||||
|
||||
// Win: HMValidateHandle
|
||||
LPVOID FASTCALL ValidateHandle(HANDLE hObject, UINT uType)
|
||||
{
|
||||
LPVOID pvObj = ValidateHandleNoErr(hObject, uType);
|
||||
|
@ -257,8 +249,7 @@ LPVOID FASTCALL ValidateHandle(HANDLE hObject, UINT uType)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
// Win: TestInputContextProcess
|
||||
BOOL APIENTRY Imm32CheckImcProcess(PIMC pIMC)
|
||||
BOOL Imm32CheckImcProcess(PIMC pIMC)
|
||||
{
|
||||
HIMC hIMC;
|
||||
DWORD_PTR dwPID1, dwPID2;
|
||||
|
@ -344,8 +335,7 @@ Imm32MakeIMENotify(
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
// Win: BuildHimcList
|
||||
DWORD APIENTRY Imm32BuildHimcList(DWORD dwThreadId, HIMC **pphList)
|
||||
DWORD Imm32BuildHimcList(DWORD dwThreadId, HIMC **pphList)
|
||||
{
|
||||
#define INITIAL_COUNT 0x40
|
||||
#define MAX_RETRY 10
|
||||
|
@ -384,8 +374,7 @@ DWORD APIENTRY Imm32BuildHimcList(DWORD dwThreadId, HIMC **pphList)
|
|||
#undef MAX_RETRY
|
||||
}
|
||||
|
||||
// Win: GetImeModeSaver
|
||||
PIME_STATE APIENTRY
|
||||
PIME_STATE
|
||||
Imm32FetchImeState(LPINPUTCONTEXTDX pIC, HKL hKL)
|
||||
{
|
||||
PIME_STATE pState;
|
||||
|
@ -408,8 +397,7 @@ Imm32FetchImeState(LPINPUTCONTEXTDX pIC, HKL hKL)
|
|||
return pState;
|
||||
}
|
||||
|
||||
// Win: GetImePrivateModeSaver
|
||||
PIME_SUBSTATE APIENTRY
|
||||
PIME_SUBSTATE
|
||||
Imm32FetchImeSubState(PIME_STATE pState, HKL hKL)
|
||||
{
|
||||
PIME_SUBSTATE pSubState;
|
||||
|
@ -428,8 +416,7 @@ Imm32FetchImeSubState(PIME_STATE pState, HKL hKL)
|
|||
return pSubState;
|
||||
}
|
||||
|
||||
// Win: RestorePrivateMode
|
||||
BOOL APIENTRY
|
||||
BOOL
|
||||
Imm32LoadImeStateSentence(LPINPUTCONTEXTDX pIC, PIME_STATE pState, HKL hKL)
|
||||
{
|
||||
PIME_SUBSTATE pSubState = Imm32FetchImeSubState(pState, hKL);
|
||||
|
@ -440,8 +427,7 @@ Imm32LoadImeStateSentence(LPINPUTCONTEXTDX pIC, PIME_STATE pState, HKL hKL)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
// Win: SavePrivateMode
|
||||
BOOL APIENTRY
|
||||
BOOL
|
||||
Imm32SaveImeStateSentence(LPINPUTCONTEXTDX pIC, PIME_STATE pState, HKL hKL)
|
||||
{
|
||||
PIME_SUBSTATE pSubState = Imm32FetchImeSubState(pState, hKL);
|
||||
|
@ -461,7 +447,7 @@ Imm32SaveImeStateSentence(LPINPUTCONTEXTDX pIC, PIME_STATE pState, HKL hKL)
|
|||
* dwCompStrOffset, and dwTargetStrOffset are the byte offset.
|
||||
*/
|
||||
|
||||
DWORD APIENTRY
|
||||
DWORD
|
||||
Imm32ReconvertWideFromAnsi(LPRECONVERTSTRING pDest, const RECONVERTSTRING *pSrc, UINT uCodePage)
|
||||
{
|
||||
DWORD cch0, cchDest, cbDest;
|
||||
|
@ -524,7 +510,7 @@ Imm32ReconvertWideFromAnsi(LPRECONVERTSTRING pDest, const RECONVERTSTRING *pSrc,
|
|||
return cbDest;
|
||||
}
|
||||
|
||||
DWORD APIENTRY
|
||||
DWORD
|
||||
Imm32ReconvertAnsiFromWide(LPRECONVERTSTRING pDest, const RECONVERTSTRING *pSrc, UINT uCodePage)
|
||||
{
|
||||
DWORD cch0, cch1, cchDest, cbDest;
|
||||
|
@ -592,7 +578,8 @@ Imm32ReconvertAnsiFromWide(LPRECONVERTSTRING pDest, const RECONVERTSTRING *pSrc,
|
|||
/***********************************************************************
|
||||
* ImmCreateIMCC(IMM32.@)
|
||||
*/
|
||||
HIMCC WINAPI ImmCreateIMCC(DWORD size)
|
||||
HIMCC WINAPI
|
||||
ImmCreateIMCC(_In_ DWORD size)
|
||||
{
|
||||
if (size < sizeof(DWORD))
|
||||
size = sizeof(DWORD);
|
||||
|
@ -602,7 +589,8 @@ HIMCC WINAPI ImmCreateIMCC(DWORD size)
|
|||
/***********************************************************************
|
||||
* ImmDestroyIMCC(IMM32.@)
|
||||
*/
|
||||
HIMCC WINAPI ImmDestroyIMCC(HIMCC block)
|
||||
HIMCC WINAPI
|
||||
ImmDestroyIMCC(_In_ HIMCC block)
|
||||
{
|
||||
if (block)
|
||||
return LocalFree(block);
|
||||
|
@ -612,7 +600,8 @@ HIMCC WINAPI ImmDestroyIMCC(HIMCC block)
|
|||
/***********************************************************************
|
||||
* ImmLockIMCC(IMM32.@)
|
||||
*/
|
||||
LPVOID WINAPI ImmLockIMCC(HIMCC imcc)
|
||||
LPVOID WINAPI
|
||||
ImmLockIMCC(_In_ HIMCC imcc)
|
||||
{
|
||||
if (imcc)
|
||||
return LocalLock(imcc);
|
||||
|
@ -622,7 +611,8 @@ LPVOID WINAPI ImmLockIMCC(HIMCC imcc)
|
|||
/***********************************************************************
|
||||
* ImmUnlockIMCC(IMM32.@)
|
||||
*/
|
||||
BOOL WINAPI ImmUnlockIMCC(HIMCC imcc)
|
||||
BOOL WINAPI
|
||||
ImmUnlockIMCC(_In_ HIMCC imcc)
|
||||
{
|
||||
if (imcc)
|
||||
return LocalUnlock(imcc);
|
||||
|
@ -632,7 +622,8 @@ BOOL WINAPI ImmUnlockIMCC(HIMCC imcc)
|
|||
/***********************************************************************
|
||||
* ImmGetIMCCLockCount(IMM32.@)
|
||||
*/
|
||||
DWORD WINAPI ImmGetIMCCLockCount(HIMCC imcc)
|
||||
DWORD WINAPI
|
||||
ImmGetIMCCLockCount(_In_ HIMCC imcc)
|
||||
{
|
||||
return LocalFlags(imcc) & LMEM_LOCKCOUNT;
|
||||
}
|
||||
|
@ -640,7 +631,10 @@ DWORD WINAPI ImmGetIMCCLockCount(HIMCC imcc)
|
|||
/***********************************************************************
|
||||
* ImmReSizeIMCC(IMM32.@)
|
||||
*/
|
||||
HIMCC WINAPI ImmReSizeIMCC(HIMCC imcc, DWORD size)
|
||||
HIMCC WINAPI
|
||||
ImmReSizeIMCC(
|
||||
_In_ HIMCC imcc,
|
||||
_In_ DWORD size)
|
||||
{
|
||||
if (!imcc)
|
||||
return NULL;
|
||||
|
@ -650,7 +644,8 @@ HIMCC WINAPI ImmReSizeIMCC(HIMCC imcc, DWORD size)
|
|||
/***********************************************************************
|
||||
* ImmGetIMCCSize(IMM32.@)
|
||||
*/
|
||||
DWORD WINAPI ImmGetIMCCSize(HIMCC imcc)
|
||||
DWORD WINAPI
|
||||
ImmGetIMCCSize(_In_ HIMCC imcc)
|
||||
{
|
||||
if (imcc)
|
||||
return LocalSize(imcc);
|
||||
|
@ -660,7 +655,8 @@ DWORD WINAPI ImmGetIMCCSize(HIMCC imcc)
|
|||
/***********************************************************************
|
||||
* ImmGetIMCLockCount(IMM32.@)
|
||||
*/
|
||||
DWORD WINAPI ImmGetIMCLockCount(HIMC hIMC)
|
||||
DWORD WINAPI
|
||||
ImmGetIMCLockCount(_In_ HIMC hIMC)
|
||||
{
|
||||
DWORD ret;
|
||||
HANDLE hInputContext;
|
||||
|
|
|
@ -11,8 +11,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(imm);
|
|||
|
||||
#ifdef IMM_WIN3_SUPPORT /* 3.x support */
|
||||
|
||||
/* Win: JTransCompositionA */
|
||||
DWORD APIENTRY
|
||||
DWORD
|
||||
Imm32JTransCompA(LPINPUTCONTEXTDX pIC, LPCOMPOSITIONSTRING pCS,
|
||||
const TRANSMSG *pSrc, LPTRANSMSG pDest)
|
||||
{
|
||||
|
@ -21,8 +20,7 @@ Imm32JTransCompA(LPINPUTCONTEXTDX pIC, LPCOMPOSITIONSTRING pCS,
|
|||
return 1;
|
||||
}
|
||||
|
||||
/* Win: JTransCompositionW */
|
||||
DWORD APIENTRY
|
||||
DWORD
|
||||
Imm32JTransCompW(LPINPUTCONTEXTDX pIC, LPCOMPOSITIONSTRING pCS,
|
||||
const TRANSMSG *pSrc, LPTRANSMSG pDest)
|
||||
{
|
||||
|
@ -33,7 +31,7 @@ Imm32JTransCompW(LPINPUTCONTEXTDX pIC, LPCOMPOSITIONSTRING pCS,
|
|||
|
||||
typedef LRESULT (WINAPI *FN_SendMessage)(HWND, UINT, WPARAM, LPARAM);
|
||||
|
||||
DWORD APIENTRY
|
||||
DWORD
|
||||
WINNLSTranslateMessageJ(DWORD dwCount, LPTRANSMSG pTrans, LPINPUTCONTEXTDX pIC,
|
||||
LPCOMPOSITIONSTRING pCS, BOOL bAnsi)
|
||||
{
|
||||
|
@ -172,7 +170,7 @@ DoDefault:
|
|||
return ret;
|
||||
}
|
||||
|
||||
DWORD APIENTRY
|
||||
DWORD
|
||||
WINNLSTranslateMessageK(DWORD dwCount, LPTRANSMSG pEntries, LPINPUTCONTEXTDX pIC,
|
||||
LPCOMPOSITIONSTRING pCS, BOOL bAnsi)
|
||||
{
|
||||
|
@ -180,7 +178,7 @@ WINNLSTranslateMessageK(DWORD dwCount, LPTRANSMSG pEntries, LPINPUTCONTEXTDX pIC
|
|||
return dwCount;
|
||||
}
|
||||
|
||||
DWORD APIENTRY
|
||||
DWORD
|
||||
WINNLSTranslateMessage(DWORD dwCount, LPTRANSMSG pEntries, HIMC hIMC, BOOL bAnsi, WORD wLang)
|
||||
{
|
||||
BOOL ret = FALSE;
|
||||
|
@ -213,7 +211,10 @@ WINNLSTranslateMessage(DWORD dwCount, LPTRANSMSG pEntries, HIMC hIMC, BOOL bAnsi
|
|||
/***********************************************************************
|
||||
* ImmSendIMEMessageExA(IMM32.@)
|
||||
*/
|
||||
WORD WINAPI ImmSendIMEMessageExA(HWND hWnd, LPARAM lParam)
|
||||
WORD WINAPI
|
||||
ImmSendIMEMessageExA(
|
||||
_In_ HWND hWnd,
|
||||
_In_ LPARAM lParam)
|
||||
{
|
||||
FIXME("(%p, %p)\n", hWnd, lParam);
|
||||
return 0;
|
||||
|
@ -222,7 +223,10 @@ WORD WINAPI ImmSendIMEMessageExA(HWND hWnd, LPARAM lParam)
|
|||
/***********************************************************************
|
||||
* ImmSendIMEMessageExW(IMM32.@)
|
||||
*/
|
||||
WORD WINAPI ImmSendIMEMessageExW(HWND hWnd, LPARAM lParam)
|
||||
WORD WINAPI
|
||||
ImmSendIMEMessageExW(
|
||||
_In_ HWND hWnd,
|
||||
_In_ LPARAM lParam)
|
||||
{
|
||||
FIXME("(%p, %p)\n", hWnd, lParam);
|
||||
return 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue