27 if (pImeDpi->
hKL == hKL)
41 pImeDpi->ImeDestroy(0);
51 DWORD dwSysInfoFlags = 0;
62 if (!pImeDpi->ImeInquire(pImeInfo, szUIClass, dwSysInfoFlags))
70 if (pImeDpi->CtfImeInquireExW(pImeInfo, szUIClass, dwSysInfoFlags, pImeDpi->
hKL) !=
S_OK)
87#define VALID_IME_PROP (IME_PROP_AT_CARET | \
88 IME_PROP_SPECIAL_UI | \
89 IME_PROP_CANDLIST_START_FROM_1 | \
91 IME_PROP_COMPLETE_ON_UNSELECT | \
92 IME_PROP_END_UNLOAD | \
93 IME_PROP_KBD_CHAR_FIRST | \
94 IME_PROP_IGNORE_UPKEYS | \
95 IME_PROP_NEED_ALTKEY | \
96 IME_PROP_NO_KEYS_ON_CLOSE | \
97 IME_PROP_ACCEPT_WIDE_VKEY)
98#define VALID_CMODE_CAPS (IME_CMODE_ALPHANUMERIC | \
100 IME_CMODE_KATAKANA | \
101 IME_CMODE_LANGUAGE | \
102 IME_CMODE_FULLSHAPE | \
104 IME_CMODE_CHARCODE | \
105 IME_CMODE_HANJACONVERT | \
106 IME_CMODE_SOFTKBD | \
107 IME_CMODE_NOCONVERSION | \
111#define VALID_SMODE_CAPS (IME_SMODE_NONE | \
112 IME_SMODE_PLAURALCLAUSE | \
113 IME_SMODE_SINGLECONVERT | \
114 IME_SMODE_AUTOMATIC | \
115 IME_SMODE_PHRASEPREDICT | \
116 IME_SMODE_CONVERSATION)
117#define VALID_UI_CAPS (UI_CAP_2700 | \
121#define VALID_SCS_CAPS (SCS_CAP_COMPSTR | \
123 SCS_CAP_SETRECONVERTSTRING)
124#define VALID_SELECT_CAPS (SELECT_CAP_CONVERSION | SELECT_CAP_SENTENCE)
158#undef VALID_CMODE_CAPS
159#undef VALID_SMODE_CAPS
162#undef VALID_SELECT_CAPS
189#define DEFINE_IME_ENTRY(type, name, params, optional) \
190 type APIENTRY Stub##name params { \
191 FIXME("%s: Why stub called?\n", #name); \
195#undef DEFINE_IME_ENTRY
216#define DEFINE_IME_ENTRY(type, name, params, optional) pImeDpi->name = Stub##name;
218#undef DEFINE_IME_ENTRY
221#define DEFINE_IME_ENTRY(type, name, params, optional) \
223 fn = GetProcAddress(hIME, #name); \
224 if (fn) pImeDpi->name = (FN_##name)fn; \
225 else if (!(optional)) { \
226 ERR("'%s' not found in IME module '%s'.\n", #name, debugstr_w(szPath)); \
231#undef DEFINE_IME_ENTRY
271 PIMEDPI pImeDpiNew, pImeDpiFound;
297 pImeDpiNew->
hKL = hKL;
301 uCodePage = ci.
ciACP;
319 pImeDpiFound->
dwFlags &= ~IMEDPI_FLAG_LOCKED;
363 return pImeDpi->ImeEscape(hIMC, uSubFunc, lpData);
365 return pImeDpi->CtfImeEscapeEx(hIMC, uSubFunc, lpData, hKL);
380 if (pImeDpi0->
hKL == hKL)
402 if (pImeDpi1->
pNext == pImeDpi0)
421#define MAX_IMEMENU_BITMAP_BYTES 0xF00
454 DWORD i, cItems, cbItems = 0;
485 for (
i = 0;
i < cItems; ++
i)
533 LPIMEMENUITEMINFOW pSetInfo;
549 0, cbView,
L"ImmMenuInfo");
561 pView->
Parent = *(LPIMEMENUITEMINFOW)lpImeParentMenu;
578 pGotItem = &(pView->
Items[
i]);
579 pSetInfo = &((LPIMEMENUITEMINFOW)lpImeMenu)[
i];
581 *pSetInfo = pGotItem->
Info;
584 if (pSetInfo->hbmpChecked)
588 if (pSetInfo->hbmpUnchecked)
592 if (pSetInfo->hbmpItem)
617 LPIMEMENUITEMINFOA pItemA;
618 LPIMEMENUITEMINFOW pItemW;
659 if (bImcIsAnsi != bTargetIsAnsi)
664 pNewParent = &ParentW;
677 pNewParent = &ParentA;
690 pNewItems = lpImeMenu;
691 pNewParent = lpImeParentMenu;
694 ret = pImeDpi->ImeGetImeMenuItems(hIMC,
dwFlags, dwType, pNewParent, pNewItems,
dwSize);
698 if (bImcIsAnsi != bTargetIsAnsi)
707 for (iItem = 0; iItem <
ret; ++iItem, ++pItemW, ++pItemA)
724 for (iItem = 0; iItem <
dwSize; ++iItem, ++pItemA, ++pItemW)
737 if (pNewItems != lpImeMenu)
779 UINT iLayout, cLayouts;
816 for (iLayout = 0; iLayout < cLayouts; ++iLayout)
818 if (
lstrcmpiW(pLayouts[iLayout].szFileName, pchFilePart) == 0)
820 if (wLangID !=
LOWORD(pLayouts[iLayout].hKL))
826 hNewKL = pLayouts[iLayout].
hKL;
845 if (
lstrcmpiW(szImeFileName, szImeDestPath) != 0 &&
883 TRACE(
"(%p)\n", hKL);
913 TRACE(
"(%p, %lu, %lu, %lu)\n", hIMC, dwAction, dwIndex, dwValue);
923 ret = pImeDpi->NotifyIME(hIMC, dwAction, dwIndex, dwValue);
937 hKL = *(
HKL*)pvSearchKey;
938 pImeInfoEx->
hkl = hKL;
982 TRACE(
"(%p)\n", hKL);
989 if (pImeDpi->
hKL == hKL)
1011 TRACE(
"(%p)\n", pImeDpi);
1013 if (pImeDpi ==
NULL)
1037 for (ppEntry = &
gpImeDpiList; *ppEntry; ppEntry = &((*ppEntry)->pNext))
1039 if (*ppEntry == pImeDpi)
1041 *ppEntry = pImeDpi->
pNext;
1066 if (pImeDpi ==
NULL)
1068 return (pImeDpi !=
NULL);
1087 TRACE(
"(%p,%p,%d)\n", hKL, lpszDescription, uBufLen);
1103 lpszDescription, uBufLen,
NULL,
NULL);
1105 lpszDescription[
cch] = 0;
1117 TRACE(
"(%p, %p, %d)\n", hKL, lpszDescription, uBufLen);
1147 TRACE(
"(%p, %p, %u)\n", hKL, lpszFileName, uBufLen);
1153 lpszFileName[0] = 0;
1161 lpszFileName[0] = 0;
1168 lpszFileName, uBufLen,
NULL, &bDefUsed);
1172 if (
cch > uBufLen - 1)
1175 lpszFileName[
cch] = 0;
1187 TRACE(
"(%p, %p, %u)\n", hKL, lpszFileName, uBufLen);
1193 lpszFileName[0] = 0;
1201 lpszFileName[0] = 0;
1211 if (
cch > uBufLen - 1)
1214 lpszFileName[
cch] = 0;
1228 TRACE(
"(%p, %lu)\n", hKL, fdwIndex);
1255 pImeInfo = &ImeInfoEx.
ImeInfo;
1266 default: dwValue = 0;
break;
1285 TRACE(
"(%p, %p, %u, %p)\n", hKL, hIMC, uSubFunc, lpData);
1374 TRACE(
"(%p, %p, %u, %p)\n", hKL, hIMC, uSubFunc, lpData);
1403 case 1:
ret = szW[0];
break;
1405 default:
ret = 0;
break;
1448 TRACE(
"(%p)\n", hIMC);
1473 TRACE(
"(%p, %d)\n", hIMC, fOpen);
1482 if (pIC->
fOpen != fOpen)
1500 TRACE(
"No change.\n");
1514 TRACE(
"(%p, %p)\n", hIMC, lpptPos);
1536 TRACE(
"(%p, {%ld, %ld})\n", hIMC, lpptPos->
x, lpptPos->
y);
1564 TRACE(
"(%p, %p)\n", hIMC, lpCompForm);
1595 pIC->cfCompForm = *lpCompForm;
1621 TRACE(
"(%p, %p)\n", hIMC, lplf);
1658 TRACE(
"(%p, %p)\n", hIMC, lplf);
1697 TRACE(
"(%p, %p)\n", hIMC, lplf);
1730 pIC->lfFont.A = *lplf;
1753 TRACE(
"(%p, %p)\n", hIMC, lplf);
1786 pIC->lfFont.W = *lplf;
1819 ret = pImeDpi->ImeConversionList(hIMC, pSrc, lpDst,
dwBufLen, uFlag);
1831 cb = pImeDpi->ImeConversionList(hIMC, pszSrcW,
NULL, 0, uFlag);
1839 cb = pImeDpi->ImeConversionList(hIMC, pszSrcW, pCL,
cb, uFlag);
1875 ret = pImeDpi->ImeConversionList(hIMC, pSrc, lpDst,
dwBufLen, uFlag);
1887 cb = pImeDpi->ImeConversionList(hIMC, pszSrcA,
NULL, 0, uFlag);
1895 cb = pImeDpi->ImeConversionList(hIMC, pszSrcA, pCL,
cb, uFlag);
1916 TRACE(
"(%p %p %p)\n", hIMC, lpfdwConversion, lpfdwSentence);
1922 if (lpfdwConversion)
1925 TRACE(
"0x%X\n", *lpfdwConversion);
1931 TRACE(
"0x%X\n", *lpfdwSentence);
1945 DWORD dwOldConversion, dwOldSentence;
1949 TRACE(
"(%p, 0x%lX, 0x%lX)\n", hIMC, fdwConversion, fdwSentence);
1966 fConversionChange =
TRUE;
1973 fSentenceChange =
TRUE;
1980 if (fConversionChange || fUseCicero)
1984 if (fConversionChange)
1988 if (fSentenceChange || fUseCicero)
2007 TRACE(
"(%p, %p, 0x%lX, %p)\n", hKL,
hWnd, dwMode, lpData);
2041 ret = pImeDpi->ImeConfigure(hKL,
hWnd, dwMode, lpData);
2062 TRACE(
"(%p, %p, 0x%lX, %p)\n", hKL,
hWnd, dwMode, lpData);
2096 ret = pImeDpi->ImeConfigure(hKL,
hWnd, dwMode, lpData);
2112 LPIMEMENUITEMINFOA lpImeParentMenu,
2115 TRACE(
"(%p, 0x%lX, 0x%lX, %p, %p, 0x%lX)\n",
2125 LPIMEMENUITEMINFOW lpImeParentMenu,
2128 TRACE(
"(%p, 0x%lX, 0x%lX, %p, %p, 0x%lX)\n",
2176 pClientImc->
dwFlags &= ~CLIENTIMC_DISABLEIME;
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
DWORD APIENTRY CandidateListAnsiToWide(const CANDIDATELIST *pAnsiCL, LPCANDIDATELIST pWideCL, DWORD dwBufLen, UINT uCodePage)
DWORD APIENTRY CandidateListWideToAnsi(const CANDIDATELIST *pWideCL, LPCANDIDATELIST pAnsiCL, DWORD dwBufLen, UINT uCodePage)
BOOL WINAPI CtfImmIsTextFrameServiceDisabled(VOID)
#define ERROR_CALL_NOT_IMPLEMENTED
#define INVALID_HANDLE_VALUE
#define CreateFileMappingW(a, b, c, d, e, f)
#define WideCharToMultiByte
#define MultiByteToWideChar
BOOL WINAPI ImmGetCompositionWindow(HIMC hIMC, LPCOMPOSITIONFORM lpCompForm)
BOOL WINAPI ImmSetCompositionFontW(HIMC hIMC, LPLOGFONTW lplf)
PIMEDPI APIENTRY Imm32FindImeDpi(HKL hKL)
struct tagIMEMENU IMEMENU
BOOL WINAPI ImmIsIME(HKL hKL)
LRESULT WINAPI ImmEscapeA(HKL hKL, HIMC hIMC, UINT uSubFunc, LPVOID lpData)
PIMEDPI APIENTRY Imm32LoadImeDpi(HKL hKL, BOOL bLock)
BOOL WINAPI ImmConfigureIMEA(HKL hKL, HWND hWnd, DWORD dwMode, LPVOID lpData)
#define VALID_SELECT_CAPS
VOID APIENTRY Imm32FreeIME(PIMEDPI pImeDpi, BOOL bDestroy)
BOOL WINAPI ImmGetCompositionFontA(HIMC hIMC, LPLOGFONTA lplf)
HWND WINAPI ImmGetDefaultIMEWnd(HWND hWnd)
PIMEDPI WINAPI ImmLockImeDpi(HKL hKL)
DWORD APIENTRY ImmGetImeMenuItemsAW(HIMC hIMC, DWORD dwFlags, DWORD dwType, LPVOID lpImeParentMenu, LPVOID lpImeMenu, DWORD dwSize, BOOL bTargetIsAnsi)
BOOL WINAPI ImmSetCompositionFontA(HIMC hIMC, LPLOGFONTA lplf)
UINT WINAPI ImmGetDescriptionA(HKL hKL, LPSTR lpszDescription, UINT uBufLen)
UINT WINAPI ImmGetIMEFileNameA(HKL hKL, LPSTR lpszFileName, UINT uBufLen)
DWORD WINAPI ImmGetConversionListA(HKL hKL, HIMC hIMC, LPCSTR pSrc, LPCANDIDATELIST lpDst, DWORD dwBufLen, UINT uFlag)
struct tagIMEMENUITEM * PIMEMENUITEM
VOID WINAPI ImmUnlockImeDpi(PIMEDPI pImeDpi)
BOOL WINAPI ImmDisableIME(DWORD dwThreadId)
BOOL WINAPI ImmConfigureIMEW(HKL hKL, HWND hWnd, DWORD dwMode, LPVOID lpData)
RTL_CRITICAL_SECTION gcsImeDpi
HKL WINAPI ImmInstallIMEW(LPCWSTR lpszIMEFileName, LPCWSTR lpszLayoutText)
BOOL WINAPI ImmGetOpenStatus(HIMC hIMC)
BOOL WINAPI ImmSetConversionStatus(HIMC hIMC, DWORD fdwConversion, DWORD fdwSentence)
DWORD WINAPI ImmGetImeMenuItemsW(HIMC hIMC, DWORD dwFlags, DWORD dwType, LPIMEMENUITEMINFOW lpImeParentMenu, LPIMEMENUITEMINFOW lpImeMenu, DWORD dwSize)
BOOL APIENTRY Imm32InquireIme(PIMEDPI pImeDpi)
struct tagIMEMENU * PIMEMENU
BOOL WINAPI ImmSetStatusWindowPos(HIMC hIMC, LPPOINT lpptPos)
BOOL WINAPI ImmGetStatusWindowPos(HIMC hIMC, LPPOINT lpptPos)
PIMEDPI APIENTRY Imm32FindOrLoadImeDpi(HKL hKL)
UINT WINAPI ImmGetDescriptionW(HKL hKL, LPWSTR lpszDescription, UINT uBufLen)
DWORD APIENTRY Imm32GetImeMenuItemWInterProcess(HIMC hIMC, DWORD dwFlags, DWORD dwType, LPVOID lpImeParentMenu, LPVOID lpImeMenu, DWORD dwSize)
LRESULT WINAPI ImmEscapeW(HKL hKL, HIMC hIMC, UINT uSubFunc, LPVOID lpData)
BOOL APIENTRY Imm32LoadIME(PIMEINFOEX pImeInfoEx, PIMEDPI pImeDpi)
BOOL WINAPI ImmGetImeInfoEx(PIMEINFOEX pImeInfoEx, IMEINFOEXCLASS SearchType, PVOID pvSearchKey)
DWORD WINAPI ImmGetImeMenuItemsA(HIMC hIMC, DWORD dwFlags, DWORD dwType, LPIMEMENUITEMINFOA lpImeParentMenu, LPIMEMENUITEMINFOA lpImeMenu, DWORD dwSize)
BOOL WINAPI ImmNotifyIME(HIMC hIMC, DWORD dwAction, DWORD dwIndex, DWORD_PTR dwValue)
static LRESULT APIENTRY ImeDpi_Escape(PIMEDPI pImeDpi, HIMC hIMC, UINT uSubFunc, LPVOID lpData, HKL hKL)
#define MAX_IMEMENU_BITMAP_BYTES
LRESULT WINAPI ImmPutImeMenuItemsIntoMappedFile(HIMC hIMC)
struct tagIMEMENUITEM IMEMENUITEM
HKL WINAPI ImmInstallIMEA(LPCSTR lpszIMEFileName, LPCSTR lpszLayoutText)
DWORD WINAPI ImmGetProperty(HKL hKL, DWORD fdwIndex)
UINT WINAPI ImmGetIMEFileNameW(HKL hKL, LPWSTR lpszFileName, UINT uBufLen)
BOOL WINAPI ImmWINNLSEnableIME(HWND hWnd, BOOL enable)
BOOL WINAPI ImmGetConversionStatus(HIMC hIMC, LPDWORD lpfdwConversion, LPDWORD lpfdwSentence)
BOOL WINAPI ImmLoadIME(HKL hKL)
BOOL WINAPI ImmSetOpenStatus(HIMC hIMC, BOOL fOpen)
BOOL WINAPI ImmSetCompositionWindow(HIMC hIMC, LPCOMPOSITIONFORM lpCompForm)
DWORD WINAPI ImmGetConversionListW(HKL hKL, HIMC hIMC, LPCWSTR pSrc, LPCANDIDATELIST lpDst, DWORD dwBufLen, UINT uFlag)
BOOL WINAPI ImmGetCompositionFontW(HIMC hIMC, LPLOGFONTW lplf)
BOOL APIENTRY Imm32ReleaseIME(HKL hKL)
BOOL WINAPI ImmUnlockIMC(HIMC hIMC)
VOID WINAPI ImmUnlockClientImc(PCLIENTIMC pClientImc)
BOOL WINAPI ImmSetActiveContext(HWND hWnd, HIMC hIMC, BOOL fActive)
PCLIENTIMC WINAPI ImmLockClientImc(HIMC hImc)
LPINPUTCONTEXT WINAPI ImmLockIMC(HIMC hIMC)
VOID APIENTRY LogFontAnsiToWide(const LOGFONTA *plfA, LPLOGFONTW plfW)
LPSTR APIENTRY Imm32AnsiFromWide(UINT uCodePage, LPCWSTR pszW)
#define IS_ZERO_UNEXPECTEDLY(p)
BOOL APIENTRY Imm32WriteImeLayout(HKL hKL, LPCWSTR pchFilePart, LPCWSTR pszLayoutText)
BOOL WINAPI Imm32IsImcAnsi(HIMC hIMC)
BOOL APIENTRY Imm32MakeIMENotify(HIMC hIMC, HWND hwnd, DWORD dwAction, DWORD_PTR dwIndex, DWORD_PTR dwValue, DWORD_PTR dwCommand, DWORD_PTR dwData)
LPVOID APIENTRY ImmLocalAlloc(DWORD dwFlags, DWORD dwBytes)
BOOL APIENTRY Imm32IsCrossThreadAccess(HIMC hIMC)
VOID APIENTRY LogFontWideToAnsi(const LOGFONTW *plfW, LPLOGFONTA plfA)
BOOL Imm32StoreBitmapToBytes(HBITMAP hbm, LPBYTE pbData, DWORD cbDataMax)
BOOL APIENTRY Imm32CopyImeFile(LPWSTR pszOldFile, LPCWSTR pszNewFile)
#define ValidateHwnd(hwnd)
UINT APIENTRY Imm32GetImeLayout(PREG_IME pLayouts, UINT cLayouts)
#define ImmLocalFree(lpData)
BOOL APIENTRY Imm32LoadImeVerInfo(PIMEINFOEX pImeInfoEx)
#define IS_CROSS_THREAD_HIMC(hIMC)
BOOL Imm32GetSystemLibraryPath(LPWSTR pszPath, DWORD cchPath, LPCWSTR pszFileName)
#define IS_NULL_UNEXPECTEDLY(p)
#define IS_CROSS_PROCESS_HWND(hWnd)
BOOL APIENTRY Imm32IsSystemJapaneseOrKorean(VOID)
HKL APIENTRY Imm32AssignNewLayout(UINT cKLs, const REG_IME *pLayouts, WORD wLangID)
#define ImeDpi_IsUnicode(pImeDpi)
HBITMAP Imm32LoadBitmapFromBytes(const BYTE *pb)
INT APIENTRY Imm32ImeMenuWideToAnsi(const IMEMENUITEMINFOW *pItemW, LPIMEMENUITEMINFOA pItemA, UINT uCodePage)
INT APIENTRY Imm32ImeMenuAnsiToWide(const IMEMENUITEMINFOA *pItemA, LPIMEMENUITEMINFOW pItemW, UINT uCodePage, BOOL bBitmap)
LPWSTR APIENTRY Imm32WideFromAnsi(UINT uCodePage, LPCSTR pszA)
DWORD WINAPI GetFullPathNameW(IN LPCWSTR lpFileName, IN DWORD nBufferLength, OUT LPWSTR lpBuffer, OUT LPWSTR *lpFilePart)
int WINAPI lstrcmpiW(LPCWSTR str1, LPCWSTR str2)
LCID WINAPI GetSystemDefaultLCID(void)
HANDLE NTAPI OpenFileMappingW(IN DWORD dwDesiredAccess, IN BOOL bInheritHandle, IN LPCWSTR lpName)
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
#define IMEDPI_FLAG_LOCKED
#define CLIENTIMC_DISABLEIME
struct INPUTCONTEXTDX * LPINPUTCONTEXTDX
@ ImeInfoExKeyboardLayoutTFS
@ ImeInfoExKeyboardLayout
#define IMEDPI_FLAG_UNLOADED
#define IME_ESC_SET_EUDC_DICTIONARY
#define IMN_SETSTATUSWINDOWPOS
#define IME_CONFIG_REGISTERWORD
#define IMN_SETCOMPOSITIONFONT
#define IMC_SETSTATUSWINDOWPOS
#define IMN_SETSENTENCEMODE
#define IGP_GETIMEVERSION
#define IMC_SETCOMPOSITIONWINDOW
#define IME_ESC_HANJA_MODE
#define IME_ESC_GETHELPFILENAME
#define IMN_SETCOMPOSITIONWINDOW
#define IME_ESC_GET_EUDC_DICTIONARY
#define IME_ESC_SEQUENCE_TO_INTERNAL
#define IMC_SETCOMPOSITIONFONT
#define IMN_SETOPENSTATUS
#define IMN_SETCONVERSIONMODE
#define IMC_SETOPENSTATUS
#define IME_SYSINFO_WINLOGON
#define IMC_SETCONVERSIONMODE
#define IMC_SETSENTENCEMODE
#define NI_CONTEXTUPDATED
#define IME_SYSINFO_WOW16
#define IME_PROP_END_UNLOAD
#define INIT_STATUSWNDPOS
DWORD NTAPI NtUserNotifyIMEStatus(HWND hwnd, BOOL fOpen, DWORD dwConversion)
BOOL NTAPI NtUserDisableThreadIme(DWORD dwThreadID)
@ THREADSTATE_DEFAULTIMEWINDOW
@ THREADSTATE_DEFAULTINPUTCONTEXT
BOOL NTAPI NtUserSetImeInfoEx(PIMEINFOEX pImeInfoEx)
DWORD_PTR NTAPI NtUserQueryInputContext(HIMC hIMC, DWORD dwType)
DWORD_PTR NTAPI NtUserQueryWindow(HWND hWnd, DWORD Index)
#define GetWin32ClientInfo()
DWORD_PTR NTAPI NtUserGetThreadState(DWORD Routine)
BOOL NTAPI NtUserGetImeInfoEx(PIMEINFOEX pImeInfoEx, IMEINFOEXCLASS SearchType)
#define QUERY_WINDOW_DEFAULT_IME
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
static DWORD DWORD void LPSTR DWORD cch
static HMODULE MODULEINFO DWORD cb
static int int const SCRIPT_CONTROL const SCRIPT_STATE SCRIPT_ITEM * pItems
NTSYSAPI NTSTATUS NTAPI RtlEnterCriticalSection(_In_ PRTL_CRITICAL_SECTION CriticalSection)
NTSYSAPI NTSTATUS NTAPI RtlLeaveCriticalSection(_In_ PRTL_CRITICAL_SECTION CriticalSection)
#define LANGIDFROMLCID(l)
STRSAFEAPI StringCchPrintfW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszFormat,...)
STRSAFEAPI StringCchCopyW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc)
STRSAFEAPI StringCchCopyNW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc, size_t cchToCopy)
STRSAFEAPI StringCchLengthW(STRSAFE_LPCWSTR psz, size_t cchMax, size_t *pcchLength)
COMPOSITIONFORM cfCompForm
union _tagINPUTCONTEXT::@2053 lfFont
#define RtlCopyMemory(Destination, Source, Length)
#define RtlZeroMemory(Destination, Length)
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_writes_opt_ NumCharacters PUSHORT _Inout_ PUSHORT _In_ UCHAR _In_opt_ USHORT LangID
static GLenum _GLUfuncptr fn
#define FILE_MAP_ALL_ACCESS
DWORD WINAPI GetCurrentProcessId(void)
_In_ HCRYPTHASH _In_ BOOL _In_ DWORD _Inout_ DWORD _In_ DWORD dwBufLen
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
BOOL WINAPI TranslateCharsetInfo(_Inout_ PDWORD, _Out_ LPCHARSETINFO, _In_ DWORD)
HWND WINAPI GetFocus(void)
BOOL WINAPI IsWindow(_In_opt_ HWND)
HKL WINAPI GetKeyboardLayout(_In_ DWORD)
BOOL WINAPI UnloadKeyboardLayout(_In_ HKL)
BOOL WINAPI PostMessageW(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
HKL WINAPI LoadKeyboardLayoutW(_In_ LPCWSTR, _In_ UINT)
BOOL WINAPI GetClassInfoW(_In_opt_ HINSTANCE, _In_ LPCWSTR, _Out_ LPWNDCLASSW)
BOOL WINAPI PostMessageA(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
LPWSTR WINAPI CharUpperW(_Inout_ LPWSTR)