ReactOS 0.4.16-dev-2610-ge2c92c0
imm32_undoc.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS Kernel
3 * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
4 * PURPOSE: Private header for imm32.dll
5 * COPYRIGHT: Copyright 2021 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
6 */
7
8#pragma once
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14#include <immdev.h>
15#include <winnls32.h> /* For IMEPROA/W */
16
17#define IME_MASK (0xE0000000UL)
18#define SUBST_MASK (0xD0000000UL)
19#define SPECIAL_MASK (0xF0000000UL)
20
21#define IS_IME_HKL(hKL) ((((ULONG_PTR)(hKL)) & 0xF0000000) == IME_MASK)
22#define IS_SPECIAL_HKL(hKL) ((((ULONG_PTR)(hKL)) & 0xF0000000) == SPECIAL_MASK)
23#define SPECIALIDFROMHKL(hKL) ((WORD)(HIWORD(hKL) & 0x0FFF))
24
25#define IS_IME_KLID(dwKLID) ((((ULONG)(dwKLID)) & 0xF0000000) == IME_MASK)
26#define IS_SUBST_KLID(dwKLID) ((((ULONG)(dwKLID)) & 0xF0000000) == SUBST_MASK)
27
28/* The special values for ImmFreeLayout hKL */
29#define HKL_SWITCH_TO_NON_IME ((HKL)UlongToHandle(1))
30#define HKL_RELEASE_IME ((HKL)UlongToHandle(2))
31
32#define WM_IME_SYSTEM 0x00000287
33
34/* The additional dwIndex value for ImmGetCompositionStringA/W */
35#define GCS_PRIVATE 0x8000
36
37/* Used in ImmGetCompositionStringA/W */
38typedef struct tagCOMPSTR_PRIVATE
39{
40 DWORD dwUnknown0; /* FIXME: Rename */
41 DWORD dwUnknown1; /* FIXME: Rename */
45
46/* wParam for WM_IME_SYSTEM */
47#define IMS_NOTIFYIMESHOW 0x05
48#define IMS_UPDATEIMEUI 0x06
49#define IMS_SETCANDFORM 0x09
50#define IMS_SETCOMPFONT 0x0A
51#define IMS_SETCOMPFORM 0x0B
52#define IMS_CONFIGURE 0x0D
53#define IMS_SETOPENSTATUS 0x0F
54#define IMS_FREELAYOUT 0x11
55#define IMS_SOFTKBDONOFF 0x13
56#define IMS_GETCONVSTATUS 0x14
57#define IMS_IMEHELP 0x15
58#define IMS_IMEACTIVATE 0x17
59#define IMS_IMEDEACTIVATE 0x18
60#define IMS_ACTIVATELAYOUT 0x19
61#define IMS_CONSOLEIME_1A 0x1A /* Undocumented console IME WM_IME_SYSTEM subcommand (0x1A), used internally by conime for Windows compatibility. */
62#define IMS_CONSOLEIME_1B 0x1B /* Undocumented console IME WM_IME_SYSTEM subcommand (0x1B), used internally by conime for Windows compatibility. */
63#define IMS_GETIMEMENU 0x1C
64#define IMS_IMEMENUITEMSELECTED 0x1D
65#define IMS_GETCONTEXT 0x1E
66#define IMS_SENDNOTIFICATION 0x1F
67#define IMS_COMPLETECOMPSTR 0x20
68#define IMS_LOADTHREADLAYOUT 0x21
69#define IMS_SETLANGBAND 0x23
70#define IMS_UNSETLANGBAND 0x24
71
72typedef struct tagIMEINFOEX
73{
84 struct
85 {
88 };
90
91typedef enum IMEINFOEXCLASS
92{
98
99#define DEFINE_IME_ENTRY(type, name, params, extended) typedef type (WINAPI *FN_##name) params;
100#include <imetable.h>
101#undef DEFINE_IME_ENTRY
102
103typedef struct IMEDPI
104{
105 struct IMEDPI *pNext;
113#define DEFINE_IME_ENTRY(type, name, params, extended) FN_##name name;
114#include <imetable.h>
115#undef DEFINE_IME_ENTRY
117
118#ifndef _WIN64
148C_ASSERT(sizeof(IMEDPI) == 0xa8);
149#endif
150
151/* flags for IMEDPI.dwFlags */
152#define IMEDPI_FLAG_UNLOADED 0x1
153#define IMEDPI_FLAG_LOCKED 0x2
154
157
158/* unconfirmed */
159typedef struct tagCLIENTIMC
160{
161 HANDLE hInputContext; /* LocalAlloc'ed LHND */
170
171#ifndef _WIN64
172C_ASSERT(offsetof(CLIENTIMC, hInputContext) == 0x0);
173C_ASSERT(offsetof(CLIENTIMC, cLockObj) == 0x4);
175C_ASSERT(offsetof(CLIENTIMC, dwCompatFlags) == 0xc);
177C_ASSERT(offsetof(CLIENTIMC, uCodePage) == 0x28);
179C_ASSERT(sizeof(CLIENTIMC) == 0x34);
180#endif
181
182/* flags for CLIENTIMC */
183#define CLIENTIMC_WIDE 0x1
184#define CLIENTIMC_ACTIVE 0x2
185#define CLIENTIMC_DESTROY 0x40
186#define CLIENTIMC_DISABLEIME 0x80
187#define CLIENTIMC_LOCKED 0x100
188
191
192struct IME_STATE;
193
194/* unconfirmed */
195#ifdef __cplusplus
196typedef struct INPUTCONTEXTDX : INPUTCONTEXT
197{
198#else
199typedef struct INPUTCONTEXTDX
200{
202#endif
203 UINT nVKey; // +0x140
204 BOOL bNeedsTrans; // +0x144
206 DWORD dwUIFlags; // +0x14c
208 struct IME_STATE *pState; // +0x154
209 DWORD dwChange; // +0x158
212
213/* INPUTCONTEXTDX.dwUIFlags flags */
214#define _IME_UI_HIDDEN 0x2
215#define _IME_UI_VERTICAL 0x4
216#define _IME_UI_NO_COMPFORM 0x8
217
218/* ImmGetAppCompatFlags flags */
219#define _IME_APP_COMPAT_DIRECT_IME_SYSTEM 0x1
220#define _IME_APP_COMPAT_DIRECT_IME_FONT 0x80
221#define _IME_APP_COMPAT_PROCESS_BY_IME 0x10000
222#define _IME_APP_COMPAT_SPECIAL_IME 0x80000000
223
224/* Extra conversion mode */
225#define _IME_CMODE_EXTENDED 0x80000000
226
227/* Extra IME mode */
228#define _IME_MODE_KOR_SBCSCHAR 0x0002 /* For Korean */
229#define _IME_MODE_JPN_SBCSCHAR 0x0008 /* For Japanese */
230
231typedef struct IME_SUBSTATE
232{
237
238#ifndef _WIN64
239C_ASSERT(sizeof(IME_SUBSTATE) == 0xc);
240#endif
241
242typedef struct IME_STATE
243{
252
253#ifndef _WIN64
254C_ASSERT(sizeof(IME_STATE) == 0x18);
255#endif
256
258
261 _Out_ PIMEINFOEX pImeInfoEx,
262 _In_ IMEINFOEXCLASS SearchType,
263 _In_ PVOID pvSearchKey);
264
275
278 _In_ DWORD dwHotKey,
279 _Out_ LPUINT lpuModifiers,
280 _Out_ LPUINT lpuVKey,
281 _Out_opt_ LPHKL lphKL);
282
285 _In_ DWORD dwID,
286 _In_ UINT uModifiers,
287 _In_ UINT uVirtualKey,
288 _In_opt_ _When_((dwAction == SETIMEHOTKEY_ADD) &&
289 !(IME_HOTKEY_DSWITCH_FIRST <= dwHotKeyId &&
290 dwHotKeyId <= IME_HOTKEY_DSWITCH_LAST), _Null_) HKL hKL);
291
296
299 _In_ HIMC hIMC,
302
305 _In_ HWND hWnd,
306 _In_ UINT uMsg,
309 _Out_ LPUINT puVK);
310
317
320 _In_ HWND hWnd,
322
325 _In_ HWND hWnd,
327
345
348 _In_ HWND hWnd,
349 _In_ UINT uMsg,
352
353#ifdef UNICODE
354 #define ImmIMPGetIME ImmIMPGetIMEW
355 #define ImmIMPQueryIME ImmIMPQueryIMEW
356 #define ImmIMPSetIME ImmIMPSetIMEW
357 #define ImmSendIMEMessageEx ImmSendIMEMessageExW
358#else
359 #define ImmIMPGetIME ImmIMPGetIMEA
360 #define ImmIMPQueryIME ImmIMPQueryIMEA
361 #define ImmIMPSetIME ImmIMPSetIMEA
362 #define ImmSendIMEMessageEx ImmSendIMEMessageExA
363#endif
364
365#ifdef __cplusplus
366} // extern "C"
367#endif
HWND hWnd
Definition: settings.c:17
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
DWORD HIMCC
Definition: dimm.idl:76
DWORD HIMC
Definition: dimm.idl:75
#define FAR
Definition: zlib.h:34
HINSTANCE hInst
Definition: dxdiag.c:13
unsigned short WORD
Definition: ntddk_ex.h:93
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
GLboolean enable
Definition: glext.h:11120
#define cs
Definition: i386-dis.c:442
struct tagCLIENTIMC * PCLIENTIMC
HRESULT WINAPI CtfAImmActivate(_Out_opt_ HINSTANCE *phinstCtfIme)
Definition: ctf.c:1009
LRESULT WINAPI ImmSendIMEMessageExW(_In_ HWND hWnd, _In_ LPARAM lParam)
Definition: win3send.c:1017
struct IME_SUBSTATE * NPIME_SUBSTATE
BOOL WINAPI ImmIMPQueryIMEA(_Inout_ LPIMEPROA pImePro)
Definition: imepro.c:121
HRESULT WINAPI CtfImmLastEnabledWndDestroy(_In_ BOOL bCreate)
Definition: ctf.c:996
DWORD WINAPI ImmProcessKey(_In_ HWND, _In_ HKL, _In_ UINT, _In_ LPARAM, _In_ DWORD)
Definition: keymsg.c:740
BOOL WINAPI ImmIMPGetIMEW(_In_opt_ HWND hWnd, _Out_ LPIMEPROW pImePro)
Definition: imepro.c:97
struct tagIMEINFOEX * PIMEINFOEX
struct tagCLIENTIMC * LPCLIENTIMC
VOID WINAPI CtfImmEnterCoInitCountSkipMode(VOID)
Definition: ctf.c:381
DWORD WINAPI ImmGetAppCompatFlags(_In_ HIMC hIMC)
Definition: keymsg.c:722
BOOL WINAPI ImmFreeLayout(_In_ HKL hKL)
Definition: imm.c:124
struct IME_SUBSTATE * PIME_SUBSTATE
UINT WINAPI GetKeyboardLayoutCP(_In_ LANGID wLangId)
Definition: imm.c:1297
VOID WINAPI CtfImmRestoreToolbarWnd(_In_ LPVOID pUnused, _In_ DWORD dwShowFlags)
Definition: ctf.c:1392
struct tagIMEINFOEX * NPIMEINFOEX
BOOL WINAPI CtfImmIsCiceroStartedInThread(VOID)
Definition: ctf.c:781
BOOL WINAPI ImmActivateLayout(_In_ HKL hKL)
Definition: imm.c:450
LRESULT WINAPI CtfImmDispatchDefImeMessage(_In_ HWND hWnd, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam)
Definition: ctf.c:1417
struct tagIMEINFOEX IMEINFOEX
VOID WINAPI CtfImmSetAppCompatFlags(_In_ DWORD dwFlags)
Definition: ctf.c:805
struct IMEDPI * NPIMEDPI
BOOL WINAPI ImmIMPGetIMEA(_In_opt_ HWND hWnd, _Out_ LPIMEPROA pImePro)
Definition: imepro.c:68
BOOL WINAPI ImmLoadIME(_In_ HKL hKL)
Definition: ime.c:612
PCLIENTIMC WINAPI ImmLockClientImc(_In_ HIMC hImc)
Definition: imm.c:955
DWORD WINAPI ImmCallImeConsoleIME(_In_ HWND hWnd, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam, _Out_ LPUINT puVK)
Definition: keymsg.c:1179
BOOL WINAPI ImmIMPQueryIMEW(_Inout_ LPIMEPROW pImePro)
Definition: imepro.c:161
struct IME_STATE * LPIME_STATE
HRESULT WINAPI CtfImmTIMActivate(_In_ HKL hKL)
Definition: ctf.c:1123
BOOL WINAPI CtfImmGenerateMessage(_In_ HIMC hIMC, _In_ BOOL bSend)
Definition: ctf.c:1273
VOID WINAPI CtfImmCoUninitialize(VOID)
Definition: ctf.c:614
BOOL WINAPI ImmPutImeMenuItemsIntoMappedFile(_In_ HIMC hIMC)
Definition: imemenu.c:731
struct INPUTCONTEXTDX * LPINPUTCONTEXTDX
BOOL WINAPI ImmWINNLSGetEnableStatus(_In_opt_ HWND hWnd)
Definition: imm.c:1266
BOOL WINAPI ImmSetActiveContextConsoleIME(_In_ HWND hwnd, _In_ BOOL fFlag)
Definition: imm.c:1281
BOOL WINAPI CtfImmIsCiceroEnabled(VOID)
Definition: ctf.c:1068
BOOL WINAPI ImmIMPSetIMEW(_In_opt_ HWND hWnd, _Inout_ LPIMEPROW pImePro)
Definition: imepro.c:266
struct tagCOMPSTR_PRIVATE COMPSTR_PRIVATE
BOOL WINAPI ImmGetHotKey(_In_ DWORD dwHotKey, _Out_ LPUINT lpuModifiers, _Out_ LPUINT lpuVKey, _Out_opt_ LPHKL lphKL)
Definition: keymsg.c:648
LRESULT WINAPI ImmSystemHandler(_In_ HIMC hIMC, _Inout_opt_ WPARAM wParam, _Inout_opt_ LPARAM lParam)
Definition: keymsg.c:844
struct IMEDPI * LPIMEDPI
LRESULT WINAPI ImmSendIMEMessageExA(_In_ HWND hWnd, _In_ LPARAM lParam)
Definition: win3send.c:1002
struct tagIMEINFOEX * LPIMEINFOEX
BOOL WINAPI CtfImmIsGuidMapEnable(_In_ HIMC hIMC)
Definition: ctf.c:1435
DWORD WINAPI CtfImmHideToolbarWnd(VOID)
Definition: ctf.c:1363
BOOL WINAPI CtfImmIsTextFrameServiceDisabled(VOID)
Definition: ctf.c:1079
BOOL WINAPI ImmSetHotKey(_In_ DWORD dwID, _In_ UINT uModifiers, _In_ UINT uVirtualKey, _In_opt_ _When_((dwAction==SETIMEHOTKEY_ADD) &&!(IME_HOTKEY_DSWITCH_FIRST<=dwHotKeyId &&dwHotKeyId<=IME_HOTKEY_DSWITCH_LAST), _Null_) HKL hKL)
PIMEDPI WINAPI ImmLockImeDpi(_In_ HKL hKL)
Definition: ime.c:532
struct tagCOMPSTR_PRIVATE * LPCOMPSTR_PRIVATE
HRESULT WINAPI CtfAImmDeactivate(_In_ BOOL bDestroy)
Definition: ctf.c:1044
BOOL WINAPI CtfImmLeaveCoInitCountSkipMode(VOID)
Definition: ctf.c:395
struct IME_STATE * NPIME_STATE
BOOL WINAPI ImmGetImeInfoEx(_Out_ PIMEINFOEX pImeInfoEx, _In_ IMEINFOEXCLASS SearchType, _In_ PVOID pvSearchKey)
struct INPUTCONTEXTDX * NPINPUTCONTEXTDX
VOID WINAPI ImmUnlockImeDpi(_Inout_opt_ PIMEDPI pImeDpi)
Definition: ime.c:562
VOID WINAPI CtfImmSetCiceroStartInThread(_In_ BOOL bStarted)
Definition: ctf.c:790
IMEINFOEXCLASS
Definition: imm32_undoc.h:92
@ ImeInfoExImeFileName
Definition: imm32_undoc.h:96
@ ImeInfoExKeyboardLayoutTFS
Definition: imm32_undoc.h:94
@ ImeInfoExKeyboardLayout
Definition: imm32_undoc.h:93
@ ImeInfoExImeWindow
Definition: imm32_undoc.h:95
struct IMEDPI * PIMEDPI
BOOL WINAPI CtfAImmIsIME(_In_ HKL hKL)
Definition: ctf.c:767
BOOL WINAPI ImmSetActiveContext(_In_ HWND hwnd, _In_opt_ HIMC hIMC, _In_ BOOL fFlag)
Definition: imm.c:1165
struct IME_STATE * PIME_STATE
BOOL WINAPI ImmWINNLSEnableIME(_In_opt_ HWND hWnd, _In_ BOOL enable)
Definition: ime.c:1718
struct tagCLIENTIMC CLIENTIMC
VOID WINAPI ImmUnlockClientImc(_Inout_ PCLIENTIMC pClientImc)
Definition: imm.c:1002
struct tagCLIENTIMC * NPCLIENTIMC
BOOL WINAPI ImmLoadLayout(_In_ HKL hKL, _Inout_ PIMEINFOEX pImeInfoEx)
Definition: imm.c:71
BOOL WINAPI ImmIMPSetIMEA(_In_opt_ HWND hWnd, _Inout_ LPIMEPROA pImePro)
Definition: imepro.c:228
struct INPUTCONTEXTDX * PINPUTCONTEXTDX
struct tagCOMPSTR_PRIVATE * PCOMPSTR_PRIVATE
HKL FAR * LPHKL
Definition: imm.h:24
#define IME_HOTKEY_DSWITCH_LAST
Definition: imm.h:213
#define IME_HOTKEY_DSWITCH_FIRST
Definition: imm.h:212
DWORD WINAPI ImeGetImeMenuItems(_In_ HIMC hIMC, _In_ DWORD dwFlags, _In_ DWORD dwType, _Inout_opt_ LPIMEMENUITEMINFO lpImeParentMenu, _Inout_opt_ LPIMEMENUITEMINFO lpImeMenu, _In_ DWORD dwSize)
#define C_ASSERT(e)
Definition: intsafe.h:73
USHORT LANGID
Definition: mui.h:9
LONG_PTR LPARAM
Definition: minwindef.h:175
LONG_PTR LRESULT
Definition: minwindef.h:176
UINT_PTR WPARAM
Definition: minwindef.h:174
#define NEAR
Definition: minwindef.h:130
UINT_PTR HKL
Definition: msctf.idl:125
EXTERN_C UINT WINAPI ImeEnumRegisterWord(_In_ REGISTERWORDENUMPROCW lpfnEnumProc, _In_opt_ LPCWSTR lpszReading, _In_ DWORD dwStyle, _In_opt_ LPCWSTR lpszString, _In_opt_ LPVOID lpData)
Definition: msctfime.cpp:267
EXTERN_C BOOL WINAPI ImeSetCompositionString(_In_ HIMC hIMC, _In_ DWORD dwIndex, _In_opt_ LPCVOID lpComp, _In_ DWORD dwCompLen, _In_opt_ LPCVOID lpRead, _In_ DWORD dwReadLen)
Definition: msctfime.cpp:512
EXTERN_C DWORD WINAPI ImeConversionList(_In_ HIMC hIMC, _In_ LPCWSTR lpSrc, _Out_ LPCANDIDATELIST lpDst, _In_ DWORD dwBufLen, _In_ UINT uFlag)
Definition: msctfime.cpp:190
EXTERN_C UINT WINAPI ImeGetRegisterWordStyle(_In_ UINT nItem, _Out_ LPSTYLEBUFW lpStyleBuf)
Definition: msctfime.cpp:249
EXTERN_C HRESULT WINAPI CtfImeInquireExW(_Out_ LPIMEINFO lpIMEInfo, _Out_ LPWSTR lpszWndClass, _In_ DWORD dwSystemInfoFlags, _In_ HKL hKL)
Definition: msctfime.cpp:542
EXTERN_C LRESULT WINAPI ImeEscape(_In_ HIMC hIMC, _In_ UINT uEscape, _Inout_opt_ LPVOID lpData)
Definition: msctfime.cpp:348
EXTERN_C BOOL WINAPI ImeProcessKey(_In_ HIMC hIMC, _In_ UINT uVirtKey, _In_ LPARAM lParam, _In_ CONST LPBYTE lpbKeyState)
Definition: msctfime.cpp:364
EXTERN_C BOOL WINAPI CtfImeIsGuidMapEnable(_In_ HIMC hIMC)
Definition: msctfime.cpp:647
EXTERN_C BOOL WINAPI ImeDestroy(_In_ UINT uReserved)
Definition: msctfime.cpp:317
EXTERN_C BOOL WINAPI ImeSetActiveContext(_In_ HIMC hIMC, _In_ BOOL fFlag)
Definition: msctfime.cpp:436
EXTERN_C BOOL WINAPI NotifyIME(_In_ HIMC hIMC, _In_ DWORD dwAction, _In_ DWORD dwIndex, _In_ DWORD_PTR dwValue)
Definition: msctfime.cpp:484
EXTERN_C BOOL WINAPI ImeInquire(_Out_ LPIMEINFO lpIMEInfo, _Out_ LPWSTR lpszWndClass, _In_ DWORD dwSystemInfoFlags)
Definition: msctfime.cpp:171
EXTERN_C BOOL WINAPI CtfImeSelectEx(_In_ HIMC hIMC, _In_ BOOL fSelect, _In_ HKL hKL)
Definition: msctfime.cpp:571
EXTERN_C BOOL WINAPI ImeRegisterWord(_In_ LPCWSTR lpszReading, _In_ DWORD dwStyle, _In_ LPCWSTR lpszString)
Definition: msctfime.cpp:211
EXTERN_C LRESULT WINAPI CtfImeEscapeEx(_In_ HIMC hIMC, _In_ UINT uSubFunc, _Inout_opt_ LPVOID lpData, _In_ HKL hKL)
Definition: msctfime.cpp:596
EXTERN_C BOOL WINAPI ImeConfigure(_In_ HKL hKL, _In_ HWND hWnd, _In_ DWORD dwMode, _Inout_opt_ LPVOID lpData)
Definition: msctfime.cpp:286
EXTERN_C BOOL WINAPI ImeSelect(_In_ HIMC hIMC, _In_ BOOL fSelect)
Definition: msctfime.cpp:418
EXTERN_C UINT WINAPI ImeToAsciiEx(_In_ UINT uVirtKey, _In_ UINT uScanCode, _In_ CONST LPBYTE lpbKeyState, _Out_ LPTRANSMSGLIST lpTransMsgList, _In_ UINT fuState, _In_ HIMC hIMC)
Definition: msctfime.cpp:451
EXTERN_C HRESULT WINAPI CtfImeGetGuidAtom(_In_ HIMC hIMC, _In_ DWORD dwUnknown, _Out_opt_ LPDWORD pdwGuidAtom)
Definition: msctfime.cpp:620
EXTERN_C BOOL WINAPI ImeUnregisterWord(_In_ LPCWSTR lpszReading, _In_ DWORD dwStyle, _In_ LPCWSTR lpszString)
Definition: msctfime.cpp:230
unsigned int UINT
Definition: ndis.h:50
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
Definition: netsh.h:141
#define _Out_opt_
Definition: no_sal2.h:214
#define _Inout_
Definition: no_sal2.h:162
#define _Null_
Definition: no_sal2.h:52
#define _Inout_opt_
Definition: no_sal2.h:216
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
#define _In_opt_
Definition: no_sal2.h:212
#define _When_(c, a)
Definition: no_sal2.h:38
short WCHAR
Definition: pedump.c:58
long LONG
Definition: pedump.c:60
#define offsetof(TYPE, MEMBER)
_In_ int _In_ BOOL bCreate
Definition: shlobj.h:1527
IMEINFO ImeInfo
Definition: imm32_undoc.h:108
DWORD dwFlags
Definition: imm32_undoc.h:112
HINSTANCE hInst
Definition: imm32_undoc.h:106
HKL hKL
Definition: imm32_undoc.h:107
struct IMEDPI * pNext
Definition: imm32_undoc.h:105
WCHAR szUIClass[16]
Definition: imm32_undoc.h:110
UINT uCodePage
Definition: imm32_undoc.h:109
DWORD cLockObj
Definition: imm32_undoc.h:111
DWORD dwConversion
Definition: imm32_undoc.h:247
WORD fOpen
Definition: imm32_undoc.h:246
WORD wLang
Definition: imm32_undoc.h:245
PIME_SUBSTATE pSubState
Definition: imm32_undoc.h:250
DWORD dwInit
Definition: imm32_undoc.h:249
DWORD dwSentence
Definition: imm32_undoc.h:248
struct IME_STATE * pNext
Definition: imm32_undoc.h:244
struct IME_SUBSTATE * pNext
Definition: imm32_undoc.h:233
struct IME_STATE * pState
Definition: imm32_undoc.h:208
HIMCC hCtfImeContext
Definition: imm32_undoc.h:210
RTL_CRITICAL_SECTION cs
Definition: imm32_undoc.h:165
DWORD dwCompatFlags
Definition: imm32_undoc.h:164
HANDLE hInputContext
Definition: imm32_undoc.h:161
DWORD dwProdVersion
Definition: imm32_undoc.h:80
IMEINFO ImeInfo
Definition: imm32_undoc.h:75
WCHAR wszImeDescription[50]
Definition: imm32_undoc.h:82
INT fSysWow64Only
Definition: imm32_undoc.h:86
WCHAR wszImeFile[80]
Definition: imm32_undoc.h:83
WCHAR wszUIClass[16]
Definition: imm32_undoc.h:76
DWORD dwImeWinVersion
Definition: imm32_undoc.h:81
ULONG fdwInitConvMode
Definition: imm32_undoc.h:77
int32_t INT
Definition: typedefs.h:58
uint32_t ULONG
Definition: typedefs.h:59
uint32_t * LPUINT
Definition: typedefs.h:59
@ SETIMEHOTKEY_ADD
Definition: undocuser.h:422
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023
#define WINAPI
Definition: msvc.h:6