94 return rc *
sizeof(
BYTE);
129 return rc *
sizeof(
BYTE);
146 tlen /=
sizeof(
DWORD);
148 for (
i = 0;
i < tlen; ++
i)
177 tlen /=
sizeof(
DWORD);
179 for (
i = 0;
i < tlen; ++
i)
194 #define CS_StrA(pCS, Name) ((LPCSTR)(pCS) + (pCS)->dw##Name##Offset) 195 #define CS_StrW(pCS, Name) ((LPCWSTR)CS_StrA(pCS, Name)) 196 #define CS_Attr(pCS, Name) ((const BYTE *)CS_StrA(pCS, Name)) 197 #define CS_Clause(pCS, Name) ((const DWORD *)CS_StrA(pCS, Name)) 198 #define CS_Size(pCS, Name) ((pCS)->dw##Name##Len) 199 #define CS_SizeA(pCS, Name) (CS_Size(pCS, Name) * sizeof(CHAR)) 200 #define CS_SizeW(pCS, Name) (CS_Size(pCS, Name) * sizeof(WCHAR)) 202 #define CS_DoStr(pCS, Name, AorW) do { \ 203 if (dwBufLen == 0) { \ 204 dwBufLen = CS_Size##AorW((pCS), Name); \ 206 if (dwBufLen > CS_Size##AorW((pCS), Name)) \ 207 dwBufLen = CS_Size##AorW((pCS), Name); \ 208 RtlCopyMemory(lpBuf, CS_Str##AorW((pCS), Name), dwBufLen); \ 212 #define CS_DoStrA(pCS, Name) CS_DoStr(pCS, Name, A) 213 #define CS_DoStrW(pCS, Name) CS_DoStr(pCS, Name, W) 214 #define CS_DoAttr CS_DoStrA 215 #define CS_DoClause CS_DoStrA 341 CS_Size(pCS, ResultReadClause),
433 CS_Size(pCS, ResultReadClause),
558 if (bAnsiAPI == bAnsiClient || (!pComp && !pRead))
560 ret = pImeDpi->ImeSetCompositionString(hIMC, dwIndex, pComp, dwCompLen,
642 pCompNew, cbCompNew, uCodePage);
656 pCompNew, cbCompNew, uCodePage);
674 pReadNew, cbReadNew, uCodePage);
688 pReadNew, cbReadNew, uCodePage);
705 pCompNew, cbCompNew, uCodePage);
716 pCompNew, cbCompNew, uCodePage);
732 pReadNew, cbReadNew, uCodePage);
743 pReadNew, cbReadNew, uCodePage);
814 ret = pImeDpi->ImeSetCompositionString(hIMC, dwIndex, pCompNew, cbCompNew,
815 pReadNew, cbReadNew);
859 TRACE(
"(%p, %lu, %p, %lu)\n", hIMC, dwIndex, lpBuf,
dwBufLen);
901 TRACE(
"(%p, %lu, %p, %lu)\n", hIMC, dwIndex, lpBuf,
dwBufLen);
938 TRACE(
"(%p, %lu, %p, %lu, %p, %lu)\n",
939 hIMC, dwIndex, lpComp, dwCompLen, lpRead, dwReadLen);
950 TRACE(
"(%p, %lu, %p, %lu, %p, %lu)\n",
951 hIMC, dwIndex, lpComp, dwCompLen, lpRead, dwReadLen);
VOID WINAPI ImmUnlockImeDpi(PIMEDPI pImeDpi)
#define GCS_RESULTREADSTR
static INT APIENTRY Imm32CompClauseWideToAnsi(const DWORD *source, INT slen, LPCWSTR text, LPDWORD target, INT tlen, UINT uCodePage)
LONG WINAPI ImmGetCompositionStringA(HIMC hIMC, DWORD dwIndex, LPVOID lpBuf, DWORD dwBufLen)
#define SCS_QUERYRECONVERTSTRING
DWORD APIENTRY Imm32ReconvertAnsiFromWide(LPRECONVERTSTRING pDest, const RECONVERTSTRING *pSrc, UINT uCodePage)
#define WideCharToMultiByte
#define CS_SizeW(pCS, Name)
LPINPUTCONTEXT WINAPI ImmLockIMC(HIMC hIMC)
BOOL WINAPI ImmSetCompositionStringW(HIMC hIMC, DWORD dwIndex, LPVOID lpComp, DWORD dwCompLen, LPVOID lpRead, DWORD dwReadLen)
#define CS_Clause(pCS, Name)
BOOL APIENTRY Imm32OpenICAndCS(HIMC hIMC, LPINPUTCONTEXT *ppIC, LPCOMPOSITIONSTRING *ppCS)
LPVOID APIENTRY ImmLocalAlloc(DWORD dwFlags, DWORD dwBytes)
#define SCS_CAP_SETRECONVERTSTRING
LPVOID WINAPI ImmLockIMCC(HIMCC imcc)
#define CS_DoStrW(pCS, Name)
static INT APIENTRY Imm32CompAttrAnsiToWide(const BYTE *src, INT src_len, LPCSTR text, INT str_len, LPBYTE dst, INT dst_len, UINT uCodePage)
_In_ HCRYPTHASH _In_ BOOL _In_ DWORD _Inout_ DWORD _In_ DWORD dwBufLen
DWORD APIENTRY Imm32ReconvertWideFromAnsi(LPRECONVERTSTRING pDest, const RECONVERTSTRING *pSrc, UINT uCodePage)
static INT APIENTRY Imm32CompClauseAnsiToWide(const DWORD *source, INT slen, LPCSTR text, LPDWORD target, INT tlen, UINT uCodePage)
BOOL WINAPI IsDBCSLeadByteEx(UINT CodePage, BYTE TestByte)
#define CS_Attr(pCS, Name)
PCLIENTIMC WINAPI ImmLockClientImc(HIMC hImc)
#define IMM_ERROR_GENERAL
DWORD WINAPI GetCurrentThreadId(VOID)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
LONG WINAPI ImmGetCompositionStringW(HIMC hIMC, DWORD dwIndex, LPVOID lpBuf, DWORD dwBufLen)
DWORD_PTR NTAPI NtUserQueryInputContext(HIMC hIMC, DWORD dwType)
#define GCS_RESULTREADCLAUSE
PIMEDPI WINAPI ImmLockImeDpi(HKL hKL)
#define GCS_COMPREADCLAUSE
LONG APIENTRY Imm32GetCompStrW(HIMC hIMC, const COMPOSITIONSTRING *pCS, DWORD dwIndex, LPVOID lpBuf, DWORD dwBufLen, BOOL bAnsiClient, UINT uCodePage)
static LONG APIENTRY Imm32CompStrAnsiToWide(LPCSTR psz, DWORD cb, LPWSTR lpBuf, DWORD dwBufLen, UINT uCodePage)
#define ImeDpi_IsUnicode(pImeDpi)
static LONG APIENTRY Imm32CompStrWideToAnsi(LPCWSTR psz, DWORD cb, LPSTR lpBuf, DWORD dwBufLen, UINT uCodePage)
static INT APIENTRY Imm32CompAttrWideToAnsi(const BYTE *src, INT src_len, LPCWSTR text, INT str_len, LPBYTE dst, INT dst_len, UINT uCodePage)
#define CS_Size(pCS, Name)
#define ImmLocalFree(lpData)
BOOL WINAPI ImmUnlockIMCC(HIMCC imcc)
LONG APIENTRY Imm32GetCompStrA(HIMC hIMC, const COMPOSITIONSTRING *pCS, DWORD dwIndex, LPVOID lpBuf, DWORD dwBufLen, BOOL bAnsiClient, UINT uCodePage)
#define CS_DoStrA(pCS, Name)
BOOL APIENTRY ImmSetCompositionStringAW(HIMC hIMC, DWORD dwIndex, LPVOID pComp, DWORD dwCompLen, LPVOID pRead, DWORD dwReadLen, BOOL bAnsiAPI)
BOOL WINAPI ImmSetCompositionStringA(HIMC hIMC, DWORD dwIndex, LPVOID lpComp, DWORD dwCompLen, LPVOID lpRead, DWORD dwReadLen)
LONG APIENTRY IchWideFromAnsi(LONG cchAnsi, LPCSTR pchAnsi, UINT uCodePage)
#define CS_StrW(pCS, Name)
LONG APIENTRY IchAnsiFromWide(LONG cchWide, LPCWSTR pchWide, UINT uCodePage)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
PKEYBOARD_LAYOUT GetKeyboardLayout()
#define CS_SizeA(pCS, Name)
#define MultiByteToWideChar
static HMODULE MODULEINFO DWORD cb
#define SCS_SETRECONVERTSTRING
BOOL WINAPI ImmUnlockIMC(HIMC hIMC)
WINE_DEFAULT_DEBUG_CHANNEL(imm)
#define CS_StrA(pCS, Name)
VOID WINAPI ImmUnlockClientImc(PCLIENTIMC pClientImc)