1 /**
2  * Windows API header module
3  *
4  * Translated from MinGW Windows headers
5  *
6  * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
7  * Source: $(DRUNTIMESRC core/sys/windows/_imm.d)
8  */
9 /// Automatically imported and edited from the druntime module
10 /// core.sys.windows.imm for the auto-generated win32 package.
11 module win32.imm;
12 //version (Windows):
13 @system:
14 
15 version (ANSI) {} else version = Unicode;
16 version (Win32_UseLib) pragma(lib, "imm32");
17 
18 import win32.windef, win32.wingdi;
19 import win32.winuser; // for the MFS_xxx enums.
20 import win32.w32api;
21 
22 enum WM_CONVERTREQUESTEX     = 0x108;
23 enum WM_IME_STARTCOMPOSITION = 0x10D;
24 enum WM_IME_ENDCOMPOSITION   = 0x10E;
25 enum WM_IME_COMPOSITION      = 0x10F;
26 enum WM_IME_KEYLAST          = 0x10F;
27 enum WM_IME_SETCONTEXT       = 0x281;
28 enum WM_IME_NOTIFY           = 0x282;
29 enum WM_IME_CONTROL          = 0x283;
30 enum WM_IME_COMPOSITIONFULL  = 0x284;
31 enum WM_IME_SELECT           = 0x285;
32 enum WM_IME_CHAR             = 0x286;
33 //static if (_WIN32_WINNT >= 0x500) {
34 enum WM_IME_REQUEST      = 0x288;
35 //}
36 enum WM_IME_KEYDOWN          = 0x290;
37 enum WM_IME_KEYUP            = 0x291;
38 
39 
40 enum IMC_GETCANDIDATEPOS=7;
41 enum IMC_SETCANDIDATEPOS=8;
42 enum IMC_GETCOMPOSITIONFONT=9;
43 enum IMC_SETCOMPOSITIONFONT=10;
44 enum IMC_GETCOMPOSITIONWINDOW=11;
45 enum IMC_SETCOMPOSITIONWINDOW=12;
46 enum IMC_GETSTATUSWINDOWPOS=15;
47 enum IMC_SETSTATUSWINDOWPOS=16;
48 enum IMC_CLOSESTATUSWINDOW=0x21;
49 enum IMC_OPENSTATUSWINDOW=0x22;
50 enum IMN_CLOSESTATUSWINDOW=1;
51 enum IMN_OPENSTATUSWINDOW=2;
52 enum IMN_CHANGECANDIDATE=3;
53 enum IMN_CLOSECANDIDATE=4;
54 enum IMN_OPENCANDIDATE=5;
55 enum IMN_SETCONVERSIONMODE=6;
56 enum IMN_SETSENTENCEMODE=7;
57 enum IMN_SETOPENSTATUS=8;
58 enum IMN_SETCANDIDATEPOS=9;
59 enum IMN_SETCOMPOSITIONFONT=10;
60 enum IMN_SETCOMPOSITIONWINDOW=11;
61 enum IMN_SETSTATUSWINDOWPOS=12;
62 enum IMN_GUIDELINE=13;
63 enum IMN_PRIVATE=14;
64 
65 enum NI_OPENCANDIDATE=16;
66 enum NI_CLOSECANDIDATE=17;
67 enum NI_SELECTCANDIDATESTR=18;
68 enum NI_CHANGECANDIDATELIST=19;
69 enum NI_FINALIZECONVERSIONRESULT=20;
70 enum NI_COMPOSITIONSTR=21;
71 enum NI_SETCANDIDATE_PAGESTART=22;
72 enum NI_SETCANDIDATE_PAGESIZE=23;
73 enum NI_IMEMENUSELECTED=24;
74 
75 enum ISC_SHOWUICANDIDATEWINDOW=1;
76 enum ISC_SHOWUICOMPOSITIONWINDOW=0x80000000;
77 enum ISC_SHOWUIGUIDELINE=0x40000000;
78 enum ISC_SHOWUIALLCANDIDATEWINDOW=15;
79 enum ISC_SHOWUIALL=0xC000000F;
80 
81 enum CPS_COMPLETE=1;
82 enum CPS_CONVERT=2;
83 enum CPS_REVERT=3;
84 enum CPS_CANCEL=4;
85 
86 enum IME_CHOTKEY_IME_NONIME_TOGGLE=16;
87 enum IME_CHOTKEY_SHAPE_TOGGLE=17;
88 enum IME_CHOTKEY_SYMBOL_TOGGLE=18;
89 enum IME_JHOTKEY_CLOSE_OPEN=0x30;
90 enum IME_KHOTKEY_SHAPE_TOGGLE=0x50;
91 enum IME_KHOTKEY_HANJACONVERT=0x51;
92 enum IME_KHOTKEY_ENGLISH=0x52;
93 enum IME_THOTKEY_IME_NONIME_TOGGLE=0x70;
94 enum IME_THOTKEY_SHAPE_TOGGLE=0x71;
95 enum IME_THOTKEY_SYMBOL_TOGGLE=0x72;
96 enum IME_HOTKEY_DSWITCH_FIRST=256;
97 enum IME_HOTKEY_DSWITCH_LAST=0x11F;
98 enum IME_ITHOTKEY_RESEND_RESULTSTR=512;
99 enum IME_ITHOTKEY_PREVIOUS_COMPOSITION=513;
100 enum IME_ITHOTKEY_UISTYLE_TOGGLE=514;
101 
102 enum GCS_COMPREADSTR=1;
103 enum GCS_COMPREADATTR=2;
104 enum GCS_COMPREADCLAUSE=4;
105 enum GCS_COMPSTR=8;
106 enum GCS_COMPATTR=16;
107 enum GCS_COMPCLAUSE=32;
108 enum GCS_CURSORPOS=128;
109 enum GCS_DELTASTART=256;
110 enum GCS_RESULTREADSTR=512;
111 enum GCS_RESULTREADCLAUSE=1024;
112 enum GCS_RESULTSTR=2048;
113 enum GCS_RESULTCLAUSE=4096;
114 
115 enum CS_INSERTCHAR=0x2000;
116 enum CS_NOMOVECARET=0x4000;
117 
118 enum IMEVER_0310=0x3000A;
119 enum IMEVER_0400=0x40000;
120 
121 enum IME_PROP_AT_CARET=0x10000;
122 enum IME_PROP_SPECIAL_UI=0x20000;
123 enum IME_PROP_CANDLIST_START_FROM_1=0x40000;
124 enum IME_PROP_UNICODE=0x80000;
125 
126 enum UI_CAP_2700=1;
127 enum UI_CAP_ROT90=2;
128 enum UI_CAP_ROTANY=4;
129 
130 enum SCS_CAP_COMPSTR=1;
131 enum SCS_CAP_MAKEREAD=2;
132 enum SELECT_CAP_CONVERSION=1;
133 enum SELECT_CAP_SENTENCE=2;
134 enum GGL_LEVEL=1;
135 enum GGL_INDEX=2;
136 enum GGL_STRING=3;
137 enum GGL_PRIVATE=4;
138 enum GL_LEVEL_NOGUIDELINE=0;
139 enum GL_LEVEL_FATAL=1;
140 enum GL_LEVEL_ERROR=2;
141 enum GL_LEVEL_WARNING=3;
142 enum GL_LEVEL_INFORMATION=4;
143 enum GL_ID_UNKNOWN=0;
144 enum GL_ID_NOMODULE=1;
145 enum GL_ID_NODICTIONARY=16;
146 enum GL_ID_CANNOTSAVE=17;
147 enum GL_ID_NOCONVERT=32;
148 enum GL_ID_TYPINGERROR=33;
149 enum GL_ID_TOOMANYSTROKE=34;
150 enum GL_ID_READINGCONFLICT=35;
151 enum GL_ID_INPUTREADING=36;
152 enum GL_ID_INPUTRADICAL=37;
153 enum GL_ID_INPUTCODE=38;
154 enum GL_ID_INPUTSYMBOL=39;
155 enum GL_ID_CHOOSECANDIDATE=40;
156 enum GL_ID_REVERSECONVERSION=41;
157 enum GL_ID_PRIVATE_FIRST=0x8000;
158 enum GL_ID_PRIVATE_LAST=0xFFFF;
159 
160 enum DWORD IGP_GETIMEVERSION = -4;
161 enum IGP_PROPERTY=4;
162 enum IGP_CONVERSION=8;
163 enum IGP_SENTENCE=12;
164 enum IGP_UI=16;
165 enum IGP_SETCOMPSTR=0x14;
166 enum IGP_SELECT=0x18;
167 
168 enum SCS_SETSTR       = GCS_COMPREADSTR|GCS_COMPSTR;
169 enum SCS_CHANGEATTR   = GCS_COMPREADATTR|GCS_COMPATTR;
170 enum SCS_CHANGECLAUSE = GCS_COMPREADCLAUSE|GCS_COMPCLAUSE;
171 
172 enum ATTR_INPUT=0;
173 enum ATTR_TARGET_CONVERTED=1;
174 enum ATTR_CONVERTED=2;
175 enum ATTR_TARGET_NOTCONVERTED=3;
176 enum ATTR_INPUT_ERROR=4;
177 enum ATTR_FIXEDCONVERTED=5;
178 enum CFS_DEFAULT=0;
179 enum CFS_RECT=1;
180 enum CFS_POINT=2;
181 enum CFS_SCREEN=4;
182 enum CFS_FORCE_POSITION=32;
183 enum CFS_CANDIDATEPOS=64;
184 enum CFS_EXCLUDE=128;
185 enum GCL_CONVERSION=1;
186 enum GCL_REVERSECONVERSION=2;
187 enum GCL_REVERSE_LENGTH=3;
188 
189 enum IME_CMODE_ALPHANUMERIC=0;
190 enum IME_CMODE_NATIVE=1;
191 enum IME_CMODE_CHINESE=IME_CMODE_NATIVE;
192 enum IME_CMODE_HANGEUL=IME_CMODE_NATIVE;
193 enum IME_CMODE_HANGUL=IME_CMODE_NATIVE;
194 enum IME_CMODE_JAPANESE=IME_CMODE_NATIVE;
195 enum IME_CMODE_KATAKANA=2;
196 enum IME_CMODE_LANGUAGE=3;
197 enum IME_CMODE_FULLSHAPE=8;
198 enum IME_CMODE_ROMAN=16;
199 enum IME_CMODE_CHARCODE=32;
200 enum IME_CMODE_HANJACONVERT=64;
201 enum IME_CMODE_SOFTKBD=128;
202 enum IME_CMODE_NOCONVERSION=256;
203 enum IME_CMODE_EUDC=512;
204 enum IME_CMODE_SYMBOL=1024;
205 enum IME_CMODE_FIXED=2048;
206 enum IME_SMODE_NONE=0;
207 enum IME_SMODE_PLAURALCLAUSE=1;
208 enum IME_SMODE_SINGLECONVERT=2;
209 enum IME_SMODE_AUTOMATIC=4;
210 enum IME_SMODE_PHRASEPREDICT=8;
211 enum IME_CAND_UNKNOWN=0;
212 enum IME_CAND_READ=1;
213 enum IME_CAND_CODE=2;
214 enum IME_CAND_MEANING=3;
215 enum IME_CAND_RADICAL=4;
216 enum IME_CAND_STROKE=5;
217 enum IMM_ERROR_NODATA=(-1);
218 enum IMM_ERROR_GENERAL=(-2);
219 enum IME_CONFIG_GENERAL=1;
220 enum IME_CONFIG_REGISTERWORD=2;
221 enum IME_CONFIG_SELECTDICTIONARY=3;
222 enum IME_ESC_QUERY_SUPPORT=3;
223 enum IME_ESC_RESERVED_FIRST=4;
224 enum IME_ESC_RESERVED_LAST=0x7FF;
225 enum IME_ESC_PRIVATE_FIRST=0x800;
226 enum IME_ESC_PRIVATE_LAST=0xFFF;
227 enum IME_ESC_SEQUENCE_TO_INTERNAL=0x1001;
228 enum IME_ESC_GET_EUDC_DICTIONARY=0x1003;
229 enum IME_ESC_SET_EUDC_DICTIONARY=0x1004;
230 enum IME_ESC_MAX_KEY=0x1005;
231 enum IME_ESC_IME_NAME=0x1006;
232 enum IME_ESC_SYNC_HOTKEY=0x1007;
233 enum IME_ESC_HANJA_MODE=0x1008;
234 enum IME_ESC_AUTOMATA=0x1009;
235 enum IME_REGWORD_STYLE_EUDC=1;
236 enum IME_REGWORD_STYLE_USER_FIRST=0x80000000;
237 enum IME_REGWORD_STYLE_USER_LAST=0xFFFFFFFF;
238 
239 enum SOFTKEYBOARD_TYPE_T1=1;
240 enum SOFTKEYBOARD_TYPE_C1=2;
241 
242 enum IMEMENUITEM_STRING_SIZE=80;
243 
244 enum MOD_ALT=1;
245 enum MOD_CONTROL=2;
246 enum MOD_SHIFT=4;
247 enum MOD_WIN=8;
248 enum MOD_IGNORE_ALL_MODIFIER=1024;
249 enum MOD_ON_KEYUP=2048;
250 enum MOD_RIGHT=16384;
251 enum MOD_LEFT=32768;
252 
253 enum IACE_CHILDREN=1;
254 enum IACE_DEFAULT=16;
255 enum IACE_IGNORENOCONTEXT=32;
256 
257 enum IGIMIF_RIGHTMENU=1;
258 
259 enum IGIMII_CMODE=1;
260 enum IGIMII_SMODE=2;
261 enum IGIMII_CONFIGURE=4;
262 enum IGIMII_TOOLS=8;
263 enum IGIMII_HELP=16;
264 enum IGIMII_OTHER=32;
265 enum IGIMII_INPUTTOOLS=64;
266 
267 enum IMFT_RADIOCHECK=1;
268 enum IMFT_SEPARATOR=2;
269 enum IMFT_SUBMENU=4;
270 
271 enum IMFS_GRAYED=MFS_GRAYED;
272 enum IMFS_DISABLED=MFS_DISABLED;
273 enum IMFS_CHECKED=MFS_CHECKED;
274 enum IMFS_HILITE=MFS_HILITE;
275 enum IMFS_ENABLED=MFS_ENABLED;
276 enum IMFS_UNCHECKED=MFS_UNCHECKED;
277 enum IMFS_UNHILITE=MFS_UNHILITE;
278 enum IMFS_DEFAULT=MFS_DEFAULT;
279 
280 enum STYLE_DESCRIPTION_SIZE=32;
281 
282 alias DWORD HIMC;
283 alias DWORD HIMCC;
284 alias HKL* LPHKL;
285 
286 struct COMPOSITIONFORM{
287     DWORD dwStyle;
288     POINT ptCurrentPos;
289     RECT rcArea;
290 }
291 alias COMPOSITIONFORM* PCOMPOSITIONFORM, LPCOMPOSITIONFORM;
292 
293 struct CANDIDATEFORM{
294     DWORD dwIndex;
295     DWORD dwStyle;
296     POINT ptCurrentPos;
297     RECT rcArea;
298 }
299 alias CANDIDATEFORM* PCANDIDATEFORM, LPCANDIDATEFORM;
300 
301 struct CANDIDATELIST{
302     DWORD dwSize;
303     DWORD dwStyle;
304     DWORD dwCount;
305     DWORD dwSelection;
306     DWORD dwPageStart;
307     DWORD dwPageSize;
308     DWORD[1] dwOffset;
309 }
310 alias CANDIDATELIST* PCANDIDATELIST, LPCANDIDATELIST;
311 
312 struct REGISTERWORDA{
313     LPSTR lpReading;
314     LPSTR lpWord;
315 }
316 alias REGISTERWORDA* PREGISTERWORDA, LPREGISTERWORDA;
317 
318 struct REGISTERWORDW{
319     LPWSTR lpReading;
320     LPWSTR lpWord;
321 }
322 alias REGISTERWORDW* PREGISTERWORDW, LPREGISTERWORDW;
323 
324 struct STYLEBUFA{
325     DWORD dwStyle;
326     CHAR[STYLE_DESCRIPTION_SIZE] szDescription = 0;
327 }
328 alias STYLEBUFA* PSTYLEBUFA, LPSTYLEBUFA;
329 
330 struct STYLEBUFW{
331     DWORD dwStyle;
332     WCHAR[STYLE_DESCRIPTION_SIZE] szDescription = 0;
333 }
334 alias STYLEBUFW* PSTYLEBUFW, LPSTYLEBUFW;
335 
336 struct IMEMENUITEMINFOA{
337     UINT cbSize = this.sizeof;
338     UINT fType;
339     UINT fState;
340     UINT wID;
341     HBITMAP hbmpChecked;
342     HBITMAP hbmpUnchecked;
343     DWORD dwItemData;
344     CHAR[IMEMENUITEM_STRING_SIZE] szString = 0;
345     HBITMAP hbmpItem;
346 }
347 alias IMEMENUITEMINFOA* PIMEMENUITEMINFOA, LPIMEMENUITEMINFOA;
348 
349 struct IMEMENUITEMINFOW{
350     UINT cbSize = this.sizeof;
351     UINT fType;
352     UINT fState;
353     UINT wID;
354     HBITMAP hbmpChecked;
355     HBITMAP hbmpUnchecked;
356     DWORD dwItemData;
357     WCHAR[IMEMENUITEM_STRING_SIZE] szString = 0;
358     HBITMAP hbmpItem;
359 }
360 alias IMEMENUITEMINFOW* PIMEMENUITEMINFOW, LPIMEMENUITEMINFOW;
361 
362 extern (Windows) {
363 alias int function (LPCSTR, DWORD, LPCSTR, LPVOID)  REGISTERWORDENUMPROCA;
364 alias int function (LPCWSTR, DWORD, LPCWSTR, LPVOID) REGISTERWORDENUMPROCW;
365 }
366 
367 version (Unicode) {
368     alias REGISTERWORDENUMPROCW REGISTERWORDENUMPROC;
369     alias REGISTERWORDW REGISTERWORD;
370     alias IMEMENUITEMINFOW IMEMENUITEMINFO;
371     alias STYLEBUFW STYLEBUF;
372 } else {
373     alias REGISTERWORDENUMPROCA REGISTERWORDENUMPROC;
374     alias REGISTERWORDA REGISTERWORD;
375     alias IMEMENUITEMINFOA IMEMENUITEMINFO;
376     alias STYLEBUFA STYLEBUF;
377 }
378 
379 alias STYLEBUF* PSTYLEBUF, LPSTYLEBUF;
380 alias REGISTERWORD* PREGISTERWORD, LPREGISTERWORD;
381 alias IMEMENUITEMINFO* PIMEMENUITEMINFO, LPIMEMENUITEMINFO;
382 
383 
384 extern (Windows):
385 HKL ImmInstallIMEA(LPCSTR, LPCSTR);
386 HKL ImmInstallIMEW(LPCWSTR, LPCWSTR);
387 HWND ImmGetDefaultIMEWnd(HWND);
388 UINT ImmGetDescriptionA(HKL, LPSTR, UINT);
389 UINT ImmGetDescriptionW(HKL, LPWSTR, UINT);
390 UINT ImmGetIMEFileNameA(HKL, LPSTR, UINT);
391 UINT ImmGetIMEFileNameW(HKL, LPWSTR, UINT);
392 DWORD ImmGetProperty(HKL, DWORD);
393 BOOL ImmIsIME(HKL);
394 BOOL ImmSimulateHotKey(HWND, DWORD);
395 HIMC ImmCreateContext();
396 BOOL ImmDestroyContext(HIMC);
397 HIMC ImmGetContext(HWND);
398 BOOL ImmReleaseContext(HWND, HIMC);
399 HIMC ImmAssociateContext(HWND, HIMC);
400 LONG ImmGetCompositionStringA(HIMC, DWORD, PVOID, DWORD);
401 LONG ImmGetCompositionStringW(HIMC, DWORD, PVOID, DWORD);
402 BOOL ImmSetCompositionStringA(HIMC, DWORD, PCVOID, DWORD, PCVOID, DWORD);
403 BOOL ImmSetCompositionStringW(HIMC, DWORD, PCVOID, DWORD, PCVOID, DWORD);
404 DWORD ImmGetCandidateListCountA(HIMC, PDWORD);
405 DWORD ImmGetCandidateListCountW(HIMC, PDWORD);
406 DWORD ImmGetCandidateListA(HIMC, DWORD, PCANDIDATELIST, DWORD);
407 DWORD ImmGetCandidateListW(HIMC, DWORD, PCANDIDATELIST, DWORD);
408 DWORD ImmGetGuideLineA(HIMC, DWORD, LPSTR, DWORD);
409 DWORD ImmGetGuideLineW(HIMC, DWORD, LPWSTR, DWORD);
410 BOOL ImmGetConversionStatus(HIMC, LPDWORD, PDWORD);
411 BOOL ImmSetConversionStatus(HIMC, DWORD, DWORD);
412 BOOL ImmGetOpenStatus(HIMC);
413 BOOL ImmSetOpenStatus(HIMC, BOOL);
414 
415 BOOL ImmGetCompositionFontA(HIMC, LPLOGFONTA);
416 BOOL ImmGetCompositionFontW(HIMC, LPLOGFONTW);
417 BOOL ImmSetCompositionFontA(HIMC, LPLOGFONTA);
418 BOOL ImmSetCompositionFontW(HIMC, LPLOGFONTW);
419 
420 BOOL ImmConfigureIMEA(HKL, HWND, DWORD, PVOID);
421 BOOL ImmConfigureIMEW(HKL, HWND, DWORD, PVOID);
422 LRESULT ImmEscapeA(HKL, HIMC, UINT, PVOID);
423 LRESULT ImmEscapeW(HKL, HIMC, UINT, PVOID);
424 DWORD ImmGetConversionListA(HKL, HIMC, LPCSTR, PCANDIDATELIST, DWORD, UINT);
425 DWORD ImmGetConversionListW(HKL, HIMC, LPCWSTR, PCANDIDATELIST, DWORD, UINT);
426 BOOL ImmNotifyIME(HIMC, DWORD, DWORD, DWORD);
427 BOOL ImmGetStatusWindowPos(HIMC, LPPOINT);
428 BOOL ImmSetStatusWindowPos(HIMC, LPPOINT);
429 BOOL ImmGetCompositionWindow(HIMC, PCOMPOSITIONFORM);
430 BOOL ImmSetCompositionWindow(HIMC, PCOMPOSITIONFORM);
431 BOOL ImmGetCandidateWindow(HIMC, DWORD, PCANDIDATEFORM);
432 BOOL ImmSetCandidateWindow(HIMC, PCANDIDATEFORM);
433 BOOL ImmIsUIMessageA(HWND, UINT, WPARAM, LPARAM);
434 BOOL ImmIsUIMessageW(HWND, UINT, WPARAM, LPARAM);
435 UINT ImmGetVirtualKey(HWND);
436 BOOL ImmRegisterWordA(HKL, LPCSTR, DWORD, LPCSTR);
437 BOOL ImmRegisterWordW(HKL, LPCWSTR, DWORD, LPCWSTR);
438 BOOL ImmUnregisterWordA(HKL, LPCSTR, DWORD, LPCSTR);
439 BOOL ImmUnregisterWordW(HKL, LPCWSTR, DWORD, LPCWSTR);
440 UINT ImmGetRegisterWordStyleA(HKL, UINT, PSTYLEBUFA);
441 UINT ImmGetRegisterWordStyleW(HKL, UINT, PSTYLEBUFW);
442 UINT ImmEnumRegisterWordA(HKL, REGISTERWORDENUMPROCA, LPCSTR, DWORD, LPCSTR, PVOID);
443 UINT ImmEnumRegisterWordW(HKL, REGISTERWORDENUMPROCW, LPCWSTR, DWORD, LPCWSTR, PVOID);
444 BOOL EnableEUDC(BOOL);
445 BOOL ImmDisableIME(DWORD);
446 DWORD ImmGetImeMenuItemsA(HIMC, DWORD, DWORD, LPIMEMENUITEMINFOA, LPIMEMENUITEMINFOA, DWORD);
447 DWORD ImmGetImeMenuItemsW(HIMC, DWORD, DWORD, LPIMEMENUITEMINFOW, LPIMEMENUITEMINFOW, DWORD);
448 
449 version (Unicode) {
450     alias ImmEnumRegisterWordW ImmEnumRegisterWord;
451     alias ImmGetRegisterWordStyleW ImmGetRegisterWordStyle;
452     alias ImmUnregisterWordW ImmUnregisterWord;
453     alias ImmRegisterWordW ImmRegisterWord;
454     alias ImmInstallIMEW ImmInstallIME;
455     alias ImmIsUIMessageW ImmIsUIMessage;
456     alias ImmGetConversionListW ImmGetConversionList;
457     alias ImmEscapeW ImmEscape;
458     alias ImmConfigureIMEW ImmConfigureIME;
459     alias ImmSetCompositionFontW ImmSetCompositionFont;
460     alias ImmGetCompositionFontW ImmGetCompositionFont;
461     alias ImmGetGuideLineW ImmGetGuideLine;
462     alias ImmGetCandidateListW ImmGetCandidateList;
463     alias ImmGetCandidateListCountW ImmGetCandidateListCount;
464     alias ImmSetCompositionStringW ImmSetCompositionString;
465     alias ImmGetCompositionStringW ImmGetCompositionString;
466     alias ImmGetDescriptionW ImmGetDescription;
467     alias ImmGetIMEFileNameW ImmGetIMEFileName;
468     alias ImmGetImeMenuItemsW ImmGetImeMenuItems;
469 } else {
470     alias ImmEnumRegisterWordA ImmEnumRegisterWord;
471     alias ImmGetRegisterWordStyleA ImmGetRegisterWordStyle;
472     alias ImmUnregisterWordA ImmUnregisterWord;
473     alias ImmRegisterWordA ImmRegisterWord;
474     alias ImmInstallIMEA ImmInstallIME;
475     alias ImmIsUIMessageA ImmIsUIMessage;
476     alias ImmGetConversionListA ImmGetConversionList;
477     alias ImmEscapeA ImmEscape;
478     alias ImmConfigureIMEA ImmConfigureIME;
479     alias ImmSetCompositionFontA ImmSetCompositionFont;
480     alias ImmGetCompositionFontA ImmGetCompositionFont;
481     alias ImmGetGuideLineA ImmGetGuideLine;
482     alias ImmGetCandidateListA ImmGetCandidateList;
483     alias ImmGetCandidateListCountA ImmGetCandidateListCount;
484     alias ImmSetCompositionStringA ImmSetCompositionString;
485     alias ImmGetCompositionStringA ImmGetCompositionString;
486     alias ImmGetDescriptionA ImmGetDescription;
487     alias ImmGetIMEFileNameA ImmGetIMEFileName;
488     alias ImmGetImeMenuItemsW ImmGetImeMenuItems;
489 }