1 // this file was taken from mingw win32api headers 2 // http://cvs.sourceforge.net/viewcvs.py/mingw/w32api/README.w32api?rev=HEAD&content-type=text/vnd.viewcvs-markup 3 /* 4 Free headers and libraries for the Win32 API 5 6 Originally written by Anders Norlander <anorland@telia.com> 7 8 Now maintained by MinGW Developers 9 Send bug reports and questions to MinGW-users@lists.sourceforge.net 10 URL: http://www.mingw.org 11 Individual contributors can be found in the ChangeLog file. 12 13 Unless otherwise stated in individual source files, 14 15 THIS SOFTWARE IS NOT COPYRIGHTED 16 17 This source code is offered for use in the public domain. You may use, 18 modify or distribute it freely. 19 20 This source code is distributed in the hope that it will be useful but 21 WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY 22 DISCLAIMED. This includes but is not limited to warranties of 23 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 24 */ 25 26 //<comment author='b6s'> DDK has chaned this header's name to IMMDEV.h 27 //#ifndef _IMM_H 28 //#define _IMM_H 29 //</comment> 30 #ifndef _IMMDEV_ 31 #define _IMMDEV_ 32 33 #if __GNUC__ >=3 34 #pragma GCC system_header 35 #endif 36 37 #ifdef __cplusplus 38 extern "C" { 39 #endif 40 41 //<comment author='b6s'> To avoid macro redefinition 42 #ifndef _IMM_SDK_DEFINED_ 43 #define _IMM_SDK_DEFINED_ 44 45 #define WM_CONVERTREQUESTEX 0x108 46 47 #ifndef _WINUSER_ 48 #if(WINVER >= 0x0400) 49 #define WM_IME_STARTCOMPOSITION 0x10D 50 #define WM_IME_ENDCOMPOSITION 0x10E 51 #define WM_IME_COMPOSITION 0x10F 52 #define WM_IME_KEYLAST 0x10F 53 #endif // if(WINVER >= 0x0400) 54 55 #define WM_IME_SETCONTEXT 0x281 56 #define WM_IME_NOTIFY 0x282 57 #define WM_IME_CONTROL 0x283 58 #define WM_IME_COMPOSITIONFULL 0x284 59 #define WM_IME_SELECT 0x285 60 #define WM_IME_CHAR 0x286 61 #define WM_IME_KEYDOWN 0x290 62 #define WM_IME_KEYUP 0x291 63 64 #define MOD_ALT 1 65 #define MOD_CONTROL 2 66 #define MOD_SHIFT 4 67 #define MOD_WIN 8 68 69 #if (WINVER >= 0x0500) 70 #define WM_IME_REQUEST 0x0288 71 #endif 72 #endif // _WINUSER_ 73 74 #define IMC_GETCANDIDATEPOS 7 75 #define IMC_SETCANDIDATEPOS 8 76 #define IMC_GETCOMPOSITIONFONT 9 77 #define IMC_SETCOMPOSITIONFONT 10 78 #define IMC_GETCOMPOSITIONWINDOW 11 79 #define IMC_SETCOMPOSITIONWINDOW 12 80 #define IMC_GETSTATUSWINDOWPOS 15 81 #define IMC_SETSTATUSWINDOWPOS 16 82 #define IMC_CLOSESTATUSWINDOW 0x21 83 #define IMC_OPENSTATUSWINDOW 0x22 84 #define IMN_CLOSESTATUSWINDOW 1 85 #define IMN_OPENSTATUSWINDOW 2 86 #define IMN_CHANGECANDIDATE 3 87 #define IMN_CLOSECANDIDATE 4 88 #define IMN_OPENCANDIDATE 5 89 #define IMN_SETCONVERSIONMODE 6 90 #define IMN_SETSENTENCEMODE 7 91 #define IMN_SETOPENSTATUS 8 92 #define IMN_SETCANDIDATEPOS 9 93 #define IMN_SETCOMPOSITIONFONT 10 94 #define IMN_SETCOMPOSITIONWINDOW 11 95 #define IMN_SETSTATUSWINDOWPOS 12 96 #define IMN_GUIDELINE 13 97 #define IMN_PRIVATE 14 98 #define NI_OPENCANDIDATE 16 99 #define NI_CLOSECANDIDATE 17 100 #define NI_SELECTCANDIDATESTR 18 101 #define NI_CHANGECANDIDATELIST 19 102 #define NI_FINALIZECONVERSIONRESULT 20 103 #define NI_COMPOSITIONSTR 21 104 #define NI_SETCANDIDATE_PAGESTART 22 105 #define NI_SETCANDIDATE_PAGESIZE 23 106 #define NI_IMEMENUSELECTED 24 107 #define ISC_SHOWUICANDIDATEWINDOW 1 108 #define ISC_SHOWUICOMPOSITIONWINDOW 0x80000000 109 #define ISC_SHOWUIGUIDELINE 0x40000000 110 #define ISC_SHOWUIALLCANDIDATEWINDOW 15 111 #define ISC_SHOWUIALL 0xC000000F 112 #define CPS_COMPLETE 1 113 #define CPS_CONVERT 2 114 #define CPS_REVERT 3 115 #define CPS_CANCEL 4 116 #define IME_CHOTKEY_IME_NONIME_TOGGLE 16 117 #define IME_CHOTKEY_SHAPE_TOGGLE 17 118 #define IME_CHOTKEY_SYMBOL_TOGGLE 18 119 #define IME_JHOTKEY_CLOSE_OPEN 0x30 120 #define IME_KHOTKEY_SHAPE_TOGGLE 0x50 121 #define IME_KHOTKEY_HANJACONVERT 0x51 122 #define IME_KHOTKEY_ENGLISH 0x52 123 #define IME_THOTKEY_IME_NONIME_TOGGLE 0x70 124 #define IME_THOTKEY_SHAPE_TOGGLE 0x71 125 #define IME_THOTKEY_SYMBOL_TOGGLE 0x72 126 #define IME_HOTKEY_DSWITCH_FIRST 256 127 #define IME_HOTKEY_DSWITCH_LAST 0x11F 128 #define IME_ITHOTKEY_RESEND_RESULTSTR 512 129 #define IME_ITHOTKEY_PREVIOUS_COMPOSITION 513 130 #define IME_ITHOTKEY_UISTYLE_TOGGLE 514 131 #define GCS_COMPREADSTR 1 132 #define GCS_COMPREADATTR 2 133 #define GCS_COMPREADCLAUSE 4 134 #define GCS_COMPSTR 8 135 #define GCS_COMPATTR 16 136 #define GCS_COMPCLAUSE 32 137 #define GCS_CURSORPOS 128 138 #define GCS_DELTASTART 256 139 #define GCS_RESULTREADSTR 512 140 #define GCS_RESULTREADCLAUSE 1024 141 #define GCS_RESULTSTR 2048 142 #define GCS_RESULTCLAUSE 4096 143 #define CS_INSERTCHAR 0x2000 144 #define CS_NOMOVECARET 0x4000 145 #define IMEVER_0310 0x3000A 146 #define IMEVER_0400 0x40000 147 #define IME_PROP_AT_CARET 0x10000 148 #define IME_PROP_SPECIAL_UI 0x20000 149 #define IME_PROP_CANDLIST_START_FROM_1 0x40000 150 #define IME_PROP_UNICODE 0x80000 151 #define UI_CAP_2700 1 152 #define UI_CAP_ROT90 2 153 #define UI_CAP_ROTANY 4 154 #define SCS_CAP_COMPSTR 1 155 #define SCS_CAP_MAKEREAD 2 156 #define SELECT_CAP_CONVERSION 1 157 #define SELECT_CAP_SENTENCE 2 158 #define GGL_LEVEL 1 159 #define GGL_INDEX 2 160 #define GGL_STRING 3 161 #define GGL_PRIVATE 4 162 #define GL_LEVEL_NOGUIDELINE 0 163 #define GL_LEVEL_FATAL 1 164 #define GL_LEVEL_ERROR 2 165 #define GL_LEVEL_WARNING 3 166 #define GL_LEVEL_INFORMATION 4 167 #define GL_ID_UNKNOWN 0 168 #define GL_ID_NOMODULE 1 169 #define GL_ID_NODICTIONARY 16 170 #define GL_ID_CANNOTSAVE 17 171 #define GL_ID_NOCONVERT 32 172 #define GL_ID_TYPINGERROR 33 173 #define GL_ID_TOOMANYSTROKE 34 174 #define GL_ID_READINGCONFLICT 35 175 #define GL_ID_INPUTREADING 36 176 #define GL_ID_INPUTRADICAL 37 177 #define GL_ID_INPUTCODE 38 178 #define GL_ID_INPUTSYMBOL 39 179 #define GL_ID_CHOOSECANDIDATE 40 180 #define GL_ID_REVERSECONVERSION 41 181 #define GL_ID_PRIVATE_FIRST 0x8000 182 #define GL_ID_PRIVATE_LAST 0xFFFF 183 #define IGP_GETIMEVERSION (DWORD)(-4) 184 #define IGP_PROPERTY 4 185 #define IGP_CONVERSION 8 186 #define IGP_SENTENCE 12 187 #define IGP_UI 16 188 #define IGP_SETCOMPSTR 0x14 189 #define IGP_SELECT 0x18 190 #define SCS_SETSTR (GCS_COMPREADSTR|GCS_COMPSTR) 191 #define SCS_CHANGEATTR (GCS_COMPREADATTR|GCS_COMPATTR) 192 #define SCS_CHANGECLAUSE (GCS_COMPREADCLAUSE|GCS_COMPCLAUSE) 193 #define ATTR_INPUT 0 194 #define ATTR_TARGET_CONVERTED 1 195 #define ATTR_CONVERTED 2 196 #define ATTR_TARGET_NOTCONVERTED 3 197 #define ATTR_INPUT_ERROR 4 198 #define ATTR_FIXEDCONVERTED 5 199 #define CFS_DEFAULT 0 200 #define CFS_RECT 1 201 #define CFS_POINT 2 202 #define CFS_SCREEN 4 203 #define CFS_FORCE_POSITION 32 204 #define CFS_CANDIDATEPOS 64 205 #define CFS_EXCLUDE 128 206 #define GCL_CONVERSION 1 207 #define GCL_REVERSECONVERSION 2 208 #define GCL_REVERSE_LENGTH 3 209 #define IME_CMODE_ALPHANUMERIC 0 210 #define IME_CMODE_NATIVE 1 211 #define IME_CMODE_CHINESE IME_CMODE_NATIVE 212 #define IME_CMODE_HANGEUL IME_CMODE_NATIVE 213 #define IME_CMODE_HANGUL IME_CMODE_NATIVE 214 #define IME_CMODE_JAPANESE IME_CMODE_NATIVE 215 #define IME_CMODE_KATAKANA 2 216 #define IME_CMODE_LANGUAGE 3 217 #define IME_CMODE_FULLSHAPE 8 218 #define IME_CMODE_ROMAN 16 219 #define IME_CMODE_CHARCODE 32 220 #define IME_CMODE_HANJACONVERT 64 221 #define IME_CMODE_SOFTKBD 128 222 #define IME_CMODE_NOCONVERSION 256 223 #define IME_CMODE_EUDC 512 224 #define IME_CMODE_SYMBOL 1024 225 #define IME_CMODE_FIXED 2048 226 #define IME_SMODE_NONE 0 227 #define IME_SMODE_PLAURALCLAUSE 1 228 #define IME_SMODE_SINGLECONVERT 2 229 #define IME_SMODE_AUTOMATIC 4 230 #define IME_SMODE_PHRASEPREDICT 8 231 #define IME_CAND_UNKNOWN 0 232 #define IME_CAND_READ 1 233 #define IME_CAND_CODE 2 234 #define IME_CAND_MEANING 3 235 #define IME_CAND_RADICAL 4 236 #define IME_CAND_STROKE 5 237 #define IMM_ERROR_NODATA (-1) 238 #define IMM_ERROR_GENERAL (-2) 239 #define IME_CONFIG_GENERAL 1 240 #define IME_CONFIG_REGISTERWORD 2 241 #define IME_CONFIG_SELECTDICTIONARY 3 242 #define IME_ESC_QUERY_SUPPORT 3 243 #define IME_ESC_RESERVED_FIRST 4 244 #define IME_ESC_RESERVED_LAST 0x7FF 245 #define IME_ESC_PRIVATE_FIRST 0x800 246 #define IME_ESC_PRIVATE_LAST 0xFFF 247 #define IME_ESC_SEQUENCE_TO_INTERNAL 0x1001 248 #define IME_ESC_GET_EUDC_DICTIONARY 0x1003 249 #define IME_ESC_SET_EUDC_DICTIONARY 0x1004 250 #define IME_ESC_MAX_KEY 0x1005 251 #define IME_ESC_IME_NAME 0x1006 252 #define IME_ESC_SYNC_HOTKEY 0x1007 253 #define IME_ESC_HANJA_MODE 0x1008 254 #define IME_ESC_AUTOMATA 0x1009 255 #define IME_REGWORD_STYLE_EUDC 1 256 #define IME_REGWORD_STYLE_USER_FIRST 0x80000000 257 #define IME_REGWORD_STYLE_USER_LAST 0xFFFFFFFF 258 #define SOFTKEYBOARD_TYPE_T1 1 259 #define SOFTKEYBOARD_TYPE_C1 2 260 #define MOD_IGNORE_ALL_MODIFIER 1024 261 #define MOD_ON_KEYUP 2048 262 #define MOD_RIGHT 16384 263 #define MOD_LEFT 32768 264 #define IACE_CHILDREN 1 265 #define IACE_DEFAULT 16 266 #define IACE_IGNORENOCONTEXT 32 267 #define IGIMIF_RIGHTMENU 1 268 #define IGIMII_CMODE 1 269 #define IGIMII_SMODE 2 270 #define IGIMII_CONFIGURE 4 271 #define IGIMII_TOOLS 8 272 #define IGIMII_HELP 16 273 #define IGIMII_OTHER 32 274 #define IGIMII_INPUTTOOLS 64 275 #define IMFT_RADIOCHECK 1 276 #define IMFT_SEPARATOR 2 277 #define IMFT_SUBMENU 4 278 #define IMFS_GRAYED MFS_GRAYED 279 #define IMFS_DISABLED MFS_DISABLED 280 #define IMFS_CHECKED MFS_CHECKED 281 #define IMFS_HILITE MFS_HILITE 282 #define IMFS_ENABLED MFS_ENABLED 283 #define IMFS_UNCHECKED MFS_UNCHECKED 284 #define IMFS_UNHILITE MFS_UNHILITE 285 #define IMFS_DEFAULT MFS_DEFAULT 286 #ifndef VK_PROCESSKEY 287 #define VK_PROCESSKEY 0x0E5 288 #endif 289 #define STYLE_DESCRIPTION_SIZE 32 290 #define IME_PROP_UNICODE 0x80000 291 292 typedef DWORD HIMC; 293 typedef DWORD HIMCC; 294 typedef HKL *LPHKL; 295 typedef struct tagCOMPOSITIONFORM { 296 DWORD dwStyle; 297 POINT ptCurrentPos; 298 RECT rcArea; 299 } COMPOSITIONFORM,*PCOMPOSITIONFORM,*LPCOMPOSITIONFORM; 300 typedef struct tagCANDIDATEFORM { 301 DWORD dwIndex; 302 DWORD dwStyle; 303 POINT ptCurrentPos; 304 RECT rcArea; 305 } CANDIDATEFORM,*PCANDIDATEFORM,*LPCANDIDATEFORM; 306 typedef struct tagCANDIDATELIST { 307 DWORD dwSize; 308 DWORD dwStyle; 309 DWORD dwCount; 310 DWORD dwSelection; 311 DWORD dwPageStart; 312 DWORD dwPageSize; 313 DWORD dwOffset[1]; 314 } CANDIDATELIST,*PCANDIDATELIST,*LPCANDIDATELIST; 315 typedef struct tagREGISTERWORDA { 316 LPSTR lpReading; 317 LPSTR lpWord; 318 } REGISTERWORDA,*PREGISTERWORDA,*LPREGISTERWORDA; 319 typedef struct tagREGISTERWORDW { 320 LPWSTR lpReading; 321 LPWSTR lpWord; 322 } REGISTERWORDW,*PREGISTERWORDW,*LPREGISTERWORDW; 323 typedef struct tagSTYLEBUFA { 324 DWORD dwStyle; 325 CHAR szDescription[STYLE_DESCRIPTION_SIZE]; 326 } STYLEBUFA,*PSTYLEBUFA,*LPSTYLEBUFA; 327 typedef struct tagSTYLEBUFW { 328 DWORD dwStyle; 329 WCHAR szDescription[STYLE_DESCRIPTION_SIZE]; 330 } STYLEBUFW,*PSTYLEBUFW,*LPSTYLEBUFW; 331 332 #define IMEMENUITEM_STRING_SIZE 80 333 334 typedef struct tagIMEMENUITEMINFOA { 335 UINT cbSize; 336 UINT fType; 337 UINT fState; 338 UINT wID; 339 HBITMAP hbmpChecked; 340 HBITMAP hbmpUnchecked; 341 DWORD dwItemData; 342 CHAR szString[IMEMENUITEM_STRING_SIZE]; 343 HBITMAP hbmpItem; 344 } IMEMENUITEMINFOA,*PIMEMENUITEMINFOA,*LPIMEMENUITEMINFOA; 345 typedef struct tagIMEMENUITEMINFOW { 346 UINT cbSize; 347 UINT fType; 348 UINT fState; 349 UINT wID; 350 HBITMAP hbmpChecked; 351 HBITMAP hbmpUnchecked; 352 DWORD dwItemData; 353 WCHAR szString[IMEMENUITEM_STRING_SIZE]; 354 HBITMAP hbmpItem; 355 } IMEMENUITEMINFOW,*PIMEMENUITEMINFOW,*LPIMEMENUITEMINFOW; 356 // http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wceinternational5/html/wce50lrfCOMPOSITIONSTR.asp 357 358 #endif // _IMM_SDK_DEFINED_ 359 360 #ifndef _IMM_DDK_DEFINED_ 361 #define _IMM_DDK_DEFINED_ 362 363 //<comment author='b6s'> These two are not in imm.h 364 typedef const void *PCVOID, *LPCVOID; 365 #define IMMGWL_IMC 0 366 //</comment> 367 368 // kanru 369 #define IME_PROP_KBD_CHAR_FIRST 2 370 // http://earlsoft.co.uk/api/constant.php?name=IME_PROP_UNICODE 371 372 //<comment author='b6s'> Supply some missing definitions 373 #define IME_PROP_END_UNLOAD 0x0001 374 #define IME_PROP_COMPLETE_ON_UNSELECT 0x00100000 375 376 #define INIT_STATUSWNDPOS 0x00000001 377 #define INIT_CONVERSION 0x00000002 378 #define INIT_SENTENCE 0x00000004 379 #define INIT_LOGFONT 0x00000008 380 #define INIT_COMPFORM 0x00000010 381 #define INIT_SOFTKBDPOS 0x00000020 382 383 #define NI_CONTEXTUPDATED 0x0003 384 385 #define IMC_SETCONVERSIONMODE 0x0002 386 #define IMC_SETSENTENCEMODE 0x0004 387 #define IMC_SETOPENSTATUS 0x0006 388 389 #define IMMGWL_PRIVATE (sizeof(LONG)) 390 391 #define IMN_SOFTKBDDESTROYED 0x0011 392 393 typedef struct tagCOMPOSITIONSTR { 394 DWORD dwSize; 395 DWORD dwCompReadAttrLen; 396 DWORD dwCompReadAttrOffset; 397 DWORD dwCompReadClsLen; 398 DWORD dwCompReadClsOffset; 399 DWORD dwCompReadStrLen; 400 DWORD dwCompReadStrOffset; 401 DWORD dwCompAttrLen; 402 DWORD dwCompAttrOffset; 403 DWORD dwCompClsLen; 404 DWORD dwCompClsOffset; 405 DWORD dwCompStrLen; 406 DWORD dwCompStrOffset; 407 DWORD dwCursorPos; 408 DWORD dwDeltaStart; 409 DWORD dwResultReadClsLen; 410 DWORD dwResultReadClsOffset; 411 DWORD dwResultReadStrLen; 412 DWORD dwResultReadStrOffset; 413 DWORD dwResultClsLen; 414 DWORD dwResultClsOffset; 415 DWORD dwResultStrLen; 416 DWORD dwResultStrOffset; 417 DWORD dwPrivateSize; 418 DWORD dwPrivateOffset; 419 } COMPOSITIONSTRING, *LPCOMPOSITIONSTRING; 420 // http://msdn.microsoft.com/library/en-us/wceinternational5/html/wce50lrfCANDIDATEINFO.asp?frame=true 421 typedef struct tagCANDIDATEINFO { 422 DWORD dwSize; 423 DWORD dwCount; 424 DWORD dwOffset[32]; 425 DWORD dwPrivateSize; 426 DWORD dwPrivateOffset; 427 } CANDIDATEINFO, *LPCANDIDATEINFO; 428 // http://msdn.microsoft.com/library/en-us/wceinternational5/html/wce50lrfINPUTCONTEXT.asp?frame=true 429 typedef struct tagINPUTCONTEXT{ 430 HWND hWnd; 431 BOOL fOpen; 432 //HWND hwndImeInUse; 433 POINT ptStatusWndPos; 434 POINT ptSoftKbdPos; 435 DWORD fdwConversion; 436 DWORD fdwSentence; 437 union{ 438 LOGFONTA A; 439 LOGFONTW W; 440 } lfFont; 441 COMPOSITIONFORM cfCompForm; 442 CANDIDATEFORM cfCandForm[4]; 443 HIMCC hCompStr; 444 HIMCC hCandInfo; 445 HIMCC hGuideLine; 446 HIMCC hPrivate; 447 DWORD dwNumMsgBuf; 448 HIMCC hMsgBuf; 449 DWORD fdwInit; 450 DWORD dwReserve[3]; 451 } INPUTCONTEXT, *PINPUTCONTEXT, NEAR *NPINPUTCONTEXT, FAR *LPINPUTCONTEXT; 452 // http://msdn.microsoft.com/workshop/misc/aimm/reference/structures/imeinfo.asp 453 typedef struct { 454 DWORD dwPrivateDataSize; 455 DWORD fdwProperty; 456 DWORD fdwConversionCaps; // fdwConverstionCaps 457 DWORD fdwSentenceCaps; 458 DWORD fdwUICaps; 459 DWORD fdwSCSCaps; 460 DWORD fdwSelectCaps; 461 } IMEINFO, *LPIMEINFO; 462 typedef int (CALLBACK *REGISTERWORDENUMPROCA)(LPCSTR, DWORD, LPCSTR, LPVOID); 463 typedef int (CALLBACK *REGISTERWORDENUMPROCW)(LPCWSTR, DWORD, LPCWSTR, LPVOID); 464 #ifdef UNICODE 465 #define REGISTERWORDENUMPROC REGISTERWORDENUMPROCW 466 typedef REGISTERWORDW REGISTERWORD,*PREGISTERWORD,*LPREGISTERWORD; 467 typedef STYLEBUFW STYLEBUF,*PSTYLEBUF,*LPSTYLEBUF; 468 typedef IMEMENUITEMINFOW IMEMENUITEMINFO,*PIMEMENUITEMINFO,*LPIMEMENUITEMINFO; 469 #else 470 #define REGISTERWORDENUMPROC REGISTERWORDENUMPROCA 471 typedef REGISTERWORDA REGISTERWORD,*PREGISTERWORD,*LPREGISTERWORD; 472 typedef STYLEBUFA STYLEBUF,*PSTYLEBUF,*LPSTYLEBUF; 473 typedef IMEMENUITEMINFOA IMEMENUITEMINFO,*PIMEMENUITEMINFO,*LPIMEMENUITEMINFO; 474 #endif 475 HKL WINAPI ImmInstallIMEA(LPCSTR,LPCSTR); 476 HKL WINAPI ImmInstallIMEW(LPCWSTR,LPCWSTR); 477 HWND WINAPI ImmGetDefaultIMEWnd(HWND); 478 UINT WINAPI ImmGetDescriptionA(HKL,LPSTR,UINT); 479 UINT WINAPI ImmGetDescriptionW(HKL,LPWSTR,UINT); 480 UINT WINAPI ImmGetIMEFileNameA(HKL,LPSTR,UINT); 481 UINT WINAPI ImmGetIMEFileNameW(HKL,LPWSTR,UINT); 482 DWORD WINAPI ImmGetProperty(HKL,DWORD); 483 BOOL WINAPI ImmIsIME(HKL); 484 BOOL WINAPI ImmSimulateHotKey(HWND,DWORD); 485 HIMC WINAPI ImmCreateContext(void); 486 BOOL WINAPI ImmDestroyContext(HIMC); 487 HIMC WINAPI ImmGetContext(HWND); 488 BOOL WINAPI ImmReleaseContext(HWND,HIMC); 489 HIMC WINAPI ImmAssociateContext(HWND,HIMC); 490 LONG WINAPI ImmGetCompositionStringA(HIMC,DWORD,PVOID,DWORD); 491 LONG WINAPI ImmGetCompositionStringW(HIMC,DWORD,PVOID,DWORD); 492 //BOOL WINAPI ImmSetCompositionStringA(HIMC,DWORD,PCVOID,DWORD,PCVOID,DWORD); 493 //BOOL WINAPI ImmSetCompositionStringW(HIMC,DWORD,PCVOID,DWORD,PCVOID,DWORD); 494 DWORD WINAPI ImmGetCandidateListCountA(HIMC,PDWORD); 495 DWORD WINAPI ImmGetCandidateListCountW(HIMC,PDWORD); 496 DWORD WINAPI ImmGetCandidateListA(HIMC,DWORD,PCANDIDATELIST,DWORD); 497 DWORD WINAPI ImmGetCandidateListW(HIMC,DWORD,PCANDIDATELIST,DWORD); 498 DWORD WINAPI ImmGetGuideLineA(HIMC,DWORD,LPSTR,DWORD); 499 DWORD WINAPI ImmGetGuideLineW(HIMC,DWORD,LPWSTR,DWORD); 500 BOOL WINAPI ImmGetConversionStatus(HIMC,LPDWORD,PDWORD); 501 BOOL WINAPI ImmSetConversionStatus(HIMC,DWORD,DWORD); 502 BOOL WINAPI ImmGetOpenStatus(HIMC); 503 BOOL WINAPI ImmSetOpenStatus(HIMC,BOOL); 504 #ifndef NOGDI 505 BOOL WINAPI ImmGetCompositionFontA(HIMC,LPLOGFONTA); 506 BOOL WINAPI ImmGetCompositionFontW(HIMC,LPLOGFONTW); 507 BOOL WINAPI ImmSetCompositionFontA(HIMC,LPLOGFONTA); 508 BOOL WINAPI ImmSetCompositionFontW(HIMC,LPLOGFONTW); 509 #endif 510 BOOL WINAPI ImmConfigureIMEA(HKL,HWND,DWORD,PVOID); 511 BOOL WINAPI ImmConfigureIMEW(HKL,HWND,DWORD,PVOID); 512 LRESULT WINAPI ImmEscapeA(HKL,HIMC,UINT,PVOID); 513 LRESULT WINAPI ImmEscapeW(HKL,HIMC,UINT,PVOID); 514 DWORD WINAPI ImmGetConversionListA(HKL,HIMC,LPCSTR,PCANDIDATELIST,DWORD,UINT); 515 DWORD WINAPI ImmGetConversionListW(HKL,HIMC,LPCWSTR,PCANDIDATELIST,DWORD,UINT); 516 BOOL WINAPI ImmNotifyIME(HIMC,DWORD,DWORD,DWORD); 517 BOOL WINAPI ImmGetStatusWindowPos(HIMC,LPPOINT); 518 BOOL WINAPI ImmSetStatusWindowPos(HIMC,LPPOINT); 519 BOOL WINAPI ImmGetCompositionWindow(HIMC,PCOMPOSITIONFORM); 520 BOOL WINAPI ImmSetCompositionWindow(HIMC,PCOMPOSITIONFORM); 521 BOOL WINAPI ImmGetCandidateWindow(HIMC,DWORD,PCANDIDATEFORM); 522 BOOL WINAPI ImmSetCandidateWindow(HIMC,PCANDIDATEFORM); 523 BOOL WINAPI ImmIsUIMessageA(HWND,UINT,WPARAM,LPARAM); 524 BOOL WINAPI ImmIsUIMessageW(HWND,UINT,WPARAM,LPARAM); 525 UINT WINAPI ImmGetVirtualKey(HWND); 526 BOOL WINAPI ImmRegisterWordA(HKL,LPCSTR,DWORD,LPCSTR); 527 BOOL WINAPI ImmRegisterWordW(HKL,LPCWSTR,DWORD,LPCWSTR); 528 BOOL WINAPI ImmUnregisterWordA(HKL,LPCSTR,DWORD,LPCSTR); 529 BOOL WINAPI ImmUnregisterWordW(HKL,LPCWSTR,DWORD,LPCWSTR); 530 UINT WINAPI ImmGetRegisterWordStyleA(HKL,UINT,PSTYLEBUFA); 531 UINT WINAPI ImmGetRegisterWordStyleW(HKL,UINT,PSTYLEBUFW); 532 UINT WINAPI ImmEnumRegisterWordA(HKL,REGISTERWORDENUMPROCA,LPCSTR,DWORD,LPCSTR,PVOID); 533 UINT WINAPI ImmEnumRegisterWordW(HKL,REGISTERWORDENUMPROCW,LPCWSTR,DWORD,LPCWSTR,PVOID); 534 BOOL WINAPI EnableEUDC(BOOL); 535 BOOL WINAPI ImmDisableIME(DWORD); 536 DWORD WINAPI ImmGetImeMenuItemsA(HIMC,DWORD,DWORD,LPIMEMENUITEMINFOA,LPIMEMENUITEMINFOA,DWORD); 537 DWORD WINAPI ImmGetImeMenuItemsW(HIMC,DWORD,DWORD,LPIMEMENUITEMINFOW,LPIMEMENUITEMINFOW,DWORD); 538 // http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wceinternational5/html/wce50lrfImmLockIMC.asp 539 LPINPUTCONTEXT WINAPI ImmLockIMC(HIMC hIMC); 540 // http://msdn.microsoft.com/library/en-us/wceinternational5/html/wce50lrfImmReSizeIMCC.asp?frame=true 541 HIMCC WINAPI ImmReSizeIMCC(HIMCC hIMCC, DWORD dwSize); 542 // http://msdn.microsoft.com/library/en-us/wceinternational5/html/wce50lrfImmLockIMCC.asp?frame=true 543 LPVOID WINAPI ImmLockIMCC(HIMCC hIMCC); 544 // http://msdn.microsoft.com/library/en-us/wceinternational5/html/wce50lrfImmUnlockIMCC.asp?frame=true 545 BOOL WINAPI ImmUnlockIMCC(HIMCC hIMCC); 546 // http://msdn.microsoft.com/library/en-us/wceinternational5/html/wce50lrfImmUnlockIMC.asp?frame=true 547 BOOL WINAPI ImmUnlockIMC(HIMC hIMC); 548 // http://msdn.microsoft.com/library/en-us/wceinternational5/html/wce50lrfImmGenerateMessage.asp?frame=true 549 BOOL WINAPI ImmGenerateMessage(HIMC hIMC); 550 #ifdef UNICODE 551 #define ImmEnumRegisterWord ImmEnumRegisterWordW 552 #define ImmGetRegisterWordStyle ImmGetRegisterWordStyleW 553 #define ImmUnregisterWord ImmUnregisterWordW 554 #define ImmRegisterWord ImmRegisterWordW 555 #define ImmInstallIME ImmInstallIMEW 556 #define ImmIsUIMessage ImmIsUIMessageW 557 #define ImmGetConversionList ImmGetConversionListW 558 #define ImmEscape ImmEscapeW 559 #define ImmConfigureIME ImmConfigureIMEW 560 #ifndef NOGDI 561 #define ImmSetCompositionFont ImmSetCompositionFontW 562 #define ImmGetCompositionFont ImmGetCompositionFontW 563 #endif 564 #define ImmGetGuideLine ImmGetGuideLineW 565 #define ImmGetCandidateList ImmGetCandidateListW 566 #define ImmGetCandidateListCount ImmGetCandidateListCountW 567 #define ImmSetCompositionString ImmSetCompositionStringW 568 #define ImmGetCompositionString ImmGetCompositionStringW 569 #define ImmGetDescription ImmGetDescriptionW 570 #define ImmGetIMEFileName ImmGetIMEFileNameW 571 #define ImmGetImeMenuItems ImmGetImeMenuItemsW 572 #else 573 #define ImmEnumRegisterWord ImmEnumRegisterWordA 574 #define ImmGetRegisterWordStyle ImmGetRegisterWordStyleA 575 #define ImmUnregisterWord ImmUnregisterWordA 576 #define ImmRegisterWord ImmRegisterWordA 577 #define ImmInstallIME ImmInstallIMEA 578 #define ImmIsUIMessage ImmIsUIMessageA 579 #define ImmGetConversionList ImmGetConversionListA 580 #define ImmEscape ImmEscapeA 581 #define ImmConfigureIME ImmConfigureIMEA 582 #ifndef NOGDI 583 #define ImmSetCompositionFont ImmSetCompositionFontA 584 #define ImmGetCompositionFont ImmGetCompositionFontA 585 #endif 586 #define ImmGetGuideLine ImmGetGuideLineA 587 #define ImmGetCandidateList ImmGetCandidateListA 588 #define ImmGetCandidateListCount ImmGetCandidateListCountA 589 #define ImmSetCompositionString ImmSetCompositionStringA 590 #define ImmGetCompositionString ImmGetCompositionStringA 591 #define ImmGetDescription ImmGetDescriptionA 592 #define ImmGetIMEFileName ImmGetIMEFileNameA 593 #define ImmGetImeMenuItems ImmGetImeMenuItemsW 594 #endif 595 #ifdef __cplusplus 596 } 597 #endif 598 599 #endif //_IMM_DDK_DEFINED_ 600 #endif // _IMMDEV_ 601