1 /** 2 * @file imm.h 3 * Copyright 2012, 2013 MinGW.org project 4 * 5 * Permission is hereby granted, free of charge, to any person obtaining a 6 * copy of this software and associated documentation files (the "Software"), 7 * to deal in the Software without restriction, including without limitation 8 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 9 * and/or sell copies of the Software, and to permit persons to whom the 10 * Software is furnished to do so, subject to the following conditions: 11 * 12 * The above copyright notice and this permission notice (including the next 13 * paragraph) shall be included in all copies or substantial portions of the 14 * Software. 15 * 16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 22 * DEALINGS IN THE SOFTWARE. 23 */ 24 #ifndef _IMM_H 25 #define _IMM_H 26 #pragma GCC system_header 27 #include <_mingw.h> 28 29 #ifdef __cplusplus 30 extern "C" { 31 #endif 32 #define WM_CONVERTREQUESTEX 0x108 33 #define WM_IME_STARTCOMPOSITION 0x10D 34 #define WM_IME_ENDCOMPOSITION 0x10E 35 #define WM_IME_COMPOSITION 0x10F 36 #define WM_IME_KEYLAST 0x10F 37 #define WM_IME_SETCONTEXT 0x281 38 #define WM_IME_NOTIFY 0x282 39 #define WM_IME_CONTROL 0x283 40 #define WM_IME_COMPOSITIONFULL 0x284 41 #define WM_IME_SELECT 0x285 42 #define WM_IME_CHAR 0x286 43 #define WM_IME_KEYDOWN 0x290 44 #define WM_IME_KEYUP 0x291 45 #define IMC_GETCANDIDATEPOS 7 46 #define IMC_SETCANDIDATEPOS 8 47 #define IMC_GETCOMPOSITIONFONT 9 48 #define IMC_SETCOMPOSITIONFONT 10 49 #define IMC_GETCOMPOSITIONWINDOW 11 50 #define IMC_SETCOMPOSITIONWINDOW 12 51 #define IMC_GETSTATUSWINDOWPOS 15 52 #define IMC_SETSTATUSWINDOWPOS 16 53 #define IMC_CLOSESTATUSWINDOW 0x21 54 #define IMC_OPENSTATUSWINDOW 0x22 55 #define IMN_CLOSESTATUSWINDOW 1 56 #define IMN_OPENSTATUSWINDOW 2 57 #define IMN_CHANGECANDIDATE 3 58 #define IMN_CLOSECANDIDATE 4 59 #define IMN_OPENCANDIDATE 5 60 #define IMN_SETCONVERSIONMODE 6 61 #define IMN_SETSENTENCEMODE 7 62 #define IMN_SETOPENSTATUS 8 63 #define IMN_SETCANDIDATEPOS 9 64 #define IMN_SETCOMPOSITIONFONT 10 65 #define IMN_SETCOMPOSITIONWINDOW 11 66 #define IMN_SETSTATUSWINDOWPOS 12 67 #define IMN_GUIDELINE 13 68 #define IMN_PRIVATE 14 69 #define NI_OPENCANDIDATE 16 70 #define NI_CLOSECANDIDATE 17 71 #define NI_SELECTCANDIDATESTR 18 72 #define NI_CHANGECANDIDATELIST 19 73 #define NI_FINALIZECONVERSIONRESULT 20 74 #define NI_COMPOSITIONSTR 21 75 #define NI_SETCANDIDATE_PAGESTART 22 76 #define NI_SETCANDIDATE_PAGESIZE 23 77 #define NI_IMEMENUSELECTED 24 78 #define ISC_SHOWUICANDIDATEWINDOW 1 79 #define ISC_SHOWUICOMPOSITIONWINDOW 0x80000000 80 #define ISC_SHOWUIGUIDELINE 0x40000000 81 #define ISC_SHOWUIALLCANDIDATEWINDOW 15 82 #define ISC_SHOWUIALL 0xC000000F 83 #define CPS_COMPLETE 1 84 #define CPS_CONVERT 2 85 #define CPS_REVERT 3 86 #define CPS_CANCEL 4 87 #define IME_CHOTKEY_IME_NONIME_TOGGLE 16 88 #define IME_CHOTKEY_SHAPE_TOGGLE 17 89 #define IME_CHOTKEY_SYMBOL_TOGGLE 18 90 #define IME_JHOTKEY_CLOSE_OPEN 0x30 91 #define IME_KHOTKEY_SHAPE_TOGGLE 0x50 92 #define IME_KHOTKEY_HANJACONVERT 0x51 93 #define IME_KHOTKEY_ENGLISH 0x52 94 #define IME_THOTKEY_IME_NONIME_TOGGLE 0x70 95 #define IME_THOTKEY_SHAPE_TOGGLE 0x71 96 #define IME_THOTKEY_SYMBOL_TOGGLE 0x72 97 #define IME_HOTKEY_DSWITCH_FIRST 256 98 #define IME_HOTKEY_DSWITCH_LAST 0x11F 99 #define IME_ITHOTKEY_RESEND_RESULTSTR 512 100 #define IME_ITHOTKEY_PREVIOUS_COMPOSITION 513 101 #define IME_ITHOTKEY_UISTYLE_TOGGLE 514 102 #define GCS_COMPREADSTR 1 103 #define GCS_COMPREADATTR 2 104 #define GCS_COMPREADCLAUSE 4 105 #define GCS_COMPSTR 8 106 #define GCS_COMPATTR 16 107 #define GCS_COMPCLAUSE 32 108 #define GCS_CURSORPOS 128 109 #define GCS_DELTASTART 256 110 #define GCS_RESULTREADSTR 512 111 #define GCS_RESULTREADCLAUSE 1024 112 #define GCS_RESULTSTR 2048 113 #define GCS_RESULTCLAUSE 4096 114 #define CS_INSERTCHAR 0x2000 115 #define CS_NOMOVECARET 0x4000 116 #define IMEVER_0310 0x3000A 117 #define IMEVER_0400 0x40000 118 #define IME_PROP_AT_CARET 0x10000 119 #define IME_PROP_SPECIAL_UI 0x20000 120 #define IME_PROP_CANDLIST_START_FROM_1 0x40000 121 #define IME_PROP_UNICODE 0x80000 122 #define UI_CAP_2700 1 123 #define UI_CAP_ROT90 2 124 #define UI_CAP_ROTANY 4 125 #define SCS_CAP_COMPSTR 1 126 #define SCS_CAP_MAKEREAD 2 127 #define SELECT_CAP_CONVERSION 1 128 #define SELECT_CAP_SENTENCE 2 129 #define GGL_LEVEL 1 130 #define GGL_INDEX 2 131 #define GGL_STRING 3 132 #define GGL_PRIVATE 4 133 #define GL_LEVEL_NOGUIDELINE 0 134 #define GL_LEVEL_FATAL 1 135 #define GL_LEVEL_ERROR 2 136 #define GL_LEVEL_WARNING 3 137 #define GL_LEVEL_INFORMATION 4 138 #define GL_ID_UNKNOWN 0 139 #define GL_ID_NOMODULE 1 140 #define GL_ID_NODICTIONARY 16 141 #define GL_ID_CANNOTSAVE 17 142 #define GL_ID_NOCONVERT 32 143 #define GL_ID_TYPINGERROR 33 144 #define GL_ID_TOOMANYSTROKE 34 145 #define GL_ID_READINGCONFLICT 35 146 #define GL_ID_INPUTREADING 36 147 #define GL_ID_INPUTRADICAL 37 148 #define GL_ID_INPUTCODE 38 149 #define GL_ID_INPUTSYMBOL 39 150 #define GL_ID_CHOOSECANDIDATE 40 151 #define GL_ID_REVERSECONVERSION 41 152 #define GL_ID_PRIVATE_FIRST 0x8000 153 #define GL_ID_PRIVATE_LAST 0xFFFF 154 #define IGP_GETIMEVERSION (DWORD)(-4) 155 #define IGP_PROPERTY 4 156 #define IGP_CONVERSION 8 157 #define IGP_SENTENCE 12 158 #define IGP_UI 16 159 #define IGP_SETCOMPSTR 0x14 160 #define IGP_SELECT 0x18 161 #define SCS_SETSTR (GCS_COMPREADSTR|GCS_COMPSTR) 162 #define SCS_CHANGEATTR (GCS_COMPREADATTR|GCS_COMPATTR) 163 #define SCS_CHANGECLAUSE (GCS_COMPREADCLAUSE|GCS_COMPCLAUSE) 164 #define ATTR_INPUT 0 165 #define ATTR_TARGET_CONVERTED 1 166 #define ATTR_CONVERTED 2 167 #define ATTR_TARGET_NOTCONVERTED 3 168 #define ATTR_INPUT_ERROR 4 169 #define ATTR_FIXEDCONVERTED 5 170 #define CFS_DEFAULT 0 171 #define CFS_RECT 1 172 #define CFS_POINT 2 173 #define CFS_SCREEN 4 174 #define CFS_FORCE_POSITION 32 175 #define CFS_CANDIDATEPOS 64 176 #define CFS_EXCLUDE 128 177 #define GCL_CONVERSION 1 178 #define GCL_REVERSECONVERSION 2 179 #define GCL_REVERSE_LENGTH 3 180 #define IME_CMODE_ALPHANUMERIC 0 181 #define IME_CMODE_NATIVE 1 182 #define IME_CMODE_CHINESE IME_CMODE_NATIVE 183 #define IME_CMODE_HANGEUL IME_CMODE_NATIVE 184 #define IME_CMODE_HANGUL IME_CMODE_NATIVE 185 #define IME_CMODE_JAPANESE IME_CMODE_NATIVE 186 #define IME_CMODE_KATAKANA 2 187 #define IME_CMODE_LANGUAGE 3 188 #define IME_CMODE_FULLSHAPE 8 189 #define IME_CMODE_ROMAN 16 190 #define IME_CMODE_CHARCODE 32 191 #define IME_CMODE_HANJACONVERT 64 192 #define IME_CMODE_SOFTKBD 128 193 #define IME_CMODE_NOCONVERSION 256 194 #define IME_CMODE_EUDC 512 195 #define IME_CMODE_SYMBOL 1024 196 #define IME_CMODE_FIXED 2048 197 #define IME_SMODE_NONE 0 198 #define IME_SMODE_PLAURALCLAUSE 1 199 #define IME_SMODE_SINGLECONVERT 2 200 #define IME_SMODE_AUTOMATIC 4 201 #define IME_SMODE_PHRASEPREDICT 8 202 #define IME_CAND_UNKNOWN 0 203 #define IME_CAND_READ 1 204 #define IME_CAND_CODE 2 205 #define IME_CAND_MEANING 3 206 #define IME_CAND_RADICAL 4 207 #define IME_CAND_STROKE 5 208 #define IMM_ERROR_NODATA (-1) 209 #define IMM_ERROR_GENERAL (-2) 210 #define IME_CONFIG_GENERAL 1 211 #define IME_CONFIG_REGISTERWORD 2 212 #define IME_CONFIG_SELECTDICTIONARY 3 213 #define IME_ESC_QUERY_SUPPORT 3 214 #define IME_ESC_RESERVED_FIRST 4 215 #define IME_ESC_RESERVED_LAST 0x7FF 216 #define IME_ESC_PRIVATE_FIRST 0x800 217 #define IME_ESC_PRIVATE_LAST 0xFFF 218 #define IME_ESC_SEQUENCE_TO_INTERNAL 0x1001 219 #define IME_ESC_GET_EUDC_DICTIONARY 0x1003 220 #define IME_ESC_SET_EUDC_DICTIONARY 0x1004 221 #define IME_ESC_MAX_KEY 0x1005 222 #define IME_ESC_IME_NAME 0x1006 223 #define IME_ESC_SYNC_HOTKEY 0x1007 224 #define IME_ESC_HANJA_MODE 0x1008 225 #define IME_ESC_AUTOMATA 0x1009 226 #define IME_REGWORD_STYLE_EUDC 1 227 #define IME_REGWORD_STYLE_USER_FIRST 0x80000000 228 #define IME_REGWORD_STYLE_USER_LAST 0xFFFFFFFF 229 #define IMR_RECONVERTSTRING 4 230 #define IMR_QUERYCHARPOSITION 6 231 #define SOFTKEYBOARD_TYPE_T1 1 232 #define SOFTKEYBOARD_TYPE_C1 2 233 #define IMEMENUITEM_STRING_SIZE 80 234 #define MOD_ALT 1 235 #define MOD_CONTROL 2 236 #define MOD_SHIFT 4 237 #define MOD_WIN 8 238 #define MOD_IGNORE_ALL_MODIFIER 1024 239 #define MOD_ON_KEYUP 2048 240 #define MOD_RIGHT 16384 241 #define MOD_LEFT 32768 242 #define IACE_CHILDREN 1 243 #define IACE_DEFAULT 16 244 #define IACE_IGNORENOCONTEXT 32 245 #define IGIMIF_RIGHTMENU 1 246 #define IGIMII_CMODE 1 247 #define IGIMII_SMODE 2 248 #define IGIMII_CONFIGURE 4 249 #define IGIMII_TOOLS 8 250 #define IGIMII_HELP 16 251 #define IGIMII_OTHER 32 252 #define IGIMII_INPUTTOOLS 64 253 #define IMFT_RADIOCHECK 1 254 #define IMFT_SEPARATOR 2 255 #define IMFT_SUBMENU 4 256 #define IMFS_GRAYED MFS_GRAYED 257 #define IMFS_DISABLED MFS_DISABLED 258 #define IMFS_CHECKED MFS_CHECKED 259 #define IMFS_HILITE MFS_HILITE 260 #define IMFS_ENABLED MFS_ENABLED 261 #define IMFS_UNCHECKED MFS_UNCHECKED 262 #define IMFS_UNHILITE MFS_UNHILITE 263 #define IMFS_DEFAULT MFS_DEFAULT 264 #ifndef VK_PROCESSKEY 265 #define VK_PROCESSKEY 0x0E5 266 #endif 267 #define STYLE_DESCRIPTION_SIZE 32 268 typedef DWORD HIMC; 269 typedef DWORD HIMCC; 270 typedef HKL *LPHKL; 271 typedef struct tagCOMPOSITIONFORM { 272 DWORD dwStyle; 273 POINT ptCurrentPos; 274 RECT rcArea; 275 } COMPOSITIONFORM,*PCOMPOSITIONFORM,*LPCOMPOSITIONFORM; 276 typedef struct tagCANDIDATEFORM { 277 DWORD dwIndex; 278 DWORD dwStyle; 279 POINT ptCurrentPos; 280 RECT rcArea; 281 } CANDIDATEFORM,*PCANDIDATEFORM,*LPCANDIDATEFORM; 282 typedef struct tagCANDIDATELIST { 283 DWORD dwSize; 284 DWORD dwStyle; 285 DWORD dwCount; 286 DWORD dwSelection; 287 DWORD dwPageStart; 288 DWORD dwPageSize; 289 DWORD dwOffset[1]; 290 } CANDIDATELIST,*PCANDIDATELIST,*LPCANDIDATELIST; 291 typedef struct tagIMECHARPOSITION { 292 DWORD dwSize; 293 DWORD dwCharPos; 294 POINT pt; 295 UINT cLineHeight; 296 RECT rcDocument; 297 } IMECHARPOSITION, *PIMECHARPOSITION; 298 typedef struct tagRECONVERTSTRING { 299 DWORD dwSize; 300 DWORD dwVersion; 301 DWORD dwStrLen; 302 DWORD dwStrOffset; 303 DWORD dwCompStrLen; 304 DWORD dwCompStrOffset; 305 DWORD dwTargetStrLen; 306 DWORD dwTargetStrOffset; 307 } RECONVERTSTRING, *PRECONVERTSTRING; 308 typedef struct tagREGISTERWORDA { 309 LPSTR lpReading; 310 LPSTR lpWord; 311 } REGISTERWORDA,*PREGISTERWORDA,*LPREGISTERWORDA; 312 typedef struct tagREGISTERWORDW { 313 LPWSTR lpReading; 314 LPWSTR lpWord; 315 } REGISTERWORDW,*PREGISTERWORDW,*LPREGISTERWORDW; 316 typedef struct tagSTYLEBUFA { 317 DWORD dwStyle; 318 CHAR szDescription[STYLE_DESCRIPTION_SIZE]; 319 } STYLEBUFA,*PSTYLEBUFA,*LPSTYLEBUFA; 320 typedef struct tagSTYLEBUFW { 321 DWORD dwStyle; 322 WCHAR szDescription[STYLE_DESCRIPTION_SIZE]; 323 } STYLEBUFW,*PSTYLEBUFW,*LPSTYLEBUFW; 324 typedef struct tagIMEMENUITEMINFOA { 325 UINT cbSize; 326 UINT fType; 327 UINT fState; 328 UINT wID; 329 HBITMAP hbmpChecked; 330 HBITMAP hbmpUnchecked; 331 DWORD dwItemData; 332 CHAR szString[IMEMENUITEM_STRING_SIZE]; 333 HBITMAP hbmpItem; 334 } IMEMENUITEMINFOA,*PIMEMENUITEMINFOA,*LPIMEMENUITEMINFOA; 335 typedef struct tagIMEMENUITEMINFOW { 336 UINT cbSize; 337 UINT fType; 338 UINT fState; 339 UINT wID; 340 HBITMAP hbmpChecked; 341 HBITMAP hbmpUnchecked; 342 DWORD dwItemData; 343 WCHAR szString[IMEMENUITEM_STRING_SIZE]; 344 HBITMAP hbmpItem; 345 } IMEMENUITEMINFOW,*PIMEMENUITEMINFOW,*LPIMEMENUITEMINFOW; 346 typedef int (CALLBACK *REGISTERWORDENUMPROCA)(LPCSTR, DWORD, LPCSTR, LPVOID); 347 typedef int (CALLBACK *REGISTERWORDENUMPROCW)(LPCWSTR, DWORD, LPCWSTR, LPVOID); 348 #define REGISTERWORDENUMPROC __AW(REGISTERWORDENUMPROC) 349 typedef __AW(REGISTERWORD) REGISTERWORD,*PREGISTERWORD,*LPREGISTERWORD; 350 typedef __AW(STYLEBUF) STYLEBUF,*PSTYLEBUF,*LPSTYLEBUF; 351 typedef __AW(IMEMENUITEMINFO) IMEMENUITEMINFO,*PIMEMENUITEMINFO,*LPIMEMENUITEMINFO; 352 HKL WINAPI ImmInstallIMEA(LPCSTR,LPCSTR); 353 HKL WINAPI ImmInstallIMEW(LPCWSTR,LPCWSTR); 354 HWND WINAPI ImmGetDefaultIMEWnd(HWND); 355 UINT WINAPI ImmGetDescriptionA(HKL,LPSTR,UINT); 356 UINT WINAPI ImmGetDescriptionW(HKL,LPWSTR,UINT); 357 UINT WINAPI ImmGetIMEFileNameA(HKL,LPSTR,UINT); 358 UINT WINAPI ImmGetIMEFileNameW(HKL,LPWSTR,UINT); 359 DWORD WINAPI ImmGetProperty(HKL,DWORD); 360 BOOL WINAPI ImmIsIME(HKL); 361 BOOL WINAPI ImmSimulateHotKey(HWND,DWORD); 362 HIMC WINAPI ImmCreateContext(void); 363 BOOL WINAPI ImmDestroyContext(HIMC); 364 HIMC WINAPI ImmGetContext(HWND); 365 BOOL WINAPI ImmReleaseContext(HWND,HIMC); 366 HIMC WINAPI ImmAssociateContext(HWND,HIMC); 367 LONG WINAPI ImmGetCompositionStringA(HIMC,DWORD,PVOID,DWORD); 368 LONG WINAPI ImmGetCompositionStringW(HIMC,DWORD,PVOID,DWORD); 369 BOOL WINAPI ImmSetCompositionStringA(HIMC,DWORD,PCVOID,DWORD,PCVOID,DWORD); 370 BOOL WINAPI ImmSetCompositionStringW(HIMC,DWORD,PCVOID,DWORD,PCVOID,DWORD); 371 DWORD WINAPI ImmGetCandidateListCountA(HIMC,PDWORD); 372 DWORD WINAPI ImmGetCandidateListCountW(HIMC,PDWORD); 373 DWORD WINAPI ImmGetCandidateListA(HIMC,DWORD,PCANDIDATELIST,DWORD); 374 DWORD WINAPI ImmGetCandidateListW(HIMC,DWORD,PCANDIDATELIST,DWORD); 375 DWORD WINAPI ImmGetGuideLineA(HIMC,DWORD,LPSTR,DWORD); 376 DWORD WINAPI ImmGetGuideLineW(HIMC,DWORD,LPWSTR,DWORD); 377 BOOL WINAPI ImmGetConversionStatus(HIMC,LPDWORD,PDWORD); 378 BOOL WINAPI ImmSetConversionStatus(HIMC,DWORD,DWORD); 379 BOOL WINAPI ImmGetOpenStatus(HIMC); 380 BOOL WINAPI ImmSetOpenStatus(HIMC,BOOL); 381 #ifndef NOGDI 382 BOOL WINAPI ImmGetCompositionFontA(HIMC,LPLOGFONTA); 383 BOOL WINAPI ImmGetCompositionFontW(HIMC,LPLOGFONTW); 384 BOOL WINAPI ImmSetCompositionFontA(HIMC,LPLOGFONTA); 385 BOOL WINAPI ImmSetCompositionFontW(HIMC,LPLOGFONTW); 386 #endif 387 BOOL WINAPI ImmConfigureIMEA(HKL,HWND,DWORD,PVOID); 388 BOOL WINAPI ImmConfigureIMEW(HKL,HWND,DWORD,PVOID); 389 LRESULT WINAPI ImmEscapeA(HKL,HIMC,UINT,PVOID); 390 LRESULT WINAPI ImmEscapeW(HKL,HIMC,UINT,PVOID); 391 DWORD WINAPI ImmGetConversionListA(HKL,HIMC,LPCSTR,PCANDIDATELIST,DWORD,UINT); 392 DWORD WINAPI ImmGetConversionListW(HKL,HIMC,LPCWSTR,PCANDIDATELIST,DWORD,UINT); 393 BOOL WINAPI ImmNotifyIME(HIMC,DWORD,DWORD,DWORD); 394 BOOL WINAPI ImmGetStatusWindowPos(HIMC,LPPOINT); 395 BOOL WINAPI ImmSetStatusWindowPos(HIMC,LPPOINT); 396 BOOL WINAPI ImmGetCompositionWindow(HIMC,PCOMPOSITIONFORM); 397 BOOL WINAPI ImmSetCompositionWindow(HIMC,PCOMPOSITIONFORM); 398 BOOL WINAPI ImmGetCandidateWindow(HIMC,DWORD,PCANDIDATEFORM); 399 BOOL WINAPI ImmSetCandidateWindow(HIMC,PCANDIDATEFORM); 400 BOOL WINAPI ImmIsUIMessageA(HWND,UINT,WPARAM,LPARAM); 401 BOOL WINAPI ImmIsUIMessageW(HWND,UINT,WPARAM,LPARAM); 402 UINT WINAPI ImmGetVirtualKey(HWND); 403 BOOL WINAPI ImmRegisterWordA(HKL,LPCSTR,DWORD,LPCSTR); 404 BOOL WINAPI ImmRegisterWordW(HKL,LPCWSTR,DWORD,LPCWSTR); 405 BOOL WINAPI ImmUnregisterWordA(HKL,LPCSTR,DWORD,LPCSTR); 406 BOOL WINAPI ImmUnregisterWordW(HKL,LPCWSTR,DWORD,LPCWSTR); 407 UINT WINAPI ImmGetRegisterWordStyleA(HKL,UINT,PSTYLEBUFA); 408 UINT WINAPI ImmGetRegisterWordStyleW(HKL,UINT,PSTYLEBUFW); 409 UINT WINAPI ImmEnumRegisterWordA(HKL,REGISTERWORDENUMPROCA,LPCSTR,DWORD,LPCSTR,PVOID); 410 UINT WINAPI ImmEnumRegisterWordW(HKL,REGISTERWORDENUMPROCW,LPCWSTR,DWORD,LPCWSTR,PVOID); 411 BOOL WINAPI EnableEUDC(BOOL); 412 BOOL WINAPI ImmDisableIME(DWORD); 413 DWORD WINAPI ImmGetImeMenuItemsA(HIMC,DWORD,DWORD,LPIMEMENUITEMINFOA,LPIMEMENUITEMINFOA,DWORD); 414 DWORD WINAPI ImmGetImeMenuItemsW(HIMC,DWORD,DWORD,LPIMEMENUITEMINFOW,LPIMEMENUITEMINFOW,DWORD); 415 416 #define ImmEnumRegisterWord __AW(ImmEnumRegisterWord) 417 #define ImmGetRegisterWordStyle __AW(ImmGetRegisterWordStyle) 418 #define ImmUnregisterWord __AW(ImmUnregisterWord) 419 #define ImmRegisterWord __AW(ImmRegisterWord) 420 #define ImmInstallIME __AW(ImmInstallIME) 421 #define ImmIsUIMessage __AW(ImmIsUIMessage) 422 #define ImmGetConversionList __AW(ImmGetConversionList) 423 #define ImmEscape __AW(ImmEscape) 424 #define ImmConfigureIME __AW(ImmConfigureIME) 425 #ifndef NOGDI 426 #define ImmSetCompositionFont __AW(ImmSetCompositionFont) 427 #define ImmGetCompositionFont __AW(ImmGetCompositionFont) 428 #endif 429 #define ImmGetGuideLine __AW(ImmGetGuideLine) 430 #define ImmGetCandidateList __AW(ImmGetCandidateList) 431 #define ImmGetCandidateListCount __AW(ImmGetCandidateListCount) 432 #define ImmSetCompositionString __AW(ImmSetCompositionString) 433 #define ImmGetCompositionString __AW(ImmGetCompositionString) 434 #define ImmGetDescription __AW(ImmGetDescription) 435 #define ImmGetIMEFileName __AW(ImmGetIMEFileName) 436 #define ImmGetImeMenuItems __AW(ImmGetImeMenuItems) 437 438 #if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K) 439 #define WM_IME_REQUEST 0x0288 440 #endif 441 442 #ifdef __cplusplus 443 } 444 #endif 445 #endif 446