[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:
Katayama Hirofumi MZ 2025-06-03 11:09:36 +09:00 committed by GitHub
parent 2fd0af4f8f
commit d80fdbe146
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 562 additions and 269 deletions

View file

@ -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

View file

@ -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

View file

@ -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;

View file

@ -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);

View file

@ -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;

View file

@ -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);

View file

@ -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;

View file

@ -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)
{

View file

@ -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);

View file

@ -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

View file

@ -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))

View file

@ -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);

View file

@ -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;

View file

@ -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;