Hex Artifact Content

Not logged in

Artifact 9541f37a98b1f966c91c0edc2f5496c92a140d9c:


0000: 6d 6f 64 75 6c 65 20 77 69 6e 33 32 2e 61 6e 73  module win32.ans
0010: 69 2e 69 6d 6d 3b 0d 0a 0d 0a 2f 2f 20 54 72 61  i.imm;....// Tra
0020: 6e 73 6c 61 74 65 64 20 66 72 6f 6d 20 4d 69 63  nslated from Mic
0030: 72 6f 73 6f 66 74 20 50 6c 61 74 66 6f 72 6d 20  rosoft Platform 
0040: 53 44 4b 20 41 75 67 75 73 74 20 32 30 30 31 20  SDK August 2001 
0050: 45 64 69 74 69 6f 6e 0d 0a 2f 2f 20 62 79 20 59  Edition..// by Y
0060: 2e 54 6f 6d 69 6e 6f 20 28 64 65 6d 6f 6f 6e 6c  .Tomino (demoonl
0070: 69 74 40 69 6e 74 65 72 37 2e 6a 70 29 0d 0a 0d  it@inter7.jp)...
0080: 0a 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e 61 6e  .import win32.an
0090: 73 69 2e 77 69 6e 75 73 65 72 3b 0d 0a 0d 0a 2f  si.winuser;..../
00a0: 2f 20 23 69 66 6e 64 65 66 20 5f 49 4d 4d 5f 0d  / #ifndef _IMM_.
00b0: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 5f 49 4d 4d  .// #define _IMM
00c0: 5f 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f  _....// #ifdef _
00d0: 5f 63 70 6c 75 73 70 6c 75 73 0d 0a 2f 2f 20 65  _cplusplus..// e
00e0: 78 74 65 72 6e 20 22 43 22 20 7b 0d 0a 2f 2f 20  xtern "C" {..// 
00f0: 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66  #endif....// #if
0100: 6e 64 65 66 20 5f 49 4d 4d 5f 53 44 4b 5f 44 45  ndef _IMM_SDK_DE
0110: 46 49 4e 45 44 5f 0d 0a 2f 2f 20 23 64 65 66 69  FINED_..// #defi
0120: 6e 65 20 5f 49 4d 4d 5f 53 44 4b 5f 44 45 46 49  ne _IMM_SDK_DEFI
0130: 4e 45 44 5f 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28  NED_....// #if (
0140: 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 41  WINVER >= 0x040A
0150: 29 0d 0a 61 6c 69 61 73 20 76 6f 69 64 2a 20 48  )..alias void* H
0160: 49 4d 43 3b 0d 0a 61 6c 69 61 73 20 76 6f 69 64  IMC;..alias void
0170: 2a 20 48 49 4d 43 43 3b 0d 0a 2f 2f 20 23 65 6c  * HIMCC;..// #el
0180: 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  se..// .....// #
0190: 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20  endif /* WINVER 
01a0: 3e 3d 20 30 78 30 34 30 41 20 2a 2f 0d 0a 0d 0a  >= 0x040A */....
01b0: 61 6c 69 61 73 20 48 4b 4c 2a 20 4c 50 48 4b 4c  alias HKL* LPHKL
01c0: 3b 0d 0a 61 6c 69 61 73 20 55 49 4e 54 2a 20 4c  ;..alias UINT* L
01d0: 50 55 49 4e 54 3b 0d 0a 0d 0a 73 74 72 75 63 74  PUINT;....struct
01e0: 20 74 61 67 43 4f 4d 50 4f 53 49 54 49 4f 4e 46   tagCOMPOSITIONF
01f0: 4f 52 4d 20 7b 0d 0a 20 20 44 57 4f 52 44 20 64  ORM {..  DWORD d
0200: 77 53 74 79 6c 65 3b 0d 0a 20 20 50 4f 49 4e 54  wStyle;..  POINT
0210: 20 70 74 43 75 72 72 65 6e 74 50 6f 73 3b 0d 0a   ptCurrentPos;..
0220: 20 20 52 45 43 54 20 72 63 41 72 65 61 3b 0d 0a    RECT rcArea;..
0230: 7d 0d 0a 61 6c 69 61 73 20 74 61 67 43 4f 4d 50  }..alias tagCOMP
0240: 4f 53 49 54 49 4f 4e 46 4f 52 4d 20 43 4f 4d 50  OSITIONFORM COMP
0250: 4f 53 49 54 49 4f 4e 46 4f 52 4d 3b 0d 0a 61 6c  OSITIONFORM;..al
0260: 69 61 73 20 74 61 67 43 4f 4d 50 4f 53 49 54 49  ias tagCOMPOSITI
0270: 4f 4e 46 4f 52 4d 2a 20 50 43 4f 4d 50 4f 53 49  ONFORM* PCOMPOSI
0280: 54 49 4f 4e 46 4f 52 4d 3b 0d 0a 61 6c 69 61 73  TIONFORM;..alias
0290: 20 74 61 67 43 4f 4d 50 4f 53 49 54 49 4f 4e 46   tagCOMPOSITIONF
02a0: 4f 52 4d 2a 20 4e 50 43 4f 4d 50 4f 53 49 54 49  ORM* NPCOMPOSITI
02b0: 4f 4e 46 4f 52 4d 3b 0d 0a 61 6c 69 61 73 20 74  ONFORM;..alias t
02c0: 61 67 43 4f 4d 50 4f 53 49 54 49 4f 4e 46 4f 52  agCOMPOSITIONFOR
02d0: 4d 2a 20 4c 50 43 4f 4d 50 4f 53 49 54 49 4f 4e  M* LPCOMPOSITION
02e0: 46 4f 52 4d 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  FORM;....struct 
02f0: 74 61 67 43 41 4e 44 49 44 41 54 45 46 4f 52 4d  tagCANDIDATEFORM
0300: 20 7b 0d 0a 20 20 44 57 4f 52 44 20 64 77 49 6e   {..  DWORD dwIn
0310: 64 65 78 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77  dex;..  DWORD dw
0320: 53 74 79 6c 65 3b 0d 0a 20 20 50 4f 49 4e 54 20  Style;..  POINT 
0330: 70 74 43 75 72 72 65 6e 74 50 6f 73 3b 0d 0a 20  ptCurrentPos;.. 
0340: 20 52 45 43 54 20 72 63 41 72 65 61 3b 0d 0a 7d   RECT rcArea;..}
0350: 0d 0a 61 6c 69 61 73 20 74 61 67 43 41 4e 44 49  ..alias tagCANDI
0360: 44 41 54 45 46 4f 52 4d 20 43 41 4e 44 49 44 41  DATEFORM CANDIDA
0370: 54 45 46 4f 52 4d 3b 0d 0a 61 6c 69 61 73 20 74  TEFORM;..alias t
0380: 61 67 43 41 4e 44 49 44 41 54 45 46 4f 52 4d 2a  agCANDIDATEFORM*
0390: 20 50 43 41 4e 44 49 44 41 54 45 46 4f 52 4d 3b   PCANDIDATEFORM;
03a0: 0d 0a 61 6c 69 61 73 20 74 61 67 43 41 4e 44 49  ..alias tagCANDI
03b0: 44 41 54 45 46 4f 52 4d 2a 20 4e 50 43 41 4e 44  DATEFORM* NPCAND
03c0: 49 44 41 54 45 46 4f 52 4d 3b 0d 0a 61 6c 69 61  IDATEFORM;..alia
03d0: 73 20 74 61 67 43 41 4e 44 49 44 41 54 45 46 4f  s tagCANDIDATEFO
03e0: 52 4d 2a 20 4c 50 43 41 4e 44 49 44 41 54 45 46  RM* LPCANDIDATEF
03f0: 4f 52 4d 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74  ORM;....struct t
0400: 61 67 43 41 4e 44 49 44 41 54 45 4c 49 53 54 20  agCANDIDATELIST 
0410: 7b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 69 7a  {..  DWORD dwSiz
0420: 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 74  e;..  DWORD dwSt
0430: 79 6c 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77  yle;..  DWORD dw
0440: 43 6f 75 6e 74 3b 0d 0a 20 20 44 57 4f 52 44 20  Count;..  DWORD 
0450: 64 77 53 65 6c 65 63 74 69 6f 6e 3b 0d 0a 20 20  dwSelection;..  
0460: 44 57 4f 52 44 20 64 77 50 61 67 65 53 74 61 72  DWORD dwPageStar
0470: 74 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 50 61  t;..  DWORD dwPa
0480: 67 65 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52 44  geSize;..  DWORD
0490: 20 64 77 4f 66 66 73 65 74 5b 31 5d 3b 0d 0a 7d   dwOffset[1];..}
04a0: 0d 0a 61 6c 69 61 73 20 74 61 67 43 41 4e 44 49  ..alias tagCANDI
04b0: 44 41 54 45 4c 49 53 54 20 43 41 4e 44 49 44 41  DATELIST CANDIDA
04c0: 54 45 4c 49 53 54 3b 0d 0a 61 6c 69 61 73 20 74  TELIST;..alias t
04d0: 61 67 43 41 4e 44 49 44 41 54 45 4c 49 53 54 2a  agCANDIDATELIST*
04e0: 20 50 43 41 4e 44 49 44 41 54 45 4c 49 53 54 3b   PCANDIDATELIST;
04f0: 0d 0a 61 6c 69 61 73 20 74 61 67 43 41 4e 44 49  ..alias tagCANDI
0500: 44 41 54 45 4c 49 53 54 2a 20 4e 50 43 41 4e 44  DATELIST* NPCAND
0510: 49 44 41 54 45 4c 49 53 54 3b 0d 0a 61 6c 69 61  IDATELIST;..alia
0520: 73 20 74 61 67 43 41 4e 44 49 44 41 54 45 4c 49  s tagCANDIDATELI
0530: 53 54 2a 20 4c 50 43 41 4e 44 49 44 41 54 45 4c  ST* LPCANDIDATEL
0540: 49 53 54 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74  IST;....struct t
0550: 61 67 52 45 47 49 53 54 45 52 57 4f 52 44 41 20  agREGISTERWORDA 
0560: 7b 0d 0a 20 20 4c 50 53 54 52 20 6c 70 52 65 61  {..  LPSTR lpRea
0570: 64 69 6e 67 3b 0d 0a 20 20 4c 50 53 54 52 20 6c  ding;..  LPSTR l
0580: 70 57 6f 72 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  pWord;..}..alias
0590: 20 74 61 67 52 45 47 49 53 54 45 52 57 4f 52 44   tagREGISTERWORD
05a0: 41 20 52 45 47 49 53 54 45 52 57 4f 52 44 41 3b  A REGISTERWORDA;
05b0: 0d 0a 61 6c 69 61 73 20 74 61 67 52 45 47 49 53  ..alias tagREGIS
05c0: 54 45 52 57 4f 52 44 41 2a 20 50 52 45 47 49 53  TERWORDA* PREGIS
05d0: 54 45 52 57 4f 52 44 41 3b 0d 0a 61 6c 69 61 73  TERWORDA;..alias
05e0: 20 74 61 67 52 45 47 49 53 54 45 52 57 4f 52 44   tagREGISTERWORD
05f0: 41 2a 20 4e 50 52 45 47 49 53 54 45 52 57 4f 52  A* NPREGISTERWOR
0600: 44 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 52 45  DA;..alias tagRE
0610: 47 49 53 54 45 52 57 4f 52 44 41 2a 20 4c 50 52  GISTERWORDA* LPR
0620: 45 47 49 53 54 45 52 57 4f 52 44 41 3b 0d 0a 0d  EGISTERWORDA;...
0630: 0a 73 74 72 75 63 74 20 74 61 67 52 45 47 49 53  .struct tagREGIS
0640: 54 45 52 57 4f 52 44 57 20 7b 0d 0a 20 20 4c 50  TERWORDW {..  LP
0650: 57 53 54 52 20 6c 70 52 65 61 64 69 6e 67 3b 0d  WSTR lpReading;.
0660: 0a 20 20 4c 50 57 53 54 52 20 6c 70 57 6f 72 64  .  LPWSTR lpWord
0670: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 52  ;..}..alias tagR
0680: 45 47 49 53 54 45 52 57 4f 52 44 57 20 52 45 47  EGISTERWORDW REG
0690: 49 53 54 45 52 57 4f 52 44 57 3b 0d 0a 61 6c 69  ISTERWORDW;..ali
06a0: 61 73 20 74 61 67 52 45 47 49 53 54 45 52 57 4f  as tagREGISTERWO
06b0: 52 44 57 2a 20 50 52 45 47 49 53 54 45 52 57 4f  RDW* PREGISTERWO
06c0: 52 44 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 52  RDW;..alias tagR
06d0: 45 47 49 53 54 45 52 57 4f 52 44 57 2a 20 4e 50  EGISTERWORDW* NP
06e0: 52 45 47 49 53 54 45 52 57 4f 52 44 57 3b 0d 0a  REGISTERWORDW;..
06f0: 61 6c 69 61 73 20 74 61 67 52 45 47 49 53 54 45  alias tagREGISTE
0700: 52 57 4f 52 44 57 2a 20 4c 50 52 45 47 49 53 54  RWORDW* LPREGIST
0710: 45 52 57 4f 52 44 57 3b 0d 0a 0d 0a 2f 2f 20 23  ERWORDW;....// #
0720: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
0730: 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d  / .....// #else.
0740: 0a 61 6c 69 61 73 20 52 45 47 49 53 54 45 52 57  .alias REGISTERW
0750: 4f 52 44 41 20 52 45 47 49 53 54 45 52 57 4f 52  ORDA REGISTERWOR
0760: 44 3b 0d 0a 61 6c 69 61 73 20 50 52 45 47 49 53  D;..alias PREGIS
0770: 54 45 52 57 4f 52 44 41 20 50 52 45 47 49 53 54  TERWORDA PREGIST
0780: 45 52 57 4f 52 44 3b 0d 0a 61 6c 69 61 73 20 4e  ERWORD;..alias N
0790: 50 52 45 47 49 53 54 45 52 57 4f 52 44 41 20 4e  PREGISTERWORDA N
07a0: 50 52 45 47 49 53 54 45 52 57 4f 52 44 3b 0d 0a  PREGISTERWORD;..
07b0: 61 6c 69 61 73 20 4c 50 52 45 47 49 53 54 45 52  alias LPREGISTER
07c0: 57 4f 52 44 41 20 4c 50 52 45 47 49 53 54 45 52  WORDA LPREGISTER
07d0: 57 4f 52 44 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  WORD;..// #endif
07e0: 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f   // UNICODE..../
07f0: 2f 20 23 69 66 20 28 57 49 4e 56 45 52 20 3e 3d  / #if (WINVER >=
0800: 20 30 78 30 34 30 41 29 0d 0a 0d 0a 73 74 72 75   0x040A)....stru
0810: 63 74 20 74 61 67 52 45 43 4f 4e 56 45 52 54 53  ct tagRECONVERTS
0820: 54 52 49 4e 47 20 7b 0d 0a 20 20 44 57 4f 52 44  TRING {..  DWORD
0830: 20 64 77 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52   dwSize;..  DWOR
0840: 44 20 64 77 56 65 72 73 69 6f 6e 3b 0d 0a 20 20  D dwVersion;..  
0850: 44 57 4f 52 44 20 64 77 53 74 72 4c 65 6e 3b 0d  DWORD dwStrLen;.
0860: 0a 20 20 44 57 4f 52 44 20 64 77 53 74 72 4f 66  .  DWORD dwStrOf
0870: 66 73 65 74 3b 0d 0a 20 20 44 57 4f 52 44 20 64  fset;..  DWORD d
0880: 77 43 6f 6d 70 53 74 72 4c 65 6e 3b 0d 0a 20 20  wCompStrLen;..  
0890: 44 57 4f 52 44 20 64 77 43 6f 6d 70 53 74 72 4f  DWORD dwCompStrO
08a0: 66 66 73 65 74 3b 0d 0a 20 20 44 57 4f 52 44 20  ffset;..  DWORD 
08b0: 64 77 54 61 72 67 65 74 53 74 72 4c 65 6e 3b 0d  dwTargetStrLen;.
08c0: 0a 20 20 44 57 4f 52 44 20 64 77 54 61 72 67 65  .  DWORD dwTarge
08d0: 74 53 74 72 4f 66 66 73 65 74 3b 0d 0a 7d 0d 0a  tStrOffset;..}..
08e0: 61 6c 69 61 73 20 74 61 67 52 45 43 4f 4e 56 45  alias tagRECONVE
08f0: 52 54 53 54 52 49 4e 47 20 52 45 43 4f 4e 56 45  RTSTRING RECONVE
0900: 52 54 53 54 52 49 4e 47 3b 0d 0a 61 6c 69 61 73  RTSTRING;..alias
0910: 20 74 61 67 52 45 43 4f 4e 56 45 52 54 53 54 52   tagRECONVERTSTR
0920: 49 4e 47 2a 20 50 52 45 43 4f 4e 56 45 52 54 53  ING* PRECONVERTS
0930: 54 52 49 4e 47 3b 0d 0a 61 6c 69 61 73 20 74 61  TRING;..alias ta
0940: 67 52 45 43 4f 4e 56 45 52 54 53 54 52 49 4e 47  gRECONVERTSTRING
0950: 2a 20 4e 50 52 45 43 4f 4e 56 45 52 54 53 54 52  * NPRECONVERTSTR
0960: 49 4e 47 3b 0d 0a 61 6c 69 61 73 20 74 61 67 52  ING;..alias tagR
0970: 45 43 4f 4e 56 45 52 54 53 54 52 49 4e 47 2a 20  ECONVERTSTRING* 
0980: 4c 50 52 45 43 4f 4e 56 45 52 54 53 54 52 49 4e  LPRECONVERTSTRIN
0990: 47 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  G;....// #endif 
09a0: 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  /* WINVER >= 0x0
09b0: 34 30 41 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a  40A */....enum :
09c0: 20 75 69 6e 74 20 7b 20 53 54 59 4c 45 5f 44 45   uint { STYLE_DE
09d0: 53 43 52 49 50 54 49 4f 4e 5f 53 49 5a 45 20 3d  SCRIPTION_SIZE =
09e0: 20 33 32 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20   32 }....struct 
09f0: 74 61 67 53 54 59 4c 45 42 55 46 41 20 7b 0d 0a  tagSTYLEBUFA {..
0a00: 20 20 44 57 4f 52 44 20 64 77 53 74 79 6c 65 3b    DWORD dwStyle;
0a10: 0d 0a 20 20 43 48 41 52 20 73 7a 44 65 73 63 72  ..  CHAR szDescr
0a20: 69 70 74 69 6f 6e 5b 53 54 59 4c 45 5f 44 45 53  iption[STYLE_DES
0a30: 43 52 49 50 54 49 4f 4e 5f 53 49 5a 45 5d 3b 0d  CRIPTION_SIZE];.
0a40: 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 53 54 59  .}..alias tagSTY
0a50: 4c 45 42 55 46 41 20 53 54 59 4c 45 42 55 46 41  LEBUFA STYLEBUFA
0a60: 3b 0d 0a 61 6c 69 61 73 20 74 61 67 53 54 59 4c  ;..alias tagSTYL
0a70: 45 42 55 46 41 2a 20 50 53 54 59 4c 45 42 55 46  EBUFA* PSTYLEBUF
0a80: 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 53 54 59  A;..alias tagSTY
0a90: 4c 45 42 55 46 41 2a 20 4e 50 53 54 59 4c 45 42  LEBUFA* NPSTYLEB
0aa0: 55 46 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 53  UFA;..alias tagS
0ab0: 54 59 4c 45 42 55 46 41 2a 20 4c 50 53 54 59 4c  TYLEBUFA* LPSTYL
0ac0: 45 42 55 46 41 3b 0d 0a 0d 0a 73 74 72 75 63 74  EBUFA;....struct
0ad0: 20 74 61 67 53 54 59 4c 45 42 55 46 57 20 7b 0d   tagSTYLEBUFW {.
0ae0: 0a 20 20 44 57 4f 52 44 20 64 77 53 74 79 6c 65  .  DWORD dwStyle
0af0: 3b 0d 0a 20 20 57 43 48 41 52 20 73 7a 44 65 73  ;..  WCHAR szDes
0b00: 63 72 69 70 74 69 6f 6e 5b 53 54 59 4c 45 5f 44  cription[STYLE_D
0b10: 45 53 43 52 49 50 54 49 4f 4e 5f 53 49 5a 45 5d  ESCRIPTION_SIZE]
0b20: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 53  ;..}..alias tagS
0b30: 54 59 4c 45 42 55 46 57 20 53 54 59 4c 45 42 55  TYLEBUFW STYLEBU
0b40: 46 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 53 54  FW;..alias tagST
0b50: 59 4c 45 42 55 46 57 2a 20 50 53 54 59 4c 45 42  YLEBUFW* PSTYLEB
0b60: 55 46 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 53  UFW;..alias tagS
0b70: 54 59 4c 45 42 55 46 57 2a 20 4e 50 53 54 59 4c  TYLEBUFW* NPSTYL
0b80: 45 42 55 46 57 3b 0d 0a 61 6c 69 61 73 20 74 61  EBUFW;..alias ta
0b90: 67 53 54 59 4c 45 42 55 46 57 2a 20 4c 50 53 54  gSTYLEBUFW* LPST
0ba0: 59 4c 45 42 55 46 57 3b 0d 0a 0d 0a 2f 2f 20 23  YLEBUFW;....// #
0bb0: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
0bc0: 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d  / .....// #else.
0bd0: 0a 61 6c 69 61 73 20 53 54 59 4c 45 42 55 46 41  .alias STYLEBUFA
0be0: 20 53 54 59 4c 45 42 55 46 3b 0d 0a 61 6c 69 61   STYLEBUF;..alia
0bf0: 73 20 50 53 54 59 4c 45 42 55 46 41 20 50 53 54  s PSTYLEBUFA PST
0c00: 59 4c 45 42 55 46 3b 0d 0a 61 6c 69 61 73 20 4e  YLEBUF;..alias N
0c10: 50 53 54 59 4c 45 42 55 46 41 20 4e 50 53 54 59  PSTYLEBUFA NPSTY
0c20: 4c 45 42 55 46 3b 0d 0a 61 6c 69 61 73 20 4c 50  LEBUF;..alias LP
0c30: 53 54 59 4c 45 42 55 46 41 20 4c 50 53 54 59 4c  STYLEBUFA LPSTYL
0c40: 45 42 55 46 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  EBUF;..// #endif
0c50: 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f   // UNICODE..../
0c60: 2f 20 23 69 66 20 28 57 49 4e 56 45 52 20 3e 3d  / #if (WINVER >=
0c70: 20 30 78 30 34 30 41 29 0d 0a 0d 0a 65 6e 75 6d   0x040A)....enum
0c80: 20 3a 20 75 69 6e 74 20 7b 20 49 4d 45 4d 45 4e   : uint { IMEMEN
0c90: 55 49 54 45 4d 5f 53 54 52 49 4e 47 5f 53 49 5a  UITEM_STRING_SIZ
0ca0: 45 20 3d 20 38 30 20 7d 0d 0a 0d 0a 73 74 72 75  E = 80 }....stru
0cb0: 63 74 20 74 61 67 49 4d 45 4d 45 4e 55 49 54 45  ct tagIMEMENUITE
0cc0: 4d 49 4e 46 4f 41 20 7b 0d 0a 20 20 55 49 4e 54  MINFOA {..  UINT
0cd0: 20 63 62 53 69 7a 65 3b 0d 0a 20 20 55 49 4e 54   cbSize;..  UINT
0ce0: 20 66 54 79 70 65 3b 0d 0a 20 20 55 49 4e 54 20   fType;..  UINT 
0cf0: 66 53 74 61 74 65 3b 0d 0a 20 20 55 49 4e 54 20  fState;..  UINT 
0d00: 77 49 44 3b 0d 0a 20 20 48 42 49 54 4d 41 50 20  wID;..  HBITMAP 
0d10: 68 62 6d 70 43 68 65 63 6b 65 64 3b 0d 0a 20 20  hbmpChecked;..  
0d20: 48 42 49 54 4d 41 50 20 68 62 6d 70 55 6e 63 68  HBITMAP hbmpUnch
0d30: 65 63 6b 65 64 3b 0d 0a 20 20 44 57 4f 52 44 20  ecked;..  DWORD 
0d40: 64 77 49 74 65 6d 44 61 74 61 3b 0d 0a 20 20 43  dwItemData;..  C
0d50: 48 41 52 20 73 7a 53 74 72 69 6e 67 5b 49 4d 45  HAR szString[IME
0d60: 4d 45 4e 55 49 54 45 4d 5f 53 54 52 49 4e 47 5f  MENUITEM_STRING_
0d70: 53 49 5a 45 5d 3b 0d 0a 20 20 48 42 49 54 4d 41  SIZE];..  HBITMA
0d80: 50 20 68 62 6d 70 49 74 65 6d 3b 0d 0a 7d 0d 0a  P hbmpItem;..}..
0d90: 61 6c 69 61 73 20 74 61 67 49 4d 45 4d 45 4e 55  alias tagIMEMENU
0da0: 49 54 45 4d 49 4e 46 4f 41 20 49 4d 45 4d 45 4e  ITEMINFOA IMEMEN
0db0: 55 49 54 45 4d 49 4e 46 4f 41 3b 0d 0a 61 6c 69  UITEMINFOA;..ali
0dc0: 61 73 20 74 61 67 49 4d 45 4d 45 4e 55 49 54 45  as tagIMEMENUITE
0dd0: 4d 49 4e 46 4f 41 2a 20 50 49 4d 45 4d 45 4e 55  MINFOA* PIMEMENU
0de0: 49 54 45 4d 49 4e 46 4f 41 3b 0d 0a 61 6c 69 61  ITEMINFOA;..alia
0df0: 73 20 74 61 67 49 4d 45 4d 45 4e 55 49 54 45 4d  s tagIMEMENUITEM
0e00: 49 4e 46 4f 41 2a 20 4e 50 49 4d 45 4d 45 4e 55  INFOA* NPIMEMENU
0e10: 49 54 45 4d 49 4e 46 4f 41 3b 0d 0a 61 6c 69 61  ITEMINFOA;..alia
0e20: 73 20 74 61 67 49 4d 45 4d 45 4e 55 49 54 45 4d  s tagIMEMENUITEM
0e30: 49 4e 46 4f 41 2a 20 4c 50 49 4d 45 4d 45 4e 55  INFOA* LPIMEMENU
0e40: 49 54 45 4d 49 4e 46 4f 41 3b 0d 0a 0d 0a 73 74  ITEMINFOA;....st
0e50: 72 75 63 74 20 74 61 67 49 4d 45 4d 45 4e 55 49  ruct tagIMEMENUI
0e60: 54 45 4d 49 4e 46 4f 57 20 7b 0d 0a 20 20 55 49  TEMINFOW {..  UI
0e70: 4e 54 20 63 62 53 69 7a 65 3b 0d 0a 20 20 55 49  NT cbSize;..  UI
0e80: 4e 54 20 66 54 79 70 65 3b 0d 0a 20 20 55 49 4e  NT fType;..  UIN
0e90: 54 20 66 53 74 61 74 65 3b 0d 0a 20 20 55 49 4e  T fState;..  UIN
0ea0: 54 20 77 49 44 3b 0d 0a 20 20 48 42 49 54 4d 41  T wID;..  HBITMA
0eb0: 50 20 68 62 6d 70 43 68 65 63 6b 65 64 3b 0d 0a  P hbmpChecked;..
0ec0: 20 20 48 42 49 54 4d 41 50 20 68 62 6d 70 55 6e    HBITMAP hbmpUn
0ed0: 63 68 65 63 6b 65 64 3b 0d 0a 20 20 44 57 4f 52  checked;..  DWOR
0ee0: 44 20 64 77 49 74 65 6d 44 61 74 61 3b 0d 0a 20  D dwItemData;.. 
0ef0: 20 57 43 48 41 52 20 73 7a 53 74 72 69 6e 67 5b   WCHAR szString[
0f00: 49 4d 45 4d 45 4e 55 49 54 45 4d 5f 53 54 52 49  IMEMENUITEM_STRI
0f10: 4e 47 5f 53 49 5a 45 5d 3b 0d 0a 20 20 48 42 49  NG_SIZE];..  HBI
0f20: 54 4d 41 50 20 68 62 6d 70 49 74 65 6d 3b 0d 0a  TMAP hbmpItem;..
0f30: 7d 0d 0a 61 6c 69 61 73 20 74 61 67 49 4d 45 4d  }..alias tagIMEM
0f40: 45 4e 55 49 54 45 4d 49 4e 46 4f 57 20 49 4d 45  ENUITEMINFOW IME
0f50: 4d 45 4e 55 49 54 45 4d 49 4e 46 4f 57 3b 0d 0a  MENUITEMINFOW;..
0f60: 61 6c 69 61 73 20 74 61 67 49 4d 45 4d 45 4e 55  alias tagIMEMENU
0f70: 49 54 45 4d 49 4e 46 4f 57 2a 20 50 49 4d 45 4d  ITEMINFOW* PIMEM
0f80: 45 4e 55 49 54 45 4d 49 4e 46 4f 57 3b 0d 0a 61  ENUITEMINFOW;..a
0f90: 6c 69 61 73 20 74 61 67 49 4d 45 4d 45 4e 55 49  lias tagIMEMENUI
0fa0: 54 45 4d 49 4e 46 4f 57 2a 20 4e 50 49 4d 45 4d  TEMINFOW* NPIMEM
0fb0: 45 4e 55 49 54 45 4d 49 4e 46 4f 57 3b 0d 0a 61  ENUITEMINFOW;..a
0fc0: 6c 69 61 73 20 74 61 67 49 4d 45 4d 45 4e 55 49  lias tagIMEMENUI
0fd0: 54 45 4d 49 4e 46 4f 57 2a 20 4c 50 49 4d 45 4d  TEMINFOW* LPIMEM
0fe0: 45 4e 55 49 54 45 4d 49 4e 46 4f 57 3b 0d 0a 0d  ENUITEMINFOW;...
0ff0: 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
1000: 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  DE..// .....// #
1010: 65 6c 73 65 0d 0a 61 6c 69 61 73 20 49 4d 45 4d  else..alias IMEM
1020: 45 4e 55 49 54 45 4d 49 4e 46 4f 41 20 49 4d 45  ENUITEMINFOA IME
1030: 4d 45 4e 55 49 54 45 4d 49 4e 46 4f 3b 0d 0a 61  MENUITEMINFO;..a
1040: 6c 69 61 73 20 50 49 4d 45 4d 45 4e 55 49 54 45  lias PIMEMENUITE
1050: 4d 49 4e 46 4f 41 20 50 49 4d 45 4d 45 4e 55 49  MINFOA PIMEMENUI
1060: 54 45 4d 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20  TEMINFO;..alias 
1070: 4e 50 49 4d 45 4d 45 4e 55 49 54 45 4d 49 4e 46  NPIMEMENUITEMINF
1080: 4f 41 20 4e 50 49 4d 45 4d 45 4e 55 49 54 45 4d  OA NPIMEMENUITEM
1090: 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 4c 50 49  INFO;..alias LPI
10a0: 4d 45 4d 45 4e 55 49 54 45 4d 49 4e 46 4f 41 20  MEMENUITEMINFOA 
10b0: 4c 50 49 4d 45 4d 45 4e 55 49 54 45 4d 49 4e 46  LPIMEMENUITEMINF
10c0: 4f 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  O;..// #endif //
10d0: 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 73 74 72 75   UNICODE....stru
10e0: 63 74 20 74 61 67 49 4d 45 43 48 41 52 50 4f 53  ct tagIMECHARPOS
10f0: 49 54 49 4f 4e 20 7b 0d 0a 20 20 44 57 4f 52 44  ITION {..  DWORD
1100: 20 64 77 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52   dwSize;..  DWOR
1110: 44 20 64 77 43 68 61 72 50 6f 73 3b 0d 0a 20 20  D dwCharPos;..  
1120: 50 4f 49 4e 54 20 70 74 3b 0d 0a 20 20 55 49 4e  POINT pt;..  UIN
1130: 54 20 63 4c 69 6e 65 48 65 69 67 68 74 3b 0d 0a  T cLineHeight;..
1140: 20 20 52 45 43 54 20 72 63 44 6f 63 75 6d 65 6e    RECT rcDocumen
1150: 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  t;..}..alias tag
1160: 49 4d 45 43 48 41 52 50 4f 53 49 54 49 4f 4e 20  IMECHARPOSITION 
1170: 49 4d 45 43 48 41 52 50 4f 53 49 54 49 4f 4e 3b  IMECHARPOSITION;
1180: 0d 0a 61 6c 69 61 73 20 74 61 67 49 4d 45 43 48  ..alias tagIMECH
1190: 41 52 50 4f 53 49 54 49 4f 4e 2a 20 50 49 4d 45  ARPOSITION* PIME
11a0: 43 48 41 52 50 4f 53 49 54 49 4f 4e 3b 0d 0a 61  CHARPOSITION;..a
11b0: 6c 69 61 73 20 74 61 67 49 4d 45 43 48 41 52 50  lias tagIMECHARP
11c0: 4f 53 49 54 49 4f 4e 2a 20 4e 50 49 4d 45 43 48  OSITION* NPIMECH
11d0: 41 52 50 4f 53 49 54 49 4f 4e 3b 0d 0a 61 6c 69  ARPOSITION;..ali
11e0: 61 73 20 74 61 67 49 4d 45 43 48 41 52 50 4f 53  as tagIMECHARPOS
11f0: 49 54 49 4f 4e 2a 20 4c 50 49 4d 45 43 48 41 52  ITION* LPIMECHAR
1200: 50 4f 53 49 54 49 4f 4e 3b 0d 0a 0d 0a 65 78 74  POSITION;....ext
1210: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 61 6c 69  ern(Windows) ali
1220: 61 73 20 42 4f 4f 4c 20 66 75 6e 63 74 69 6f 6e  as BOOL function
1230: 28 48 49 4d 43 2c 20 4c 50 41 52 41 4d 29 20 49  (HIMC, LPARAM) I
1240: 4d 43 45 4e 55 4d 50 52 4f 43 3b 0d 0a 0d 0a 2f  MCENUMPROC;..../
1250: 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56  / #endif /* WINV
1260: 45 52 20 3e 3d 20 30 78 30 34 30 41 20 2a 2f 0d  ER >= 0x040A */.
1270: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
1280: 73 29 20 65 78 70 6f 72 74 20 48 4b 4c 20 49 6d  s) export HKL Im
1290: 6d 49 6e 73 74 61 6c 6c 49 4d 45 41 28 20 4c 50  mInstallIMEA( LP
12a0: 43 53 54 52 20 6c 70 73 7a 49 4d 45 46 69 6c 65  CSTR lpszIMEFile
12b0: 4e 61 6d 65 2c 20 4c 50 43 53 54 52 20 6c 70 73  Name, LPCSTR lps
12c0: 7a 4c 61 79 6f 75 74 54 65 78 74 29 3b 0d 0a 65  zLayoutText);..e
12d0: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
12e0: 78 70 6f 72 74 20 48 4b 4c 20 49 6d 6d 49 6e 73  xport HKL ImmIns
12f0: 74 61 6c 6c 49 4d 45 57 28 20 4c 50 43 57 53 54  tallIMEW( LPCWST
1300: 52 20 6c 70 73 7a 49 4d 45 46 69 6c 65 4e 61 6d  R lpszIMEFileNam
1310: 65 2c 20 4c 50 43 57 53 54 52 20 6c 70 73 7a 4c  e, LPCWSTR lpszL
1320: 61 79 6f 75 74 54 65 78 74 29 3b 0d 0a 2f 2f 20  ayoutText);..// 
1330: 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
1340: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  // #.....// #els
1350: 65 0d 0a 61 6c 69 61 73 20 49 6d 6d 49 6e 73 74  e..alias ImmInst
1360: 61 6c 6c 49 4d 45 41 20 49 6d 6d 49 6e 73 74 61  allIMEA ImmInsta
1370: 6c 6c 49 4d 45 3b 0d 0a 2f 2f 20 23 65 6e 64 69  llIME;..// #endi
1380: 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d  f // !UNICODE...
1390: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
13a0: 20 65 78 70 6f 72 74 20 48 57 4e 44 20 49 6d 6d   export HWND Imm
13b0: 47 65 74 44 65 66 61 75 6c 74 49 4d 45 57 6e 64  GetDefaultIMEWnd
13c0: 28 20 48 57 4e 44 29 3b 0d 0a 0d 0a 65 78 74 65  ( HWND);....exte
13d0: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
13e0: 72 74 20 55 49 4e 54 20 49 6d 6d 47 65 74 44 65  rt UINT ImmGetDe
13f0: 73 63 72 69 70 74 69 6f 6e 41 28 20 48 4b 4c 2c  scriptionA( HKL,
1400: 20 4c 50 53 54 52 2c 20 55 49 4e 54 20 75 42 75   LPSTR, UINT uBu
1410: 66 4c 65 6e 29 3b 0d 0a 65 78 74 65 72 6e 28 57  fLen);..extern(W
1420: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 55  indows) export U
1430: 49 4e 54 20 49 6d 6d 47 65 74 44 65 73 63 72 69  INT ImmGetDescri
1440: 70 74 69 6f 6e 57 28 20 48 4b 4c 2c 20 4c 50 57  ptionW( HKL, LPW
1450: 53 54 52 2c 20 55 49 4e 54 20 75 42 75 66 4c 65  STR, UINT uBufLe
1460: 6e 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  n);..// #ifdef U
1470: 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d  NICODE..// #....
1480: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73  .// #else..alias
1490: 20 49 6d 6d 47 65 74 44 65 73 63 72 69 70 74 69   ImmGetDescripti
14a0: 6f 6e 41 20 49 6d 6d 47 65 74 44 65 73 63 72 69  onA ImmGetDescri
14b0: 70 74 69 6f 6e 3b 0d 0a 2f 2f 20 23 65 6e 64 69  ption;..// #endi
14c0: 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d  f // !UNICODE...
14d0: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
14e0: 20 65 78 70 6f 72 74 20 55 49 4e 54 20 49 6d 6d   export UINT Imm
14f0: 47 65 74 49 4d 45 46 69 6c 65 4e 61 6d 65 41 28  GetIMEFileNameA(
1500: 20 48 4b 4c 2c 20 4c 50 53 54 52 2c 20 55 49 4e   HKL, LPSTR, UIN
1510: 54 20 75 42 75 66 4c 65 6e 29 3b 0d 0a 65 78 74  T uBufLen);..ext
1520: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
1530: 6f 72 74 20 55 49 4e 54 20 49 6d 6d 47 65 74 49  ort UINT ImmGetI
1540: 4d 45 46 69 6c 65 4e 61 6d 65 57 28 20 48 4b 4c  MEFileNameW( HKL
1550: 2c 20 4c 50 57 53 54 52 2c 20 55 49 4e 54 20 75  , LPWSTR, UINT u
1560: 42 75 66 4c 65 6e 29 3b 0d 0a 2f 2f 20 23 69 66  BufLen);..// #if
1570: 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
1580: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  #.....// #else..
1590: 61 6c 69 61 73 20 49 6d 6d 47 65 74 49 4d 45 46  alias ImmGetIMEF
15a0: 69 6c 65 4e 61 6d 65 41 20 49 6d 6d 47 65 74 49  ileNameA ImmGetI
15b0: 4d 45 46 69 6c 65 4e 61 6d 65 3b 0d 0a 2f 2f 20  MEFileName;..// 
15c0: 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
15d0: 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  DE....extern(Win
15e0: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 44 57 4f  dows) export DWO
15f0: 52 44 20 49 6d 6d 47 65 74 50 72 6f 70 65 72 74  RD ImmGetPropert
1600: 79 28 20 48 4b 4c 2c 20 44 57 4f 52 44 29 3b 0d  y( HKL, DWORD);.
1610: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
1620: 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49  s) export BOOL I
1630: 6d 6d 49 73 49 4d 45 28 20 48 4b 4c 29 3b 0d 0a  mmIsIME( HKL);..
1640: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
1650: 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6d  ) export BOOL Im
1660: 6d 53 69 6d 75 6c 61 74 65 48 6f 74 4b 65 79 28  mSimulateHotKey(
1670: 20 48 57 4e 44 2c 20 44 57 4f 52 44 29 3b 0d 0a   HWND, DWORD);..
1680: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
1690: 29 20 65 78 70 6f 72 74 20 48 49 4d 43 20 49 6d  ) export HIMC Im
16a0: 6d 43 72 65 61 74 65 43 6f 6e 74 65 78 74 28 29  mCreateContext()
16b0: 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
16c0: 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49  s) export BOOL I
16d0: 6d 6d 44 65 73 74 72 6f 79 43 6f 6e 74 65 78 74  mmDestroyContext
16e0: 28 20 48 49 4d 43 29 3b 0d 0a 65 78 74 65 72 6e  ( HIMC);..extern
16f0: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
1700: 20 48 49 4d 43 20 49 6d 6d 47 65 74 43 6f 6e 74   HIMC ImmGetCont
1710: 65 78 74 28 20 48 57 4e 44 29 3b 0d 0a 65 78 74  ext( HWND);..ext
1720: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
1730: 6f 72 74 20 42 4f 4f 4c 20 49 6d 6d 52 65 6c 65  ort BOOL ImmRele
1740: 61 73 65 43 6f 6e 74 65 78 74 28 20 48 57 4e 44  aseContext( HWND
1750: 2c 20 48 49 4d 43 29 3b 0d 0a 65 78 74 65 72 6e  , HIMC);..extern
1760: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
1770: 20 48 49 4d 43 20 49 6d 6d 41 73 73 6f 63 69 61   HIMC ImmAssocia
1780: 74 65 43 6f 6e 74 65 78 74 28 20 48 57 4e 44 2c  teContext( HWND,
1790: 20 48 49 4d 43 29 3b 0d 0a 2f 2f 20 23 69 66 20   HIMC);..// #if 
17a0: 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30  (WINVER >= 0x040
17b0: 41 29 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  A)..extern(Windo
17c0: 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
17d0: 49 6d 6d 41 73 73 6f 63 69 61 74 65 43 6f 6e 74  ImmAssociateCont
17e0: 65 78 74 45 78 28 20 48 57 4e 44 2c 20 48 49 4d  extEx( HWND, HIM
17f0: 43 2c 20 44 57 4f 52 44 29 3b 0d 0a 2f 2f 20 23  C, DWORD);..// #
1800: 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20  endif /* WINVER 
1810: 3e 3d 20 30 78 30 34 30 41 20 2a 2f 0d 0a 0d 0a  >= 0x040A */....
1820: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
1830: 65 78 70 6f 72 74 20 4c 4f 4e 47 20 49 6d 6d 47  export LONG ImmG
1840: 65 74 43 6f 6d 70 6f 73 69 74 69 6f 6e 53 74 72  etCompositionStr
1850: 69 6e 67 41 28 20 48 49 4d 43 2c 20 44 57 4f 52  ingA( HIMC, DWOR
1860: 44 2c 20 4c 50 56 4f 49 44 2c 20 44 57 4f 52 44  D, LPVOID, DWORD
1870: 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
1880: 77 73 29 20 65 78 70 6f 72 74 20 4c 4f 4e 47 20  ws) export LONG 
1890: 49 6d 6d 47 65 74 43 6f 6d 70 6f 73 69 74 69 6f  ImmGetCompositio
18a0: 6e 53 74 72 69 6e 67 57 28 20 48 49 4d 43 2c 20  nStringW( HIMC, 
18b0: 44 57 4f 52 44 2c 20 4c 50 56 4f 49 44 2c 20 44  DWORD, LPVOID, D
18c0: 57 4f 52 44 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  WORD);..// #ifde
18d0: 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e  f UNICODE..// #.
18e0: 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c  ....// #else..al
18f0: 69 61 73 20 49 6d 6d 47 65 74 43 6f 6d 70 6f 73  ias ImmGetCompos
1900: 69 74 69 6f 6e 53 74 72 69 6e 67 41 20 49 6d 6d  itionStringA Imm
1910: 47 65 74 43 6f 6d 70 6f 73 69 74 69 6f 6e 53 74  GetCompositionSt
1920: 72 69 6e 67 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  ring;..// #endif
1930: 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a   // !UNICODE....
1940: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
1950: 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6d 6d 53  export BOOL ImmS
1960: 65 74 43 6f 6d 70 6f 73 69 74 69 6f 6e 53 74 72  etCompositionStr
1970: 69 6e 67 41 28 20 48 49 4d 43 2c 20 44 57 4f 52  ingA( HIMC, DWOR
1980: 44 20 64 77 49 6e 64 65 78 2c 20 4c 50 56 4f 49  D dwIndex, LPVOI
1990: 44 20 6c 70 43 6f 6d 70 2c 20 44 57 4f 52 44 2c  D lpComp, DWORD,
19a0: 20 4c 50 56 4f 49 44 20 6c 70 52 65 61 64 2c 20   LPVOID lpRead, 
19b0: 44 57 4f 52 44 29 3b 0d 0a 65 78 74 65 72 6e 28  DWORD);..extern(
19c0: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
19d0: 42 4f 4f 4c 20 49 6d 6d 53 65 74 43 6f 6d 70 6f  BOOL ImmSetCompo
19e0: 73 69 74 69 6f 6e 53 74 72 69 6e 67 57 28 20 48  sitionStringW( H
19f0: 49 4d 43 2c 20 44 57 4f 52 44 20 64 77 49 6e 64  IMC, DWORD dwInd
1a00: 65 78 2c 20 4c 50 56 4f 49 44 20 6c 70 43 6f 6d  ex, LPVOID lpCom
1a10: 70 2c 20 44 57 4f 52 44 2c 20 4c 50 56 4f 49 44  p, DWORD, LPVOID
1a20: 20 6c 70 52 65 61 64 2c 20 44 57 4f 52 44 29 3b   lpRead, DWORD);
1a30: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
1a40: 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  ODE..// #.....//
1a50: 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 49 6d   #else..alias Im
1a60: 6d 53 65 74 43 6f 6d 70 6f 73 69 74 69 6f 6e 53  mSetCompositionS
1a70: 74 72 69 6e 67 41 20 49 6d 6d 53 65 74 43 6f 6d  tringA ImmSetCom
1a80: 70 6f 73 69 74 69 6f 6e 53 74 72 69 6e 67 3b 0d  positionString;.
1a90: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
1aa0: 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e  NICODE....extern
1ab0: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
1ac0: 20 44 57 4f 52 44 20 49 6d 6d 47 65 74 43 61 6e   DWORD ImmGetCan
1ad0: 64 69 64 61 74 65 4c 69 73 74 43 6f 75 6e 74 41  didateListCountA
1ae0: 28 20 48 49 4d 43 2c 20 4c 50 44 57 4f 52 44 20  ( HIMC, LPDWORD 
1af0: 6c 70 64 77 4c 69 73 74 43 6f 75 6e 74 29 3b 0d  lpdwListCount);.
1b00: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
1b10: 20 65 78 70 6f 72 74 20 44 57 4f 52 44 20 49 6d   export DWORD Im
1b20: 6d 47 65 74 43 61 6e 64 69 64 61 74 65 4c 69 73  mGetCandidateLis
1b30: 74 43 6f 75 6e 74 57 28 20 48 49 4d 43 2c 20 4c  tCountW( HIMC, L
1b40: 50 44 57 4f 52 44 20 6c 70 64 77 4c 69 73 74 43  PDWORD lpdwListC
1b50: 6f 75 6e 74 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  ount);..// #ifde
1b60: 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e  f UNICODE..// #.
1b70: 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c  ....// #else..al
1b80: 69 61 73 20 49 6d 6d 47 65 74 43 61 6e 64 69 64  ias ImmGetCandid
1b90: 61 74 65 4c 69 73 74 43 6f 75 6e 74 41 20 49 6d  ateListCountA Im
1ba0: 6d 47 65 74 43 61 6e 64 69 64 61 74 65 4c 69 73  mGetCandidateLis
1bb0: 74 43 6f 75 6e 74 3b 0d 0a 2f 2f 20 23 65 6e 64  tCount;..// #end
1bc0: 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
1bd0: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
1be0: 29 20 65 78 70 6f 72 74 20 44 57 4f 52 44 20 49  ) export DWORD I
1bf0: 6d 6d 47 65 74 43 61 6e 64 69 64 61 74 65 4c 69  mmGetCandidateLi
1c00: 73 74 41 28 20 48 49 4d 43 2c 20 44 57 4f 52 44  stA( HIMC, DWORD
1c10: 20 64 65 49 6e 64 65 78 2c 20 4c 50 43 41 4e 44   deIndex, LPCAND
1c20: 49 44 41 54 45 4c 49 53 54 2c 20 44 57 4f 52 44  IDATELIST, DWORD
1c30: 20 64 77 42 75 66 4c 65 6e 29 3b 0d 0a 65 78 74   dwBufLen);..ext
1c40: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
1c50: 6f 72 74 20 44 57 4f 52 44 20 49 6d 6d 47 65 74  ort DWORD ImmGet
1c60: 43 61 6e 64 69 64 61 74 65 4c 69 73 74 57 28 20  CandidateListW( 
1c70: 48 49 4d 43 2c 20 44 57 4f 52 44 20 64 65 49 6e  HIMC, DWORD deIn
1c80: 64 65 78 2c 20 4c 50 43 41 4e 44 49 44 41 54 45  dex, LPCANDIDATE
1c90: 4c 49 53 54 2c 20 44 57 4f 52 44 20 64 77 42 75  LIST, DWORD dwBu
1ca0: 66 4c 65 6e 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  fLen);..// #ifde
1cb0: 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e  f UNICODE..// #.
1cc0: 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c  ....// #else..al
1cd0: 69 61 73 20 49 6d 6d 47 65 74 43 61 6e 64 69 64  ias ImmGetCandid
1ce0: 61 74 65 4c 69 73 74 41 20 49 6d 6d 47 65 74 43  ateListA ImmGetC
1cf0: 61 6e 64 69 64 61 74 65 4c 69 73 74 3b 0d 0a 2f  andidateList;../
1d00: 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49  / #endif // !UNI
1d10: 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  CODE....extern(W
1d20: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 44  indows) export D
1d30: 57 4f 52 44 20 49 6d 6d 47 65 74 47 75 69 64 65  WORD ImmGetGuide
1d40: 4c 69 6e 65 41 28 20 48 49 4d 43 2c 20 44 57 4f  LineA( HIMC, DWO
1d50: 52 44 20 64 77 49 6e 64 65 78 2c 20 4c 50 53 54  RD dwIndex, LPST
1d60: 52 2c 20 44 57 4f 52 44 20 64 77 42 75 66 4c 65  R, DWORD dwBufLe
1d70: 6e 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  n);..extern(Wind
1d80: 6f 77 73 29 20 65 78 70 6f 72 74 20 44 57 4f 52  ows) export DWOR
1d90: 44 20 49 6d 6d 47 65 74 47 75 69 64 65 4c 69 6e  D ImmGetGuideLin
1da0: 65 57 28 20 48 49 4d 43 2c 20 44 57 4f 52 44 20  eW( HIMC, DWORD 
1db0: 64 77 49 6e 64 65 78 2c 20 4c 50 57 53 54 52 2c  dwIndex, LPWSTR,
1dc0: 20 44 57 4f 52 44 20 64 77 42 75 66 4c 65 6e 29   DWORD dwBufLen)
1dd0: 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ;..// #ifdef UNI
1de0: 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  CODE..// #...../
1df0: 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 49  / #else..alias I
1e00: 6d 6d 47 65 74 47 75 69 64 65 4c 69 6e 65 41 20  mmGetGuideLineA 
1e10: 49 6d 6d 47 65 74 47 75 69 64 65 4c 69 6e 65 3b  ImmGetGuideLine;
1e20: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
1e30: 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72  UNICODE....exter
1e40: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
1e50: 74 20 42 4f 4f 4c 20 49 6d 6d 47 65 74 43 6f 6e  t BOOL ImmGetCon
1e60: 76 65 72 73 69 6f 6e 53 74 61 74 75 73 28 20 48  versionStatus( H
1e70: 49 4d 43 2c 20 4c 50 44 57 4f 52 44 2c 20 4c 50  IMC, LPDWORD, LP
1e80: 44 57 4f 52 44 29 3b 0d 0a 65 78 74 65 72 6e 28  DWORD);..extern(
1e90: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
1ea0: 42 4f 4f 4c 20 49 6d 6d 53 65 74 43 6f 6e 76 65  BOOL ImmSetConve
1eb0: 72 73 69 6f 6e 53 74 61 74 75 73 28 20 48 49 4d  rsionStatus( HIM
1ec0: 43 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44 29  C, DWORD, DWORD)
1ed0: 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
1ee0: 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49  s) export BOOL I
1ef0: 6d 6d 47 65 74 4f 70 65 6e 53 74 61 74 75 73 28  mmGetOpenStatus(
1f00: 20 48 49 4d 43 29 3b 0d 0a 65 78 74 65 72 6e 28   HIMC);..extern(
1f10: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
1f20: 42 4f 4f 4c 20 49 6d 6d 53 65 74 4f 70 65 6e 53  BOOL ImmSetOpenS
1f30: 74 61 74 75 73 28 20 48 49 4d 43 2c 20 42 4f 4f  tatus( HIMC, BOO
1f40: 4c 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 20 64 65  L);....// #if de
1f50: 66 69 6e 65 64 28 5f 57 49 4e 47 44 49 5f 29 20  fined(_WINGDI_) 
1f60: 26 26 20 21 64 65 66 69 6e 65 64 28 4e 4f 47 44  && !defined(NOGD
1f70: 49 29 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  I)..// .....// #
1f80: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
1f90: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
1fa0: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
1fb0: 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45  ndif // !UNICODE
1fc0: 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  ....// .....// #
1fd0: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
1fe0: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
1ff0: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
2000: 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45  ndif // !UNICODE
2010: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2f 20  ..// #endif  // 
2020: 64 65 66 69 6e 65 64 28 5f 57 49 4e 47 44 49 5f  defined(_WINGDI_
2030: 29 20 26 26 20 21 64 65 66 69 6e 65 64 28 4e 4f  ) && !defined(NO
2040: 47 44 49 29 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  GDI)....extern(W
2050: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
2060: 4f 4f 4c 20 49 6d 6d 43 6f 6e 66 69 67 75 72 65  OOL ImmConfigure
2070: 49 4d 45 41 28 20 48 4b 4c 2c 20 48 57 4e 44 2c  IMEA( HKL, HWND,
2080: 20 44 57 4f 52 44 2c 20 4c 50 56 4f 49 44 29 3b   DWORD, LPVOID);
2090: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
20a0: 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6d  ) export BOOL Im
20b0: 6d 43 6f 6e 66 69 67 75 72 65 49 4d 45 57 28 20  mConfigureIMEW( 
20c0: 48 4b 4c 2c 20 48 57 4e 44 2c 20 44 57 4f 52 44  HKL, HWND, DWORD
20d0: 2c 20 4c 50 56 4f 49 44 29 3b 0d 0a 2f 2f 20 23  , LPVOID);..// #
20e0: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
20f0: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
2100: 0d 0a 61 6c 69 61 73 20 49 6d 6d 43 6f 6e 66 69  ..alias ImmConfi
2110: 67 75 72 65 49 4d 45 41 20 49 6d 6d 43 6f 6e 66  gureIMEA ImmConf
2120: 69 67 75 72 65 49 4d 45 3b 0d 0a 2f 2f 20 23 65  igureIME;..// #e
2130: 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45  ndif // !UNICODE
2140: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
2150: 77 73 29 20 65 78 70 6f 72 74 20 4c 52 45 53 55  ws) export LRESU
2160: 4c 54 20 49 6d 6d 45 73 63 61 70 65 41 28 20 48  LT ImmEscapeA( H
2170: 4b 4c 2c 20 48 49 4d 43 2c 20 55 49 4e 54 2c 20  KL, HIMC, UINT, 
2180: 4c 50 56 4f 49 44 29 3b 0d 0a 65 78 74 65 72 6e  LPVOID);..extern
2190: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
21a0: 20 4c 52 45 53 55 4c 54 20 49 6d 6d 45 73 63 61   LRESULT ImmEsca
21b0: 70 65 57 28 20 48 4b 4c 2c 20 48 49 4d 43 2c 20  peW( HKL, HIMC, 
21c0: 55 49 4e 54 2c 20 4c 50 56 4f 49 44 29 3b 0d 0a  UINT, LPVOID);..
21d0: 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
21e0: 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  E..// #.....// #
21f0: 65 6c 73 65 0d 0a 61 6c 69 61 73 20 49 6d 6d 45  else..alias ImmE
2200: 73 63 61 70 65 41 20 49 6d 6d 45 73 63 61 70 65  scapeA ImmEscape
2210: 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ;..// #endif // 
2220: 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65  !UNICODE....exte
2230: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
2240: 72 74 20 44 57 4f 52 44 20 49 6d 6d 47 65 74 43  rt DWORD ImmGetC
2250: 6f 6e 76 65 72 73 69 6f 6e 4c 69 73 74 41 28 20  onversionListA( 
2260: 48 4b 4c 2c 20 48 49 4d 43 2c 20 4c 50 43 53 54  HKL, HIMC, LPCST
2270: 52 2c 20 4c 50 43 41 4e 44 49 44 41 54 45 4c 49  R, LPCANDIDATELI
2280: 53 54 2c 20 44 57 4f 52 44 20 64 77 42 75 66 4c  ST, DWORD dwBufL
2290: 65 6e 2c 20 55 49 4e 54 20 75 46 6c 61 67 29 3b  en, UINT uFlag);
22a0: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
22b0: 29 20 65 78 70 6f 72 74 20 44 57 4f 52 44 20 49  ) export DWORD I
22c0: 6d 6d 47 65 74 43 6f 6e 76 65 72 73 69 6f 6e 4c  mmGetConversionL
22d0: 69 73 74 57 28 20 48 4b 4c 2c 20 48 49 4d 43 2c  istW( HKL, HIMC,
22e0: 20 4c 50 43 57 53 54 52 2c 20 4c 50 43 41 4e 44   LPCWSTR, LPCAND
22f0: 49 44 41 54 45 4c 49 53 54 2c 20 44 57 4f 52 44  IDATELIST, DWORD
2300: 20 64 77 42 75 66 4c 65 6e 2c 20 55 49 4e 54 20   dwBufLen, UINT 
2310: 75 46 6c 61 67 29 3b 0d 0a 2f 2f 20 23 69 66 64  uFlag);..// #ifd
2320: 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23  ef UNICODE..// #
2330: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61  .....// #else..a
2340: 6c 69 61 73 20 49 6d 6d 47 65 74 43 6f 6e 76 65  lias ImmGetConve
2350: 72 73 69 6f 6e 4c 69 73 74 41 20 49 6d 6d 47 65  rsionListA ImmGe
2360: 74 43 6f 6e 76 65 72 73 69 6f 6e 4c 69 73 74 3b  tConversionList;
2370: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
2380: 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72  UNICODE....exter
2390: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
23a0: 74 20 42 4f 4f 4c 20 49 6d 6d 4e 6f 74 69 66 79  t BOOL ImmNotify
23b0: 49 4d 45 28 20 48 49 4d 43 2c 20 44 57 4f 52 44  IME( HIMC, DWORD
23c0: 20 64 77 41 63 74 69 6f 6e 2c 20 44 57 4f 52 44   dwAction, DWORD
23d0: 20 64 77 49 6e 64 65 78 2c 20 44 57 4f 52 44 20   dwIndex, DWORD 
23e0: 64 77 56 61 6c 75 65 29 3b 0d 0a 0d 0a 65 78 74  dwValue);....ext
23f0: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
2400: 6f 72 74 20 42 4f 4f 4c 20 49 6d 6d 47 65 74 53  ort BOOL ImmGetS
2410: 74 61 74 75 73 57 69 6e 64 6f 77 50 6f 73 28 20  tatusWindowPos( 
2420: 48 49 4d 43 2c 20 4c 50 50 4f 49 4e 54 29 3b 0d  HIMC, LPPOINT);.
2430: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
2440: 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6d 6d   export BOOL Imm
2450: 53 65 74 53 74 61 74 75 73 57 69 6e 64 6f 77 50  SetStatusWindowP
2460: 6f 73 28 20 48 49 4d 43 2c 20 4c 50 50 4f 49 4e  os( HIMC, LPPOIN
2470: 54 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  T);..extern(Wind
2480: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
2490: 20 49 6d 6d 47 65 74 43 6f 6d 70 6f 73 69 74 69   ImmGetCompositi
24a0: 6f 6e 57 69 6e 64 6f 77 28 20 48 49 4d 43 2c 20  onWindow( HIMC, 
24b0: 4c 50 43 4f 4d 50 4f 53 49 54 49 4f 4e 46 4f 52  LPCOMPOSITIONFOR
24c0: 4d 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  M);..extern(Wind
24d0: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
24e0: 20 49 6d 6d 53 65 74 43 6f 6d 70 6f 73 69 74 69   ImmSetCompositi
24f0: 6f 6e 57 69 6e 64 6f 77 28 20 48 49 4d 43 2c 20  onWindow( HIMC, 
2500: 4c 50 43 4f 4d 50 4f 53 49 54 49 4f 4e 46 4f 52  LPCOMPOSITIONFOR
2510: 4d 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  M);..extern(Wind
2520: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
2530: 20 49 6d 6d 47 65 74 43 61 6e 64 69 64 61 74 65   ImmGetCandidate
2540: 57 69 6e 64 6f 77 28 20 48 49 4d 43 2c 20 44 57  Window( HIMC, DW
2550: 4f 52 44 2c 20 4c 50 43 41 4e 44 49 44 41 54 45  ORD, LPCANDIDATE
2560: 46 4f 52 4d 29 3b 0d 0a 65 78 74 65 72 6e 28 57  FORM);..extern(W
2570: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
2580: 4f 4f 4c 20 49 6d 6d 53 65 74 43 61 6e 64 69 64  OOL ImmSetCandid
2590: 61 74 65 57 69 6e 64 6f 77 28 20 48 49 4d 43 2c  ateWindow( HIMC,
25a0: 20 4c 50 43 41 4e 44 49 44 41 54 45 46 4f 52 4d   LPCANDIDATEFORM
25b0: 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
25c0: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
25d0: 4c 20 49 6d 6d 49 73 55 49 4d 65 73 73 61 67 65  L ImmIsUIMessage
25e0: 41 28 20 48 57 4e 44 2c 20 55 49 4e 54 2c 20 57  A( HWND, UINT, W
25f0: 50 41 52 41 4d 2c 20 4c 50 41 52 41 4d 29 3b 0d  PARAM, LPARAM);.
2600: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
2610: 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6d 6d   export BOOL Imm
2620: 49 73 55 49 4d 65 73 73 61 67 65 57 28 20 48 57  IsUIMessageW( HW
2630: 4e 44 2c 20 55 49 4e 54 2c 20 57 50 41 52 41 4d  ND, UINT, WPARAM
2640: 2c 20 4c 50 41 52 41 4d 29 3b 0d 0a 2f 2f 20 23  , LPARAM);..// #
2650: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
2660: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
2670: 0d 0a 61 6c 69 61 73 20 49 6d 6d 49 73 55 49 4d  ..alias ImmIsUIM
2680: 65 73 73 61 67 65 41 20 49 6d 6d 49 73 55 49 4d  essageA ImmIsUIM
2690: 65 73 73 61 67 65 3b 0d 0a 2f 2f 20 23 65 6e 64  essage;..// #end
26a0: 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
26b0: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
26c0: 29 20 65 78 70 6f 72 74 20 55 49 4e 54 20 49 6d  ) export UINT Im
26d0: 6d 47 65 74 56 69 72 74 75 61 6c 4b 65 79 28 20  mGetVirtualKey( 
26e0: 48 57 4e 44 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e  HWND);....extern
26f0: 28 57 69 6e 64 6f 77 73 29 20 61 6c 69 61 73 20  (Windows) alias 
2700: 69 6e 74 20 66 75 6e 63 74 69 6f 6e 28 4c 50 43  int function(LPC
2710: 53 54 52 2c 20 44 57 4f 52 44 2c 20 4c 50 43 53  STR, DWORD, LPCS
2720: 54 52 2c 20 4c 50 56 4f 49 44 29 20 52 45 47 49  TR, LPVOID) REGI
2730: 53 54 45 52 57 4f 52 44 45 4e 55 4d 50 52 4f 43  STERWORDENUMPROC
2740: 41 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  A;..extern(Windo
2750: 77 73 29 20 61 6c 69 61 73 20 69 6e 74 20 66 75  ws) alias int fu
2760: 6e 63 74 69 6f 6e 28 4c 50 43 57 53 54 52 2c 20  nction(LPCWSTR, 
2770: 44 57 4f 52 44 2c 20 4c 50 43 57 53 54 52 2c 20  DWORD, LPCWSTR, 
2780: 4c 50 56 4f 49 44 29 20 52 45 47 49 53 54 45 52  LPVOID) REGISTER
2790: 57 4f 52 44 45 4e 55 4d 50 52 4f 43 57 3b 0d 0a  WORDENUMPROCW;..
27a0: 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
27b0: 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  E..// #.....// #
27c0: 65 6c 73 65 0d 0a 61 6c 69 61 73 20 52 45 47 49  else..alias REGI
27d0: 53 54 45 52 57 4f 52 44 45 4e 55 4d 50 52 4f 43  STERWORDENUMPROC
27e0: 41 20 52 45 47 49 53 54 45 52 57 4f 52 44 45 4e  A REGISTERWORDEN
27f0: 55 4d 50 52 4f 43 3b 0d 0a 2f 2f 20 23 65 6e 64  UMPROC;..// #end
2800: 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
2810: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
2820: 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6d  ) export BOOL Im
2830: 6d 52 65 67 69 73 74 65 72 57 6f 72 64 41 28 20  mRegisterWordA( 
2840: 48 4b 4c 2c 20 4c 50 43 53 54 52 20 6c 70 73 7a  HKL, LPCSTR lpsz
2850: 52 65 61 64 69 6e 67 2c 20 44 57 4f 52 44 2c 20  Reading, DWORD, 
2860: 4c 50 43 53 54 52 20 6c 70 73 7a 52 65 67 69 73  LPCSTR lpszRegis
2870: 74 65 72 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  ter);..extern(Wi
2880: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
2890: 4f 4c 20 49 6d 6d 52 65 67 69 73 74 65 72 57 6f  OL ImmRegisterWo
28a0: 72 64 57 28 20 48 4b 4c 2c 20 4c 50 43 57 53 54  rdW( HKL, LPCWST
28b0: 52 20 6c 70 73 7a 52 65 61 64 69 6e 67 2c 20 44  R lpszReading, D
28c0: 57 4f 52 44 2c 20 4c 50 43 57 53 54 52 20 6c 70  WORD, LPCWSTR lp
28d0: 73 7a 52 65 67 69 73 74 65 72 29 3b 0d 0a 2f 2f  szRegister);..//
28e0: 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
28f0: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  .// #.....// #el
2900: 73 65 0d 0a 61 6c 69 61 73 20 49 6d 6d 52 65 67  se..alias ImmReg
2910: 69 73 74 65 72 57 6f 72 64 41 20 49 6d 6d 52 65  isterWordA ImmRe
2920: 67 69 73 74 65 72 57 6f 72 64 3b 0d 0a 2f 2f 20  gisterWord;..// 
2930: 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
2940: 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  DE....extern(Win
2950: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
2960: 4c 20 49 6d 6d 55 6e 72 65 67 69 73 74 65 72 57  L ImmUnregisterW
2970: 6f 72 64 41 28 20 48 4b 4c 2c 20 4c 50 43 53 54  ordA( HKL, LPCST
2980: 52 20 6c 70 73 7a 52 65 61 64 69 6e 67 2c 20 44  R lpszReading, D
2990: 57 4f 52 44 2c 20 4c 50 43 53 54 52 20 6c 70 73  WORD, LPCSTR lps
29a0: 7a 55 6e 72 65 67 69 73 74 65 72 29 3b 0d 0a 65  zUnregister);..e
29b0: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
29c0: 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6d 6d 55 6e  xport BOOL ImmUn
29d0: 72 65 67 69 73 74 65 72 57 6f 72 64 57 28 20 48  registerWordW( H
29e0: 4b 4c 2c 20 4c 50 43 57 53 54 52 20 6c 70 73 7a  KL, LPCWSTR lpsz
29f0: 52 65 61 64 69 6e 67 2c 20 44 57 4f 52 44 2c 20  Reading, DWORD, 
2a00: 4c 50 43 57 53 54 52 20 6c 70 73 7a 55 6e 72 65  LPCWSTR lpszUnre
2a10: 67 69 73 74 65 72 29 3b 0d 0a 2f 2f 20 23 69 66  gister);..// #if
2a20: 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
2a30: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  #.....// #else..
2a40: 61 6c 69 61 73 20 49 6d 6d 55 6e 72 65 67 69 73  alias ImmUnregis
2a50: 74 65 72 57 6f 72 64 41 20 49 6d 6d 55 6e 72 65  terWordA ImmUnre
2a60: 67 69 73 74 65 72 57 6f 72 64 3b 0d 0a 2f 2f 20  gisterWord;..// 
2a70: 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
2a80: 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  DE....extern(Win
2a90: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 55 49 4e  dows) export UIN
2aa0: 54 20 49 6d 6d 47 65 74 52 65 67 69 73 74 65 72  T ImmGetRegister
2ab0: 57 6f 72 64 53 74 79 6c 65 41 28 20 48 4b 4c 2c  WordStyleA( HKL,
2ac0: 20 55 49 4e 54 20 6e 49 74 65 6d 2c 20 4c 50 53   UINT nItem, LPS
2ad0: 54 59 4c 45 42 55 46 41 29 3b 0d 0a 65 78 74 65  TYLEBUFA);..exte
2ae0: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
2af0: 72 74 20 55 49 4e 54 20 49 6d 6d 47 65 74 52 65  rt UINT ImmGetRe
2b00: 67 69 73 74 65 72 57 6f 72 64 53 74 79 6c 65 57  gisterWordStyleW
2b10: 28 20 48 4b 4c 2c 20 55 49 4e 54 20 6e 49 74 65  ( HKL, UINT nIte
2b20: 6d 2c 20 4c 50 53 54 59 4c 45 42 55 46 57 29 3b  m, LPSTYLEBUFW);
2b30: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
2b40: 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  ODE..// #.....//
2b50: 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 49 6d   #else..alias Im
2b60: 6d 47 65 74 52 65 67 69 73 74 65 72 57 6f 72 64  mGetRegisterWord
2b70: 53 74 79 6c 65 41 20 49 6d 6d 47 65 74 52 65 67  StyleA ImmGetReg
2b80: 69 73 74 65 72 57 6f 72 64 53 74 79 6c 65 3b 0d  isterWordStyle;.
2b90: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
2ba0: 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e  NICODE....extern
2bb0: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
2bc0: 20 55 49 4e 54 20 49 6d 6d 45 6e 75 6d 52 65 67   UINT ImmEnumReg
2bd0: 69 73 74 65 72 57 6f 72 64 41 28 20 48 4b 4c 2c  isterWordA( HKL,
2be0: 20 52 45 47 49 53 54 45 52 57 4f 52 44 45 4e 55   REGISTERWORDENU
2bf0: 4d 50 52 4f 43 41 2c 20 4c 50 43 53 54 52 20 6c  MPROCA, LPCSTR l
2c00: 70 73 7a 52 65 61 64 69 6e 67 2c 20 44 57 4f 52  pszReading, DWOR
2c10: 44 2c 20 4c 50 43 53 54 52 20 6c 70 73 7a 52 65  D, LPCSTR lpszRe
2c20: 67 69 73 74 65 72 2c 20 4c 50 56 4f 49 44 29 3b  gister, LPVOID);
2c30: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
2c40: 29 20 65 78 70 6f 72 74 20 55 49 4e 54 20 49 6d  ) export UINT Im
2c50: 6d 45 6e 75 6d 52 65 67 69 73 74 65 72 57 6f 72  mEnumRegisterWor
2c60: 64 57 28 20 48 4b 4c 2c 20 52 45 47 49 53 54 45  dW( HKL, REGISTE
2c70: 52 57 4f 52 44 45 4e 55 4d 50 52 4f 43 57 2c 20  RWORDENUMPROCW, 
2c80: 4c 50 43 57 53 54 52 20 6c 70 73 7a 52 65 61 64  LPCWSTR lpszRead
2c90: 69 6e 67 2c 20 44 57 4f 52 44 2c 20 4c 50 43 57  ing, DWORD, LPCW
2ca0: 53 54 52 20 6c 70 73 7a 52 65 67 69 73 74 65 72  STR lpszRegister
2cb0: 2c 20 4c 50 56 4f 49 44 29 3b 0d 0a 2f 2f 20 23  , LPVOID);..// #
2cc0: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
2cd0: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
2ce0: 0d 0a 61 6c 69 61 73 20 49 6d 6d 45 6e 75 6d 52  ..alias ImmEnumR
2cf0: 65 67 69 73 74 65 72 57 6f 72 64 41 20 49 6d 6d  egisterWordA Imm
2d00: 45 6e 75 6d 52 65 67 69 73 74 65 72 57 6f 72 64  EnumRegisterWord
2d10: 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ;..// #endif // 
2d20: 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23  !UNICODE....// #
2d30: 69 66 20 28 57 49 4e 56 45 52 20 3e 3d 20 30 78  if (WINVER >= 0x
2d40: 30 34 30 41 29 0d 0a 65 78 74 65 72 6e 28 57 69  040A)..extern(Wi
2d50: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
2d60: 4f 4c 20 49 6d 6d 44 69 73 61 62 6c 65 49 4d 45  OL ImmDisableIME
2d70: 28 20 44 57 4f 52 44 29 3b 0d 0a 65 78 74 65 72  ( DWORD);..exter
2d80: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
2d90: 74 20 42 4f 4f 4c 20 49 6d 6d 45 6e 75 6d 49 6e  t BOOL ImmEnumIn
2da0: 70 75 74 43 6f 6e 74 65 78 74 28 44 57 4f 52 44  putContext(DWORD
2db0: 20 69 64 54 68 72 65 61 64 2c 20 49 4d 43 45 4e   idThread, IMCEN
2dc0: 55 4d 50 52 4f 43 20 6c 70 66 6e 2c 20 4c 50 41  UMPROC lpfn, LPA
2dd0: 52 41 4d 20 6c 50 61 72 61 6d 29 3b 0d 0a 65 78  RAM lParam);..ex
2de0: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
2df0: 70 6f 72 74 20 44 57 4f 52 44 20 49 6d 6d 47 65  port DWORD ImmGe
2e00: 74 49 6d 65 4d 65 6e 75 49 74 65 6d 73 41 28 20  tImeMenuItemsA( 
2e10: 48 49 4d 43 2c 20 44 57 4f 52 44 2c 20 44 57 4f  HIMC, DWORD, DWO
2e20: 52 44 2c 20 4c 50 49 4d 45 4d 45 4e 55 49 54 45  RD, LPIMEMENUITE
2e30: 4d 49 4e 46 4f 41 2c 20 4c 50 49 4d 45 4d 45 4e  MINFOA, LPIMEMEN
2e40: 55 49 54 45 4d 49 4e 46 4f 41 2c 20 44 57 4f 52  UITEMINFOA, DWOR
2e50: 44 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  D);..extern(Wind
2e60: 6f 77 73 29 20 65 78 70 6f 72 74 20 44 57 4f 52  ows) export DWOR
2e70: 44 20 49 6d 6d 47 65 74 49 6d 65 4d 65 6e 75 49  D ImmGetImeMenuI
2e80: 74 65 6d 73 57 28 20 48 49 4d 43 2c 20 44 57 4f  temsW( HIMC, DWO
2e90: 52 44 2c 20 44 57 4f 52 44 2c 20 4c 50 49 4d 45  RD, DWORD, LPIME
2ea0: 4d 45 4e 55 49 54 45 4d 49 4e 46 4f 57 2c 20 4c  MENUITEMINFOW, L
2eb0: 50 49 4d 45 4d 45 4e 55 49 54 45 4d 49 4e 46 4f  PIMEMENUITEMINFO
2ec0: 57 2c 20 44 57 4f 52 44 29 3b 0d 0a 2f 2f 20 23  W, DWORD);..// #
2ed0: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
2ee0: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
2ef0: 0d 0a 61 6c 69 61 73 20 49 6d 6d 47 65 74 49 6d  ..alias ImmGetIm
2f00: 65 4d 65 6e 75 49 74 65 6d 73 41 20 49 6d 6d 47  eMenuItemsA ImmG
2f10: 65 74 49 6d 65 4d 65 6e 75 49 74 65 6d 73 3b 0d  etImeMenuItems;.
2f20: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
2f30: 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 65 6e 64 69  NICODE..// #endi
2f40: 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30  f /* WINVER >= 0
2f50: 78 30 34 30 41 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d  x040A */....enum
2f60: 20 3a 20 75 69 6e 74 20 7b 20 49 4d 43 5f 47 45   : uint { IMC_GE
2f70: 54 43 41 4e 44 49 44 41 54 45 50 4f 53 20 3d 20  TCANDIDATEPOS = 
2f80: 30 78 30 30 30 37 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0007 }..enum :
2f90: 20 75 69 6e 74 20 7b 20 49 4d 43 5f 53 45 54 43   uint { IMC_SETC
2fa0: 41 4e 44 49 44 41 54 45 50 4f 53 20 3d 20 30 78  ANDIDATEPOS = 0x
2fb0: 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0008 }..enum : u
2fc0: 69 6e 74 20 7b 20 49 4d 43 5f 47 45 54 43 4f 4d  int { IMC_GETCOM
2fd0: 50 4f 53 49 54 49 4f 4e 46 4f 4e 54 20 3d 20 30  POSITIONFONT = 0
2fe0: 78 30 30 30 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0009 }..enum : 
2ff0: 75 69 6e 74 20 7b 20 49 4d 43 5f 53 45 54 43 4f  uint { IMC_SETCO
3000: 4d 50 4f 53 49 54 49 4f 4e 46 4f 4e 54 20 3d 20  MPOSITIONFONT = 
3010: 30 78 30 30 30 41 20 7d 0d 0a 65 6e 75 6d 20 3a  0x000A }..enum :
3020: 20 75 69 6e 74 20 7b 20 49 4d 43 5f 47 45 54 43   uint { IMC_GETC
3030: 4f 4d 50 4f 53 49 54 49 4f 4e 57 49 4e 44 4f 57  OMPOSITIONWINDOW
3040: 20 3d 20 30 78 30 30 30 42 20 7d 0d 0a 65 6e 75   = 0x000B }..enu
3050: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 43 5f 53  m : uint { IMC_S
3060: 45 54 43 4f 4d 50 4f 53 49 54 49 4f 4e 57 49 4e  ETCOMPOSITIONWIN
3070: 44 4f 57 20 3d 20 30 78 30 30 30 43 20 7d 0d 0a  DOW = 0x000C }..
3080: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
3090: 43 5f 47 45 54 53 54 41 54 55 53 57 49 4e 44 4f  C_GETSTATUSWINDO
30a0: 57 50 4f 53 20 3d 20 30 78 30 30 30 46 20 7d 0d  WPOS = 0x000F }.
30b0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
30c0: 4d 43 5f 53 45 54 53 54 41 54 55 53 57 49 4e 44  MC_SETSTATUSWIND
30d0: 4f 57 50 4f 53 20 3d 20 30 78 30 30 31 30 20 7d  OWPOS = 0x0010 }
30e0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
30f0: 49 4d 43 5f 43 4c 4f 53 45 53 54 41 54 55 53 57  IMC_CLOSESTATUSW
3100: 49 4e 44 4f 57 20 3d 20 30 78 30 30 32 31 20 7d  INDOW = 0x0021 }
3110: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
3120: 49 4d 43 5f 4f 50 45 4e 53 54 41 54 55 53 57 49  IMC_OPENSTATUSWI
3130: 4e 44 4f 57 20 3d 20 30 78 30 30 32 32 20 7d 0d  NDOW = 0x0022 }.
3140: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
3150: 20 4e 49 5f 4f 50 45 4e 43 41 4e 44 49 44 41 54   NI_OPENCANDIDAT
3160: 45 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e  E = 0x0010 }..en
3170: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 49 5f 43  um : uint { NI_C
3180: 4c 4f 53 45 43 41 4e 44 49 44 41 54 45 20 3d 20  LOSECANDIDATE = 
3190: 30 78 30 30 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0011 }..enum :
31a0: 20 75 69 6e 74 20 7b 20 4e 49 5f 53 45 4c 45 43   uint { NI_SELEC
31b0: 54 43 41 4e 44 49 44 41 54 45 53 54 52 20 3d 20  TCANDIDATESTR = 
31c0: 30 78 30 30 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0012 }..enum :
31d0: 20 75 69 6e 74 20 7b 20 4e 49 5f 43 48 41 4e 47   uint { NI_CHANG
31e0: 45 43 41 4e 44 49 44 41 54 45 4c 49 53 54 20 3d  ECANDIDATELIST =
31f0: 20 30 78 30 30 31 33 20 7d 0d 0a 65 6e 75 6d 20   0x0013 }..enum 
3200: 3a 20 75 69 6e 74 20 7b 20 4e 49 5f 46 49 4e 41  : uint { NI_FINA
3210: 4c 49 5a 45 43 4f 4e 56 45 52 53 49 4f 4e 52 45  LIZECONVERSIONRE
3220: 53 55 4c 54 20 3d 20 30 78 30 30 31 34 20 7d 0d  SULT = 0x0014 }.
3230: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4e  .enum : uint { N
3240: 49 5f 43 4f 4d 50 4f 53 49 54 49 4f 4e 53 54 52  I_COMPOSITIONSTR
3250: 20 3d 20 30 78 30 30 31 35 20 7d 0d 0a 65 6e 75   = 0x0015 }..enu
3260: 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 49 5f 53 45  m : uint { NI_SE
3270: 54 43 41 4e 44 49 44 41 54 45 5f 50 41 47 45 53  TCANDIDATE_PAGES
3280: 54 41 52 54 20 3d 20 30 78 30 30 31 36 20 7d 0d  TART = 0x0016 }.
3290: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4e  .enum : uint { N
32a0: 49 5f 53 45 54 43 41 4e 44 49 44 41 54 45 5f 50  I_SETCANDIDATE_P
32b0: 41 47 45 53 49 5a 45 20 3d 20 30 78 30 30 31 37  AGESIZE = 0x0017
32c0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
32d0: 7b 20 4e 49 5f 49 4d 45 4d 45 4e 55 53 45 4c 45  { NI_IMEMENUSELE
32e0: 43 54 45 44 20 3d 20 30 78 30 30 31 38 20 7d 0d  CTED = 0x0018 }.
32f0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
3300: 20 49 53 43 5f 53 48 4f 57 55 49 43 41 4e 44 49   ISC_SHOWUICANDI
3310: 44 41 54 45 57 49 4e 44 4f 57 20 3d 20 30 78 30  DATEWINDOW = 0x0
3320: 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20  0000001 }..enum 
3330: 3a 20 75 69 6e 74 20 7b 20 49 53 43 5f 53 48 4f  : uint { ISC_SHO
3340: 57 55 49 43 4f 4d 50 4f 53 49 54 49 4f 4e 57 49  WUICOMPOSITIONWI
3350: 4e 44 4f 57 20 3d 20 30 78 38 30 30 30 30 30 30  NDOW = 0x8000000
3360: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
3370: 20 7b 20 49 53 43 5f 53 48 4f 57 55 49 47 55 49   { ISC_SHOWUIGUI
3380: 44 45 4c 49 4e 45 20 3d 20 30 78 34 30 30 30 30  DELINE = 0x40000
3390: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
33a0: 6e 74 20 7b 20 49 53 43 5f 53 48 4f 57 55 49 41  nt { ISC_SHOWUIA
33b0: 4c 4c 43 41 4e 44 49 44 41 54 45 57 49 4e 44 4f  LLCANDIDATEWINDO
33c0: 57 20 3d 20 30 78 30 30 30 30 30 30 30 46 20 7d  W = 0x0000000F }
33d0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
33e0: 49 53 43 5f 53 48 4f 57 55 49 41 4c 4c 20 3d 20  ISC_SHOWUIALL = 
33f0: 30 78 43 30 30 30 30 30 30 46 20 7d 0d 0a 0d 0a  0xC000000F }....
3400: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 50  enum : uint { CP
3410: 53 5f 43 4f 4d 50 4c 45 54 45 20 3d 20 30 78 30  S_COMPLETE = 0x0
3420: 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
3430: 6e 74 20 7b 20 43 50 53 5f 43 4f 4e 56 45 52 54  nt { CPS_CONVERT
3440: 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75   = 0x0002 }..enu
3450: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 50 53 5f 52  m : uint { CPS_R
3460: 45 56 45 52 54 20 3d 20 30 78 30 30 30 33 20 7d  EVERT = 0x0003 }
3470: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
3480: 43 50 53 5f 43 41 4e 43 45 4c 20 3d 20 30 78 30  CPS_CANCEL = 0x0
3490: 30 30 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  004 }....enum : 
34a0: 75 69 6e 74 20 7b 20 4d 4f 44 5f 41 4c 54 20 3d  uint { MOD_ALT =
34b0: 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20   0x0001 }..enum 
34c0: 3a 20 75 69 6e 74 20 7b 20 4d 4f 44 5f 43 4f 4e  : uint { MOD_CON
34d0: 54 52 4f 4c 20 3d 20 30 78 30 30 30 32 20 7d 0d  TROL = 0x0002 }.
34e0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
34f0: 4f 44 5f 53 48 49 46 54 20 3d 20 30 78 30 30 30  OD_SHIFT = 0x000
3500: 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  4 }....enum : ui
3510: 6e 74 20 7b 20 4d 4f 44 5f 4c 45 46 54 20 3d 20  nt { MOD_LEFT = 
3520: 30 78 38 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x8000 }..enum :
3530: 20 75 69 6e 74 20 7b 20 4d 4f 44 5f 52 49 47 48   uint { MOD_RIGH
3540: 54 20 3d 20 30 78 34 30 30 30 20 7d 0d 0a 0d 0a  T = 0x4000 }....
3550: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4f  enum : uint { MO
3560: 44 5f 4f 4e 5f 4b 45 59 55 50 20 3d 20 30 78 30  D_ON_KEYUP = 0x0
3570: 38 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  800 }..enum : ui
3580: 6e 74 20 7b 20 4d 4f 44 5f 49 47 4e 4f 52 45 5f  nt { MOD_IGNORE_
3590: 41 4c 4c 5f 4d 4f 44 49 46 49 45 52 20 3d 20 30  ALL_MODIFIER = 0
35a0: 78 30 34 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  x0400 }....enum 
35b0: 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f 43 48 4f  : uint { IME_CHO
35c0: 54 4b 45 59 5f 49 4d 45 5f 4e 4f 4e 49 4d 45 5f  TKEY_IME_NONIME_
35d0: 54 4f 47 47 4c 45 20 3d 20 30 78 31 30 20 7d 0d  TOGGLE = 0x10 }.
35e0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
35f0: 4d 45 5f 43 48 4f 54 4b 45 59 5f 53 48 41 50 45  ME_CHOTKEY_SHAPE
3600: 5f 54 4f 47 47 4c 45 20 3d 20 30 78 31 31 20 7d  _TOGGLE = 0x11 }
3610: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
3620: 49 4d 45 5f 43 48 4f 54 4b 45 59 5f 53 59 4d 42  IME_CHOTKEY_SYMB
3630: 4f 4c 5f 54 4f 47 47 4c 45 20 3d 20 30 78 31 32  OL_TOGGLE = 0x12
3640: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
3650: 74 20 7b 20 49 4d 45 5f 4a 48 4f 54 4b 45 59 5f  t { IME_JHOTKEY_
3660: 43 4c 4f 53 45 5f 4f 50 45 4e 20 3d 20 30 78 33  CLOSE_OPEN = 0x3
3670: 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  0 }....enum : ui
3680: 6e 74 20 7b 20 49 4d 45 5f 4b 48 4f 54 4b 45 59  nt { IME_KHOTKEY
3690: 5f 53 48 41 50 45 5f 54 4f 47 47 4c 45 20 3d 20  _SHAPE_TOGGLE = 
36a0: 30 78 35 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x50 }..enum : u
36b0: 69 6e 74 20 7b 20 49 4d 45 5f 4b 48 4f 54 4b 45  int { IME_KHOTKE
36c0: 59 5f 48 41 4e 4a 41 43 4f 4e 56 45 52 54 20 3d  Y_HANJACONVERT =
36d0: 20 30 78 35 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x51 }..enum : 
36e0: 75 69 6e 74 20 7b 20 49 4d 45 5f 4b 48 4f 54 4b  uint { IME_KHOTK
36f0: 45 59 5f 45 4e 47 4c 49 53 48 20 3d 20 30 78 35  EY_ENGLISH = 0x5
3700: 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  2 }....enum : ui
3710: 6e 74 20 7b 20 49 4d 45 5f 54 48 4f 54 4b 45 59  nt { IME_THOTKEY
3720: 5f 49 4d 45 5f 4e 4f 4e 49 4d 45 5f 54 4f 47 47  _IME_NONIME_TOGG
3730: 4c 45 20 3d 20 30 78 37 30 20 7d 0d 0a 65 6e 75  LE = 0x70 }..enu
3740: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f 54  m : uint { IME_T
3750: 48 4f 54 4b 45 59 5f 53 48 41 50 45 5f 54 4f 47  HOTKEY_SHAPE_TOG
3760: 47 4c 45 20 3d 20 30 78 37 31 20 7d 0d 0a 65 6e  GLE = 0x71 }..en
3770: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f  um : uint { IME_
3780: 54 48 4f 54 4b 45 59 5f 53 59 4d 42 4f 4c 5f 54  THOTKEY_SYMBOL_T
3790: 4f 47 47 4c 45 20 3d 20 30 78 37 32 20 7d 0d 0a  OGGLE = 0x72 }..
37a0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
37b0: 49 4d 45 5f 48 4f 54 4b 45 59 5f 44 53 57 49 54  IME_HOTKEY_DSWIT
37c0: 43 48 5f 46 49 52 53 54 20 3d 20 30 78 31 30 30  CH_FIRST = 0x100
37d0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
37e0: 7b 20 49 4d 45 5f 48 4f 54 4b 45 59 5f 44 53 57  { IME_HOTKEY_DSW
37f0: 49 54 43 48 5f 4c 41 53 54 20 3d 20 30 78 31 31  ITCH_LAST = 0x11
3800: 46 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  F }....enum : ui
3810: 6e 74 20 7b 20 49 4d 45 5f 48 4f 54 4b 45 59 5f  nt { IME_HOTKEY_
3820: 50 52 49 56 41 54 45 5f 46 49 52 53 54 20 3d 20  PRIVATE_FIRST = 
3830: 30 78 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  0x200 }..enum : 
3840: 75 69 6e 74 20 7b 20 49 4d 45 5f 49 54 48 4f 54  uint { IME_ITHOT
3850: 4b 45 59 5f 52 45 53 45 4e 44 5f 52 45 53 55 4c  KEY_RESEND_RESUL
3860: 54 53 54 52 20 3d 20 30 78 32 30 30 20 7d 0d 0a  TSTR = 0x200 }..
3870: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
3880: 45 5f 49 54 48 4f 54 4b 45 59 5f 50 52 45 56 49  E_ITHOTKEY_PREVI
3890: 4f 55 53 5f 43 4f 4d 50 4f 53 49 54 49 4f 4e 20  OUS_COMPOSITION 
38a0: 3d 20 30 78 32 30 31 20 7d 0d 0a 65 6e 75 6d 20  = 0x201 }..enum 
38b0: 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f 49 54 48  : uint { IME_ITH
38c0: 4f 54 4b 45 59 5f 55 49 53 54 59 4c 45 5f 54 4f  OTKEY_UISTYLE_TO
38d0: 47 47 4c 45 20 3d 20 30 78 32 30 32 20 7d 0d 0a  GGLE = 0x202 }..
38e0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
38f0: 45 5f 49 54 48 4f 54 4b 45 59 5f 52 45 43 4f 4e  E_ITHOTKEY_RECON
3900: 56 45 52 54 53 54 52 49 4e 47 20 3d 20 30 78 32  VERTSTRING = 0x2
3910: 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  03 }..enum : uin
3920: 74 20 7b 20 49 4d 45 5f 48 4f 54 4b 45 59 5f 50  t { IME_HOTKEY_P
3930: 52 49 56 41 54 45 5f 4c 41 53 54 20 3d 20 30 78  RIVATE_LAST = 0x
3940: 32 31 46 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  21F }....enum : 
3950: 75 69 6e 74 20 7b 20 47 43 53 5f 43 4f 4d 50 52  uint { GCS_COMPR
3960: 45 41 44 53 54 52 20 3d 20 30 78 30 30 30 31 20  EADSTR = 0x0001 
3970: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
3980: 20 47 43 53 5f 43 4f 4d 50 52 45 41 44 41 54 54   GCS_COMPREADATT
3990: 52 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e  R = 0x0002 }..en
39a0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 43 53 5f  um : uint { GCS_
39b0: 43 4f 4d 50 52 45 41 44 43 4c 41 55 53 45 20 3d  COMPREADCLAUSE =
39c0: 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20   0x0004 }..enum 
39d0: 3a 20 75 69 6e 74 20 7b 20 47 43 53 5f 43 4f 4d  : uint { GCS_COM
39e0: 50 53 54 52 20 3d 20 30 78 30 30 30 38 20 7d 0d  PSTR = 0x0008 }.
39f0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47  .enum : uint { G
3a00: 43 53 5f 43 4f 4d 50 41 54 54 52 20 3d 20 30 78  CS_COMPATTR = 0x
3a10: 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0010 }..enum : u
3a20: 69 6e 74 20 7b 20 47 43 53 5f 43 4f 4d 50 43 4c  int { GCS_COMPCL
3a30: 41 55 53 45 20 3d 20 30 78 30 30 32 30 20 7d 0d  AUSE = 0x0020 }.
3a40: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47  .enum : uint { G
3a50: 43 53 5f 43 55 52 53 4f 52 50 4f 53 20 3d 20 30  CS_CURSORPOS = 0
3a60: 78 30 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0080 }..enum : 
3a70: 75 69 6e 74 20 7b 20 47 43 53 5f 44 45 4c 54 41  uint { GCS_DELTA
3a80: 53 54 41 52 54 20 3d 20 30 78 30 31 30 30 20 7d  START = 0x0100 }
3a90: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
3aa0: 47 43 53 5f 52 45 53 55 4c 54 52 45 41 44 53 54  GCS_RESULTREADST
3ab0: 52 20 3d 20 30 78 30 32 30 30 20 7d 0d 0a 65 6e  R = 0x0200 }..en
3ac0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 43 53 5f  um : uint { GCS_
3ad0: 52 45 53 55 4c 54 52 45 41 44 43 4c 41 55 53 45  RESULTREADCLAUSE
3ae0: 20 3d 20 30 78 30 34 30 30 20 7d 0d 0a 65 6e 75   = 0x0400 }..enu
3af0: 6d 20 3a 20 75 69 6e 74 20 7b 20 47 43 53 5f 52  m : uint { GCS_R
3b00: 45 53 55 4c 54 53 54 52 20 3d 20 30 78 30 38 30  ESULTSTR = 0x080
3b10: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
3b20: 20 7b 20 47 43 53 5f 52 45 53 55 4c 54 43 4c 41   { GCS_RESULTCLA
3b30: 55 53 45 20 3d 20 30 78 31 30 30 30 20 7d 0d 0a  USE = 0x1000 }..
3b40: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
3b50: 43 53 5f 49 4e 53 45 52 54 43 48 41 52 20 3d 20  CS_INSERTCHAR = 
3b60: 30 78 32 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x2000 }..enum :
3b70: 20 75 69 6e 74 20 7b 20 43 53 5f 4e 4f 4d 4f 56   uint { CS_NOMOV
3b80: 45 43 41 52 45 54 20 3d 20 30 78 34 30 30 30 20  ECARET = 0x4000 
3b90: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
3ba0: 20 7b 20 49 4d 45 56 45 52 5f 30 33 31 30 20 3d   { IMEVER_0310 =
3bb0: 20 30 78 30 30 30 33 30 30 30 41 20 7d 0d 0a 65   0x0003000A }..e
3bc0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 45  num : uint { IME
3bd0: 56 45 52 5f 30 34 30 30 20 3d 20 30 78 30 30 30  VER_0400 = 0x000
3be0: 34 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  40000 }....enum 
3bf0: 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f 50 52 4f  : uint { IME_PRO
3c00: 50 5f 41 54 5f 43 41 52 45 54 20 3d 20 30 78 30  P_AT_CARET = 0x0
3c10: 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0010000 }..enum 
3c20: 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f 50 52 4f  : uint { IME_PRO
3c30: 50 5f 53 50 45 43 49 41 4c 5f 55 49 20 3d 20 30  P_SPECIAL_UI = 0
3c40: 78 30 30 30 32 30 30 30 30 20 7d 0d 0a 65 6e 75  x00020000 }..enu
3c50: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f 50  m : uint { IME_P
3c60: 52 4f 50 5f 43 41 4e 44 4c 49 53 54 5f 53 54 41  ROP_CANDLIST_STA
3c70: 52 54 5f 46 52 4f 4d 5f 31 20 3d 20 30 78 30 30  RT_FROM_1 = 0x00
3c80: 30 34 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  040000 }..enum :
3c90: 20 75 69 6e 74 20 7b 20 49 4d 45 5f 50 52 4f 50   uint { IME_PROP
3ca0: 5f 55 4e 49 43 4f 44 45 20 3d 20 30 78 30 30 30  _UNICODE = 0x000
3cb0: 38 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  80000 }..enum : 
3cc0: 75 69 6e 74 20 7b 20 49 4d 45 5f 50 52 4f 50 5f  uint { IME_PROP_
3cd0: 43 4f 4d 50 4c 45 54 45 5f 4f 4e 5f 55 4e 53 45  COMPLETE_ON_UNSE
3ce0: 4c 45 43 54 20 3d 20 30 78 30 30 31 30 30 30 30  LECT = 0x0010000
3cf0: 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  0 }....enum : ui
3d00: 6e 74 20 7b 20 55 49 5f 43 41 50 5f 32 37 30 30  nt { UI_CAP_2700
3d10: 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d   = 0x00000001 }.
3d20: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 55  .enum : uint { U
3d30: 49 5f 43 41 50 5f 52 4f 54 39 30 20 3d 20 30 78  I_CAP_ROT90 = 0x
3d40: 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  00000002 }..enum
3d50: 20 3a 20 75 69 6e 74 20 7b 20 55 49 5f 43 41 50   : uint { UI_CAP
3d60: 5f 52 4f 54 41 4e 59 20 3d 20 30 78 30 30 30 30  _ROTANY = 0x0000
3d70: 30 30 30 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0004 }....enum :
3d80: 20 75 69 6e 74 20 7b 20 53 43 53 5f 43 41 50 5f   uint { SCS_CAP_
3d90: 43 4f 4d 50 53 54 52 20 3d 20 30 78 30 30 30 30  COMPSTR = 0x0000
3da0: 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
3db0: 69 6e 74 20 7b 20 53 43 53 5f 43 41 50 5f 4d 41  int { SCS_CAP_MA
3dc0: 4b 45 52 45 41 44 20 3d 20 30 78 30 30 30 30 30  KEREAD = 0x00000
3dd0: 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
3de0: 6e 74 20 7b 20 53 43 53 5f 43 41 50 5f 53 45 54  nt { SCS_CAP_SET
3df0: 52 45 43 4f 4e 56 45 52 54 53 54 52 49 4e 47 20  RECONVERTSTRING 
3e00: 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a  = 0x00000004 }..
3e10: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
3e20: 53 45 4c 45 43 54 5f 43 41 50 5f 43 4f 4e 56 45  SELECT_CAP_CONVE
3e30: 52 53 49 4f 4e 20 3d 20 30 78 30 30 30 30 30 30  RSION = 0x000000
3e40: 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
3e50: 74 20 7b 20 53 45 4c 45 43 54 5f 43 41 50 5f 53  t { SELECT_CAP_S
3e60: 45 4e 54 45 4e 43 45 20 3d 20 30 78 30 30 30 30  ENTENCE = 0x0000
3e70: 30 30 30 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0002 }....enum :
3e80: 20 75 69 6e 74 20 7b 20 47 47 4c 5f 4c 45 56 45   uint { GGL_LEVE
3e90: 4c 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d  L = 0x00000001 }
3ea0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
3eb0: 47 47 4c 5f 49 4e 44 45 58 20 3d 20 30 78 30 30  GGL_INDEX = 0x00
3ec0: 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  000002 }..enum :
3ed0: 20 75 69 6e 74 20 7b 20 47 47 4c 5f 53 54 52 49   uint { GGL_STRI
3ee0: 4e 47 20 3d 20 30 78 30 30 30 30 30 30 30 33 20  NG = 0x00000003 
3ef0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
3f00: 20 47 47 4c 5f 50 52 49 56 41 54 45 20 3d 20 30   GGL_PRIVATE = 0
3f10: 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 0d 0a 65  x00000004 }....e
3f20: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 4c 5f  num : uint { GL_
3f30: 4c 45 56 45 4c 5f 4e 4f 47 55 49 44 45 4c 49 4e  LEVEL_NOGUIDELIN
3f40: 45 20 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d  E = 0x00000000 }
3f50: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
3f60: 47 4c 5f 4c 45 56 45 4c 5f 46 41 54 41 4c 20 3d  GL_LEVEL_FATAL =
3f70: 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65   0x00000001 }..e
3f80: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 4c 5f  num : uint { GL_
3f90: 4c 45 56 45 4c 5f 45 52 52 4f 52 20 3d 20 30 78  LEVEL_ERROR = 0x
3fa0: 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  00000002 }..enum
3fb0: 20 3a 20 75 69 6e 74 20 7b 20 47 4c 5f 4c 45 56   : uint { GL_LEV
3fc0: 45 4c 5f 57 41 52 4e 49 4e 47 20 3d 20 30 78 30  EL_WARNING = 0x0
3fd0: 30 30 30 30 30 30 33 20 7d 0d 0a 65 6e 75 6d 20  0000003 }..enum 
3fe0: 3a 20 75 69 6e 74 20 7b 20 47 4c 5f 4c 45 56 45  : uint { GL_LEVE
3ff0: 4c 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 3d 20  L_INFORMATION = 
4000: 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 0d 0a  0x00000004 }....
4010: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 4c  enum : uint { GL
4020: 5f 49 44 5f 55 4e 4b 4e 4f 57 4e 20 3d 20 30 78  _ID_UNKNOWN = 0x
4030: 30 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00000000 }..enum
4040: 20 3a 20 75 69 6e 74 20 7b 20 47 4c 5f 49 44 5f   : uint { GL_ID_
4050: 4e 4f 4d 4f 44 55 4c 45 20 3d 20 30 78 30 30 30  NOMODULE = 0x000
4060: 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00001 }..enum : 
4070: 75 69 6e 74 20 7b 20 47 4c 5f 49 44 5f 4e 4f 44  uint { GL_ID_NOD
4080: 49 43 54 49 4f 4e 41 52 59 20 3d 20 30 78 30 30  ICTIONARY = 0x00
4090: 30 30 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000010 }..enum :
40a0: 20 75 69 6e 74 20 7b 20 47 4c 5f 49 44 5f 43 41   uint { GL_ID_CA
40b0: 4e 4e 4f 54 53 41 56 45 20 3d 20 30 78 30 30 30  NNOTSAVE = 0x000
40c0: 30 30 30 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00011 }..enum : 
40d0: 75 69 6e 74 20 7b 20 47 4c 5f 49 44 5f 4e 4f 43  uint { GL_ID_NOC
40e0: 4f 4e 56 45 52 54 20 3d 20 30 78 30 30 30 30 30  ONVERT = 0x00000
40f0: 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  020 }..enum : ui
4100: 6e 74 20 7b 20 47 4c 5f 49 44 5f 54 59 50 49 4e  nt { GL_ID_TYPIN
4110: 47 45 52 52 4f 52 20 3d 20 30 78 30 30 30 30 30  GERROR = 0x00000
4120: 30 32 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  021 }..enum : ui
4130: 6e 74 20 7b 20 47 4c 5f 49 44 5f 54 4f 4f 4d 41  nt { GL_ID_TOOMA
4140: 4e 59 53 54 52 4f 4b 45 20 3d 20 30 78 30 30 30  NYSTROKE = 0x000
4150: 30 30 30 32 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00022 }..enum : 
4160: 75 69 6e 74 20 7b 20 47 4c 5f 49 44 5f 52 45 41  uint { GL_ID_REA
4170: 44 49 4e 47 43 4f 4e 46 4c 49 43 54 20 3d 20 30  DINGCONFLICT = 0
4180: 78 30 30 30 30 30 30 32 33 20 7d 0d 0a 65 6e 75  x00000023 }..enu
4190: 6d 20 3a 20 75 69 6e 74 20 7b 20 47 4c 5f 49 44  m : uint { GL_ID
41a0: 5f 49 4e 50 55 54 52 45 41 44 49 4e 47 20 3d 20  _INPUTREADING = 
41b0: 30 78 30 30 30 30 30 30 32 34 20 7d 0d 0a 65 6e  0x00000024 }..en
41c0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 4c 5f 49  um : uint { GL_I
41d0: 44 5f 49 4e 50 55 54 52 41 44 49 43 41 4c 20 3d  D_INPUTRADICAL =
41e0: 20 30 78 30 30 30 30 30 30 32 35 20 7d 0d 0a 65   0x00000025 }..e
41f0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 4c 5f  num : uint { GL_
4200: 49 44 5f 49 4e 50 55 54 43 4f 44 45 20 3d 20 30  ID_INPUTCODE = 0
4210: 78 30 30 30 30 30 30 32 36 20 7d 0d 0a 65 6e 75  x00000026 }..enu
4220: 6d 20 3a 20 75 69 6e 74 20 7b 20 47 4c 5f 49 44  m : uint { GL_ID
4230: 5f 49 4e 50 55 54 53 59 4d 42 4f 4c 20 3d 20 30  _INPUTSYMBOL = 0
4240: 78 30 30 30 30 30 30 32 37 20 7d 0d 0a 65 6e 75  x00000027 }..enu
4250: 6d 20 3a 20 75 69 6e 74 20 7b 20 47 4c 5f 49 44  m : uint { GL_ID
4260: 5f 43 48 4f 4f 53 45 43 41 4e 44 49 44 41 54 45  _CHOOSECANDIDATE
4270: 20 3d 20 30 78 30 30 30 30 30 30 32 38 20 7d 0d   = 0x00000028 }.
4280: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47  .enum : uint { G
4290: 4c 5f 49 44 5f 52 45 56 45 52 53 45 43 4f 4e 56  L_ID_REVERSECONV
42a0: 45 52 53 49 4f 4e 20 3d 20 30 78 30 30 30 30 30  ERSION = 0x00000
42b0: 30 32 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  029 }..enum : ui
42c0: 6e 74 20 7b 20 47 4c 5f 49 44 5f 50 52 49 56 41  nt { GL_ID_PRIVA
42d0: 54 45 5f 46 49 52 53 54 20 3d 20 30 78 30 30 30  TE_FIRST = 0x000
42e0: 30 38 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  08000 }..enum : 
42f0: 75 69 6e 74 20 7b 20 47 4c 5f 49 44 5f 50 52 49  uint { GL_ID_PRI
4300: 56 41 54 45 5f 4c 41 53 54 20 3d 20 30 78 30 30  VATE_LAST = 0x00
4310: 30 30 46 46 46 46 20 7d 0d 0a 0d 0a 65 6e 75 6d  00FFFF }....enum
4320: 20 3a 20 44 57 4f 52 44 20 7b 20 49 47 50 5f 47   : DWORD { IGP_G
4330: 45 54 49 4d 45 56 45 52 53 49 4f 4e 20 3d 20 63  ETIMEVERSION = c
4340: 61 73 74 28 44 57 4f 52 44 29 2d 34 20 7d 0d 0a  ast(DWORD)-4 }..
4350: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 47  enum : uint { IG
4360: 50 5f 50 52 4f 50 45 52 54 59 20 3d 20 30 78 30  P_PROPERTY = 0x0
4370: 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20  0000004 }..enum 
4380: 3a 20 75 69 6e 74 20 7b 20 49 47 50 5f 43 4f 4e  : uint { IGP_CON
4390: 56 45 52 53 49 4f 4e 20 3d 20 30 78 30 30 30 30  VERSION = 0x0000
43a0: 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0008 }..enum : u
43b0: 69 6e 74 20 7b 20 49 47 50 5f 53 45 4e 54 45 4e  int { IGP_SENTEN
43c0: 43 45 20 3d 20 30 78 30 30 30 30 30 30 30 63 20  CE = 0x0000000c 
43d0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
43e0: 20 49 47 50 5f 55 49 20 3d 20 30 78 30 30 30 30   IGP_UI = 0x0000
43f0: 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0010 }..enum : u
4400: 69 6e 74 20 7b 20 49 47 50 5f 53 45 54 43 4f 4d  int { IGP_SETCOM
4410: 50 53 54 52 20 3d 20 30 78 30 30 30 30 30 30 31  PSTR = 0x0000001
4420: 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
4430: 20 7b 20 49 47 50 5f 53 45 4c 45 43 54 20 3d 20   { IGP_SELECT = 
4440: 30 78 30 30 30 30 30 30 31 38 20 7d 0d 0a 0d 0a  0x00000018 }....
4450: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 43  enum : uint { SC
4460: 53 5f 53 45 54 53 54 52 20 3d 20 47 43 53 5f 43  S_SETSTR = GCS_C
4470: 4f 4d 50 52 45 41 44 53 54 52 7c 47 43 53 5f 43  OMPREADSTR|GCS_C
4480: 4f 4d 50 53 54 52 20 7d 0d 0a 65 6e 75 6d 20 3a  OMPSTR }..enum :
4490: 20 75 69 6e 74 20 7b 20 53 43 53 5f 43 48 41 4e   uint { SCS_CHAN
44a0: 47 45 41 54 54 52 20 3d 20 47 43 53 5f 43 4f 4d  GEATTR = GCS_COM
44b0: 50 52 45 41 44 41 54 54 52 7c 47 43 53 5f 43 4f  PREADATTR|GCS_CO
44c0: 4d 50 41 54 54 52 20 7d 0d 0a 65 6e 75 6d 20 3a  MPATTR }..enum :
44d0: 20 75 69 6e 74 20 7b 20 53 43 53 5f 43 48 41 4e   uint { SCS_CHAN
44e0: 47 45 43 4c 41 55 53 45 20 3d 20 47 43 53 5f 43  GECLAUSE = GCS_C
44f0: 4f 4d 50 52 45 41 44 43 4c 41 55 53 45 7c 47 43  OMPREADCLAUSE|GC
4500: 53 5f 43 4f 4d 50 43 4c 41 55 53 45 20 7d 0d 0a  S_COMPCLAUSE }..
4510: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 43  enum : uint { SC
4520: 53 5f 53 45 54 52 45 43 4f 4e 56 45 52 54 53 54  S_SETRECONVERTST
4530: 52 49 4e 47 20 3d 20 30 78 30 30 30 31 30 30 30  RING = 0x0001000
4540: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
4550: 20 7b 20 53 43 53 5f 51 55 45 52 59 52 45 43 4f   { SCS_QUERYRECO
4560: 4e 56 45 52 54 53 54 52 49 4e 47 20 3d 20 30 78  NVERTSTRING = 0x
4570: 30 30 30 32 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e  00020000 }....en
4580: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 54 54 52  um : uint { ATTR
4590: 5f 49 4e 50 55 54 20 3d 20 30 78 30 30 20 7d 0d  _INPUT = 0x00 }.
45a0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41  .enum : uint { A
45b0: 54 54 52 5f 54 41 52 47 45 54 5f 43 4f 4e 56 45  TTR_TARGET_CONVE
45c0: 52 54 45 44 20 3d 20 30 78 30 31 20 7d 0d 0a 65  RTED = 0x01 }..e
45d0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 54 54  num : uint { ATT
45e0: 52 5f 43 4f 4e 56 45 52 54 45 44 20 3d 20 30 78  R_CONVERTED = 0x
45f0: 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
4600: 74 20 7b 20 41 54 54 52 5f 54 41 52 47 45 54 5f  t { ATTR_TARGET_
4610: 4e 4f 54 43 4f 4e 56 45 52 54 45 44 20 3d 20 30  NOTCONVERTED = 0
4620: 78 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x03 }..enum : ui
4630: 6e 74 20 7b 20 41 54 54 52 5f 49 4e 50 55 54 5f  nt { ATTR_INPUT_
4640: 45 52 52 4f 52 20 3d 20 30 78 30 34 20 7d 0d 0a  ERROR = 0x04 }..
4650: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 54  enum : uint { AT
4660: 54 52 5f 46 49 58 45 44 43 4f 4e 56 45 52 54 45  TR_FIXEDCONVERTE
4670: 44 20 3d 20 30 78 30 35 20 7d 0d 0a 0d 0a 65 6e  D = 0x05 }....en
4680: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 46 53 5f  um : uint { CFS_
4690: 44 45 46 41 55 4c 54 20 3d 20 30 78 30 30 30 30  DEFAULT = 0x0000
46a0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
46b0: 7b 20 43 46 53 5f 52 45 43 54 20 3d 20 30 78 30  { CFS_RECT = 0x0
46c0: 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
46d0: 6e 74 20 7b 20 43 46 53 5f 50 4f 49 4e 54 20 3d  nt { CFS_POINT =
46e0: 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20   0x0002 }..enum 
46f0: 3a 20 75 69 6e 74 20 7b 20 43 46 53 5f 46 4f 52  : uint { CFS_FOR
4700: 43 45 5f 50 4f 53 49 54 49 4f 4e 20 3d 20 30 78  CE_POSITION = 0x
4710: 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0020 }..enum : u
4720: 69 6e 74 20 7b 20 43 46 53 5f 43 41 4e 44 49 44  int { CFS_CANDID
4730: 41 54 45 50 4f 53 20 3d 20 30 78 30 30 34 30 20  ATEPOS = 0x0040 
4740: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
4750: 20 43 46 53 5f 45 58 43 4c 55 44 45 20 3d 20 30   CFS_EXCLUDE = 0
4760: 78 30 30 38 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  x0080 }....enum 
4770: 3a 20 75 69 6e 74 20 7b 20 47 43 4c 5f 43 4f 4e  : uint { GCL_CON
4780: 56 45 52 53 49 4f 4e 20 3d 20 30 78 30 30 30 31  VERSION = 0x0001
4790: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
47a0: 7b 20 47 43 4c 5f 52 45 56 45 52 53 45 43 4f 4e  { GCL_REVERSECON
47b0: 56 45 52 53 49 4f 4e 20 3d 20 30 78 30 30 30 32  VERSION = 0x0002
47c0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
47d0: 7b 20 47 43 4c 5f 52 45 56 45 52 53 45 5f 4c 45  { GCL_REVERSE_LE
47e0: 4e 47 54 48 20 3d 20 30 78 30 30 30 33 20 7d 0d  NGTH = 0x0003 }.
47f0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
4800: 20 49 4d 45 5f 43 4d 4f 44 45 5f 41 4c 50 48 41   IME_CMODE_ALPHA
4810: 4e 55 4d 45 52 49 43 20 3d 20 30 78 30 30 30 30  NUMERIC = 0x0000
4820: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
4830: 7b 20 49 4d 45 5f 43 4d 4f 44 45 5f 4e 41 54 49  { IME_CMODE_NATI
4840: 56 45 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 61  VE = 0x0001 }..a
4850: 6c 69 61 73 20 49 4d 45 5f 43 4d 4f 44 45 5f 4e  lias IME_CMODE_N
4860: 41 54 49 56 45 20 49 4d 45 5f 43 4d 4f 44 45 5f  ATIVE IME_CMODE_
4870: 43 48 49 4e 45 53 45 3b 0d 0a 0d 0a 61 6c 69 61  CHINESE;....alia
4880: 73 20 49 4d 45 5f 43 4d 4f 44 45 5f 4e 41 54 49  s IME_CMODE_NATI
4890: 56 45 20 49 4d 45 5f 43 4d 4f 44 45 5f 48 41 4e  VE IME_CMODE_HAN
48a0: 47 45 55 4c 3b 0d 0a 61 6c 69 61 73 20 49 4d 45  GEUL;..alias IME
48b0: 5f 43 4d 4f 44 45 5f 4e 41 54 49 56 45 20 49 4d  _CMODE_NATIVE IM
48c0: 45 5f 43 4d 4f 44 45 5f 48 41 4e 47 55 4c 3b 0d  E_CMODE_HANGUL;.
48d0: 0a 61 6c 69 61 73 20 49 4d 45 5f 43 4d 4f 44 45  .alias IME_CMODE
48e0: 5f 4e 41 54 49 56 45 20 49 4d 45 5f 43 4d 4f 44  _NATIVE IME_CMOD
48f0: 45 5f 4a 41 50 41 4e 45 53 45 3b 0d 0a 65 6e 75  E_JAPANESE;..enu
4900: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f 43  m : uint { IME_C
4910: 4d 4f 44 45 5f 4b 41 54 41 4b 41 4e 41 20 3d 20  MODE_KATAKANA = 
4920: 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0002 }..enum :
4930: 20 75 69 6e 74 20 7b 20 49 4d 45 5f 43 4d 4f 44   uint { IME_CMOD
4940: 45 5f 4c 41 4e 47 55 41 47 45 20 3d 20 30 78 30  E_LANGUAGE = 0x0
4950: 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  003 }..enum : ui
4960: 6e 74 20 7b 20 49 4d 45 5f 43 4d 4f 44 45 5f 46  nt { IME_CMODE_F
4970: 55 4c 4c 53 48 41 50 45 20 3d 20 30 78 30 30 30  ULLSHAPE = 0x000
4980: 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
4990: 20 7b 20 49 4d 45 5f 43 4d 4f 44 45 5f 52 4f 4d   { IME_CMODE_ROM
49a0: 41 4e 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65  AN = 0x0010 }..e
49b0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 45  num : uint { IME
49c0: 5f 43 4d 4f 44 45 5f 43 48 41 52 43 4f 44 45 20  _CMODE_CHARCODE 
49d0: 3d 20 30 78 30 30 32 30 20 7d 0d 0a 65 6e 75 6d  = 0x0020 }..enum
49e0: 20 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f 43 4d   : uint { IME_CM
49f0: 4f 44 45 5f 48 41 4e 4a 41 43 4f 4e 56 45 52 54  ODE_HANJACONVERT
4a00: 20 3d 20 30 78 30 30 34 30 20 7d 0d 0a 65 6e 75   = 0x0040 }..enu
4a10: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f 43  m : uint { IME_C
4a20: 4d 4f 44 45 5f 53 4f 46 54 4b 42 44 20 3d 20 30  MODE_SOFTKBD = 0
4a30: 78 30 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0080 }..enum : 
4a40: 75 69 6e 74 20 7b 20 49 4d 45 5f 43 4d 4f 44 45  uint { IME_CMODE
4a50: 5f 4e 4f 43 4f 4e 56 45 52 53 49 4f 4e 20 3d 20  _NOCONVERSION = 
4a60: 30 78 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0100 }..enum :
4a70: 20 75 69 6e 74 20 7b 20 49 4d 45 5f 43 4d 4f 44   uint { IME_CMOD
4a80: 45 5f 45 55 44 43 20 3d 20 30 78 30 32 30 30 20  E_EUDC = 0x0200 
4a90: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
4aa0: 20 49 4d 45 5f 43 4d 4f 44 45 5f 53 59 4d 42 4f   IME_CMODE_SYMBO
4ab0: 4c 20 3d 20 30 78 30 34 30 30 20 7d 0d 0a 65 6e  L = 0x0400 }..en
4ac0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f  um : uint { IME_
4ad0: 43 4d 4f 44 45 5f 46 49 58 45 44 20 3d 20 30 78  CMODE_FIXED = 0x
4ae0: 30 38 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0800 }....enum :
4af0: 20 75 69 6e 74 20 7b 20 49 4d 45 5f 53 4d 4f 44   uint { IME_SMOD
4b00: 45 5f 4e 4f 4e 45 20 3d 20 30 78 30 30 30 30 20  E_NONE = 0x0000 
4b10: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
4b20: 20 49 4d 45 5f 53 4d 4f 44 45 5f 50 4c 41 55 52   IME_SMODE_PLAUR
4b30: 41 4c 43 4c 41 55 53 45 20 3d 20 30 78 30 30 30  ALCLAUSE = 0x000
4b40: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
4b50: 20 7b 20 49 4d 45 5f 53 4d 4f 44 45 5f 53 49 4e   { IME_SMODE_SIN
4b60: 47 4c 45 43 4f 4e 56 45 52 54 20 3d 20 30 78 30  GLECONVERT = 0x0
4b70: 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
4b80: 6e 74 20 7b 20 49 4d 45 5f 53 4d 4f 44 45 5f 41  nt { IME_SMODE_A
4b90: 55 54 4f 4d 41 54 49 43 20 3d 20 30 78 30 30 30  UTOMATIC = 0x000
4ba0: 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
4bb0: 20 7b 20 49 4d 45 5f 53 4d 4f 44 45 5f 50 48 52   { IME_SMODE_PHR
4bc0: 41 53 45 50 52 45 44 49 43 54 20 3d 20 30 78 30  ASEPREDICT = 0x0
4bd0: 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  008 }..enum : ui
4be0: 6e 74 20 7b 20 49 4d 45 5f 53 4d 4f 44 45 5f 43  nt { IME_SMODE_C
4bf0: 4f 4e 56 45 52 53 41 54 49 4f 4e 20 3d 20 30 78  ONVERSATION = 0x
4c00: 30 30 31 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0010 }....enum :
4c10: 20 75 69 6e 74 20 7b 20 49 4d 45 5f 43 41 4e 44   uint { IME_CAND
4c20: 5f 55 4e 4b 4e 4f 57 4e 20 3d 20 30 78 30 30 30  _UNKNOWN = 0x000
4c30: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
4c40: 20 7b 20 49 4d 45 5f 43 41 4e 44 5f 52 45 41 44   { IME_CAND_READ
4c50: 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75   = 0x0001 }..enu
4c60: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f 43  m : uint { IME_C
4c70: 41 4e 44 5f 43 4f 44 45 20 3d 20 30 78 30 30 30  AND_CODE = 0x000
4c80: 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
4c90: 20 7b 20 49 4d 45 5f 43 41 4e 44 5f 4d 45 41 4e   { IME_CAND_MEAN
4ca0: 49 4e 47 20 3d 20 30 78 30 30 30 33 20 7d 0d 0a  ING = 0x0003 }..
4cb0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
4cc0: 45 5f 43 41 4e 44 5f 52 41 44 49 43 41 4c 20 3d  E_CAND_RADICAL =
4cd0: 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20   0x0004 }..enum 
4ce0: 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f 43 41 4e  : uint { IME_CAN
4cf0: 44 5f 53 54 52 4f 4b 45 20 3d 20 30 78 30 30 30  D_STROKE = 0x000
4d00: 35 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  5 }....enum : ui
4d10: 6e 74 20 7b 20 49 4d 4e 5f 43 4c 4f 53 45 53 54  nt { IMN_CLOSEST
4d20: 41 54 55 53 57 49 4e 44 4f 57 20 3d 20 30 78 30  ATUSWINDOW = 0x0
4d30: 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
4d40: 6e 74 20 7b 20 49 4d 4e 5f 4f 50 45 4e 53 54 41  nt { IMN_OPENSTA
4d50: 54 55 53 57 49 4e 44 4f 57 20 3d 20 30 78 30 30  TUSWINDOW = 0x00
4d60: 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
4d70: 74 20 7b 20 49 4d 4e 5f 43 48 41 4e 47 45 43 41  t { IMN_CHANGECA
4d80: 4e 44 49 44 41 54 45 20 3d 20 30 78 30 30 30 33  NDIDATE = 0x0003
4d90: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
4da0: 7b 20 49 4d 4e 5f 43 4c 4f 53 45 43 41 4e 44 49  { IMN_CLOSECANDI
4db0: 44 41 54 45 20 3d 20 30 78 30 30 30 34 20 7d 0d  DATE = 0x0004 }.
4dc0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
4dd0: 4d 4e 5f 4f 50 45 4e 43 41 4e 44 49 44 41 54 45  MN_OPENCANDIDATE
4de0: 20 3d 20 30 78 30 30 30 35 20 7d 0d 0a 65 6e 75   = 0x0005 }..enu
4df0: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 4e 5f 53  m : uint { IMN_S
4e00: 45 54 43 4f 4e 56 45 52 53 49 4f 4e 4d 4f 44 45  ETCONVERSIONMODE
4e10: 20 3d 20 30 78 30 30 30 36 20 7d 0d 0a 65 6e 75   = 0x0006 }..enu
4e20: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 4e 5f 53  m : uint { IMN_S
4e30: 45 54 53 45 4e 54 45 4e 43 45 4d 4f 44 45 20 3d  ETSENTENCEMODE =
4e40: 20 30 78 30 30 30 37 20 7d 0d 0a 65 6e 75 6d 20   0x0007 }..enum 
4e50: 3a 20 75 69 6e 74 20 7b 20 49 4d 4e 5f 53 45 54  : uint { IMN_SET
4e60: 4f 50 45 4e 53 54 41 54 55 53 20 3d 20 30 78 30  OPENSTATUS = 0x0
4e70: 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  008 }..enum : ui
4e80: 6e 74 20 7b 20 49 4d 4e 5f 53 45 54 43 41 4e 44  nt { IMN_SETCAND
4e90: 49 44 41 54 45 50 4f 53 20 3d 20 30 78 30 30 30  IDATEPOS = 0x000
4ea0: 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  9 }..enum : uint
4eb0: 20 7b 20 49 4d 4e 5f 53 45 54 43 4f 4d 50 4f 53   { IMN_SETCOMPOS
4ec0: 49 54 49 4f 4e 46 4f 4e 54 20 3d 20 30 78 30 30  ITIONFONT = 0x00
4ed0: 30 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0A }..enum : uin
4ee0: 74 20 7b 20 49 4d 4e 5f 53 45 54 43 4f 4d 50 4f  t { IMN_SETCOMPO
4ef0: 53 49 54 49 4f 4e 57 49 4e 44 4f 57 20 3d 20 30  SITIONWINDOW = 0
4f00: 78 30 30 30 42 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x000B }..enum : 
4f10: 75 69 6e 74 20 7b 20 49 4d 4e 5f 53 45 54 53 54  uint { IMN_SETST
4f20: 41 54 55 53 57 49 4e 44 4f 57 50 4f 53 20 3d 20  ATUSWINDOWPOS = 
4f30: 30 78 30 30 30 43 20 7d 0d 0a 65 6e 75 6d 20 3a  0x000C }..enum :
4f40: 20 75 69 6e 74 20 7b 20 49 4d 4e 5f 47 55 49 44   uint { IMN_GUID
4f50: 45 4c 49 4e 45 20 3d 20 30 78 30 30 30 44 20 7d  ELINE = 0x000D }
4f60: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
4f70: 49 4d 4e 5f 50 52 49 56 41 54 45 20 3d 20 30 78  IMN_PRIVATE = 0x
4f80: 30 30 30 45 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66  000E }....// #if
4f90: 20 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34   (WINVER >= 0x04
4fa0: 30 41 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  0A)....enum : ui
4fb0: 6e 74 20 7b 20 49 4d 52 5f 43 4f 4d 50 4f 53 49  nt { IMR_COMPOSI
4fc0: 54 49 4f 4e 57 49 4e 44 4f 57 20 3d 20 30 78 30  TIONWINDOW = 0x0
4fd0: 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
4fe0: 6e 74 20 7b 20 49 4d 52 5f 43 41 4e 44 49 44 41  nt { IMR_CANDIDA
4ff0: 54 45 57 49 4e 44 4f 57 20 3d 20 30 78 30 30 30  TEWINDOW = 0x000
5000: 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
5010: 20 7b 20 49 4d 52 5f 43 4f 4d 50 4f 53 49 54 49   { IMR_COMPOSITI
5020: 4f 4e 46 4f 4e 54 20 3d 20 30 78 30 30 30 33 20  ONFONT = 0x0003 
5030: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
5040: 20 49 4d 52 5f 52 45 43 4f 4e 56 45 52 54 53 54   IMR_RECONVERTST
5050: 52 49 4e 47 20 3d 20 30 78 30 30 30 34 20 7d 0d  RING = 0x0004 }.
5060: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
5070: 4d 52 5f 43 4f 4e 46 49 52 4d 52 45 43 4f 4e 56  MR_CONFIRMRECONV
5080: 45 52 54 53 54 52 49 4e 47 20 3d 20 30 78 30 30  ERTSTRING = 0x00
5090: 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  05 }..enum : uin
50a0: 74 20 7b 20 49 4d 52 5f 51 55 45 52 59 43 48 41  t { IMR_QUERYCHA
50b0: 52 50 4f 53 49 54 49 4f 4e 20 3d 20 30 78 30 30  RPOSITION = 0x00
50c0: 30 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  06 }..enum : uin
50d0: 74 20 7b 20 49 4d 52 5f 44 4f 43 55 4d 45 4e 54  t { IMR_DOCUMENT
50e0: 46 45 45 44 20 3d 20 30 78 30 30 30 37 20 7d 0d  FEED = 0x0007 }.
50f0: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49  .// #endif /* WI
5100: 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 41 20 2a  NVER >= 0x040A *
5110: 2f 0d 0a 0d 0a 65 6e 75 6d 20 7b 20 49 4d 4d 5f  /....enum { IMM_
5120: 45 52 52 4f 52 5f 4e 4f 44 41 54 41 20 3d 20 2d  ERROR_NODATA = -
5130: 31 20 7d 0d 0a 65 6e 75 6d 20 7b 20 49 4d 4d 5f  1 }..enum { IMM_
5140: 45 52 52 4f 52 5f 47 45 4e 45 52 41 4c 20 3d 20  ERROR_GENERAL = 
5150: 2d 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  -2 }....enum : u
5160: 69 6e 74 20 7b 20 49 4d 45 5f 43 4f 4e 46 49 47  int { IME_CONFIG
5170: 5f 47 45 4e 45 52 41 4c 20 3d 20 31 20 7d 0d 0a  _GENERAL = 1 }..
5180: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
5190: 45 5f 43 4f 4e 46 49 47 5f 52 45 47 49 53 54 45  E_CONFIG_REGISTE
51a0: 52 57 4f 52 44 20 3d 20 32 20 7d 0d 0a 65 6e 75  RWORD = 2 }..enu
51b0: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f 43  m : uint { IME_C
51c0: 4f 4e 46 49 47 5f 53 45 4c 45 43 54 44 49 43 54  ONFIG_SELECTDICT
51d0: 49 4f 4e 41 52 59 20 3d 20 33 20 7d 0d 0a 0d 0a  IONARY = 3 }....
51e0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
51f0: 45 5f 45 53 43 5f 51 55 45 52 59 5f 53 55 50 50  E_ESC_QUERY_SUPP
5200: 4f 52 54 20 3d 20 30 78 30 30 30 33 20 7d 0d 0a  ORT = 0x0003 }..
5210: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
5220: 45 5f 45 53 43 5f 52 45 53 45 52 56 45 44 5f 46  E_ESC_RESERVED_F
5230: 49 52 53 54 20 3d 20 30 78 30 30 30 34 20 7d 0d  IRST = 0x0004 }.
5240: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
5250: 4d 45 5f 45 53 43 5f 52 45 53 45 52 56 45 44 5f  ME_ESC_RESERVED_
5260: 4c 41 53 54 20 3d 20 30 78 30 37 46 46 20 7d 0d  LAST = 0x07FF }.
5270: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
5280: 4d 45 5f 45 53 43 5f 50 52 49 56 41 54 45 5f 46  ME_ESC_PRIVATE_F
5290: 49 52 53 54 20 3d 20 30 78 30 38 30 30 20 7d 0d  IRST = 0x0800 }.
52a0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
52b0: 4d 45 5f 45 53 43 5f 50 52 49 56 41 54 45 5f 4c  ME_ESC_PRIVATE_L
52c0: 41 53 54 20 3d 20 30 78 30 46 46 46 20 7d 0d 0a  AST = 0x0FFF }..
52d0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
52e0: 49 4d 45 5f 45 53 43 5f 53 45 51 55 45 4e 43 45  IME_ESC_SEQUENCE
52f0: 5f 54 4f 5f 49 4e 54 45 52 4e 41 4c 20 3d 20 30  _TO_INTERNAL = 0
5300: 78 31 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x1001 }..enum : 
5310: 75 69 6e 74 20 7b 20 49 4d 45 5f 45 53 43 5f 47  uint { IME_ESC_G
5320: 45 54 5f 45 55 44 43 5f 44 49 43 54 49 4f 4e 41  ET_EUDC_DICTIONA
5330: 52 59 20 3d 20 30 78 31 30 30 33 20 7d 0d 0a 65  RY = 0x1003 }..e
5340: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 45  num : uint { IME
5350: 5f 45 53 43 5f 53 45 54 5f 45 55 44 43 5f 44 49  _ESC_SET_EUDC_DI
5360: 43 54 49 4f 4e 41 52 59 20 3d 20 30 78 31 30 30  CTIONARY = 0x100
5370: 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
5380: 20 7b 20 49 4d 45 5f 45 53 43 5f 4d 41 58 5f 4b   { IME_ESC_MAX_K
5390: 45 59 20 3d 20 30 78 31 30 30 35 20 7d 0d 0a 65  EY = 0x1005 }..e
53a0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 45  num : uint { IME
53b0: 5f 45 53 43 5f 49 4d 45 5f 4e 41 4d 45 20 3d 20  _ESC_IME_NAME = 
53c0: 30 78 31 30 30 36 20 7d 0d 0a 65 6e 75 6d 20 3a  0x1006 }..enum :
53d0: 20 75 69 6e 74 20 7b 20 49 4d 45 5f 45 53 43 5f   uint { IME_ESC_
53e0: 53 59 4e 43 5f 48 4f 54 4b 45 59 20 3d 20 30 78  SYNC_HOTKEY = 0x
53f0: 31 30 30 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  1007 }..enum : u
5400: 69 6e 74 20 7b 20 49 4d 45 5f 45 53 43 5f 48 41  int { IME_ESC_HA
5410: 4e 4a 41 5f 4d 4f 44 45 20 3d 20 30 78 31 30 30  NJA_MODE = 0x100
5420: 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
5430: 20 7b 20 49 4d 45 5f 45 53 43 5f 41 55 54 4f 4d   { IME_ESC_AUTOM
5440: 41 54 41 20 3d 20 30 78 31 30 30 39 20 7d 0d 0a  ATA = 0x1009 }..
5450: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
5460: 45 5f 45 53 43 5f 50 52 49 56 41 54 45 5f 48 4f  E_ESC_PRIVATE_HO
5470: 54 4b 45 59 20 3d 20 30 78 31 30 30 61 20 7d 0d  TKEY = 0x100a }.
5480: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
5490: 4d 45 5f 45 53 43 5f 47 45 54 48 45 4c 50 46 49  ME_ESC_GETHELPFI
54a0: 4c 45 4e 41 4d 45 20 3d 20 30 78 31 30 30 62 20  LENAME = 0x100b 
54b0: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
54c0: 20 7b 20 49 4d 45 5f 52 45 47 57 4f 52 44 5f 53   { IME_REGWORD_S
54d0: 54 59 4c 45 5f 45 55 44 43 20 3d 20 30 78 30 30  TYLE_EUDC = 0x00
54e0: 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  000001 }..enum :
54f0: 20 75 69 6e 74 20 7b 20 49 4d 45 5f 52 45 47 57   uint { IME_REGW
5500: 4f 52 44 5f 53 54 59 4c 45 5f 55 53 45 52 5f 46  ORD_STYLE_USER_F
5510: 49 52 53 54 20 3d 20 30 78 38 30 30 30 30 30 30  IRST = 0x8000000
5520: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
5530: 20 7b 20 49 4d 45 5f 52 45 47 57 4f 52 44 5f 53   { IME_REGWORD_S
5540: 54 59 4c 45 5f 55 53 45 52 5f 4c 41 53 54 20 3d  TYLE_USER_LAST =
5550: 20 30 78 46 46 46 46 46 46 46 46 20 7d 0d 0a 0d   0xFFFFFFFF }...
5560: 0a 2f 2f 20 23 69 66 20 28 57 49 4e 56 45 52 20  .// #if (WINVER 
5570: 3e 3d 20 30 78 30 34 30 41 29 0d 0a 0d 0a 65 6e  >= 0x040A)....en
5580: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 41 43 45  um : uint { IACE
5590: 5f 43 48 49 4c 44 52 45 4e 20 3d 20 30 78 30 30  _CHILDREN = 0x00
55a0: 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
55b0: 74 20 7b 20 49 41 43 45 5f 44 45 46 41 55 4c 54  t { IACE_DEFAULT
55c0: 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75   = 0x0010 }..enu
55d0: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 41 43 45 5f  m : uint { IACE_
55e0: 49 47 4e 4f 52 45 4e 4f 43 4f 4e 54 45 58 54 20  IGNORENOCONTEXT 
55f0: 3d 20 30 78 30 30 32 30 20 7d 0d 0a 0d 0a 65 6e  = 0x0020 }....en
5600: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 47 49 4d  um : uint { IGIM
5610: 49 46 5f 52 49 47 48 54 4d 45 4e 55 20 3d 20 30  IF_RIGHTMENU = 0
5620: 78 30 30 30 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  x0001 }....enum 
5630: 3a 20 75 69 6e 74 20 7b 20 49 47 49 4d 49 49 5f  : uint { IGIMII_
5640: 43 4d 4f 44 45 20 3d 20 30 78 30 30 30 31 20 7d  CMODE = 0x0001 }
5650: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
5660: 49 47 49 4d 49 49 5f 53 4d 4f 44 45 20 3d 20 30  IGIMII_SMODE = 0
5670: 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0002 }..enum : 
5680: 75 69 6e 74 20 7b 20 49 47 49 4d 49 49 5f 43 4f  uint { IGIMII_CO
5690: 4e 46 49 47 55 52 45 20 3d 20 30 78 30 30 30 34  NFIGURE = 0x0004
56a0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
56b0: 7b 20 49 47 49 4d 49 49 5f 54 4f 4f 4c 53 20 3d  { IGIMII_TOOLS =
56c0: 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20   0x0008 }..enum 
56d0: 3a 20 75 69 6e 74 20 7b 20 49 47 49 4d 49 49 5f  : uint { IGIMII_
56e0: 48 45 4c 50 20 3d 20 30 78 30 30 31 30 20 7d 0d  HELP = 0x0010 }.
56f0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
5700: 47 49 4d 49 49 5f 4f 54 48 45 52 20 3d 20 30 78  GIMII_OTHER = 0x
5710: 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0020 }..enum : u
5720: 69 6e 74 20 7b 20 49 47 49 4d 49 49 5f 49 4e 50  int { IGIMII_INP
5730: 55 54 54 4f 4f 4c 53 20 3d 20 30 78 30 30 34 30  UTTOOLS = 0x0040
5740: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
5750: 74 20 7b 20 49 4d 46 54 5f 52 41 44 49 4f 43 48  t { IMFT_RADIOCH
5760: 45 43 4b 20 3d 20 30 78 30 30 30 30 31 20 7d 0d  ECK = 0x00001 }.
5770: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
5780: 4d 46 54 5f 53 45 50 41 52 41 54 4f 52 20 3d 20  MFT_SEPARATOR = 
5790: 30 78 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20  0x00002 }..enum 
57a0: 3a 20 75 69 6e 74 20 7b 20 49 4d 46 54 5f 53 55  : uint { IMFT_SU
57b0: 42 4d 45 4e 55 20 3d 20 30 78 30 30 30 30 34 20  BMENU = 0x00004 
57c0: 7d 0d 0a 0d 0a 61 6c 69 61 73 20 4d 46 53 5f 47  }....alias MFS_G
57d0: 52 41 59 45 44 20 49 4d 46 53 5f 47 52 41 59 45  RAYED IMFS_GRAYE
57e0: 44 3b 0d 0a 61 6c 69 61 73 20 4d 46 53 5f 44 49  D;..alias MFS_DI
57f0: 53 41 42 4c 45 44 20 49 4d 46 53 5f 44 49 53 41  SABLED IMFS_DISA
5800: 42 4c 45 44 3b 0d 0a 61 6c 69 61 73 20 4d 46 53  BLED;..alias MFS
5810: 5f 43 48 45 43 4b 45 44 20 49 4d 46 53 5f 43 48  _CHECKED IMFS_CH
5820: 45 43 4b 45 44 3b 0d 0a 61 6c 69 61 73 20 4d 46  ECKED;..alias MF
5830: 53 5f 48 49 4c 49 54 45 20 49 4d 46 53 5f 48 49  S_HILITE IMFS_HI
5840: 4c 49 54 45 3b 0d 0a 61 6c 69 61 73 20 4d 46 53  LITE;..alias MFS
5850: 5f 45 4e 41 42 4c 45 44 20 49 4d 46 53 5f 45 4e  _ENABLED IMFS_EN
5860: 41 42 4c 45 44 3b 0d 0a 61 6c 69 61 73 20 4d 46  ABLED;..alias MF
5870: 53 5f 55 4e 43 48 45 43 4b 45 44 20 49 4d 46 53  S_UNCHECKED IMFS
5880: 5f 55 4e 43 48 45 43 4b 45 44 3b 0d 0a 61 6c 69  _UNCHECKED;..ali
5890: 61 73 20 4d 46 53 5f 55 4e 48 49 4c 49 54 45 20  as MFS_UNHILITE 
58a0: 49 4d 46 53 5f 55 4e 48 49 4c 49 54 45 3b 0d 0a  IMFS_UNHILITE;..
58b0: 61 6c 69 61 73 20 4d 46 53 5f 44 45 46 41 55 4c  alias MFS_DEFAUL
58c0: 54 20 49 4d 46 53 5f 44 45 46 41 55 4c 54 3b 0d  T IMFS_DEFAULT;.
58d0: 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  ...// #endif /* 
58e0: 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 41  WINVER >= 0x040A
58f0: 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69   */....enum : ui
5900: 6e 74 20 7b 20 53 4f 46 54 4b 45 59 42 4f 41 52  nt { SOFTKEYBOAR
5910: 44 5f 54 59 50 45 5f 54 31 20 3d 20 30 78 30 30  D_TYPE_T1 = 0x00
5920: 30 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  01 }....enum : u
5930: 69 6e 74 20 7b 20 53 4f 46 54 4b 45 59 42 4f 41  int { SOFTKEYBOA
5940: 52 44 5f 54 59 50 45 5f 43 31 20 3d 20 30 78 30  RD_TYPE_C1 = 0x0
5950: 30 30 32 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64  002 }....// #end
5960: 69 66 20 20 2f 2f 20 5f 49 4d 4d 5f 53 44 4b 5f  if  // _IMM_SDK_
5970: 44 45 46 49 4e 45 44 5f 0d 0a 0d 0a 2f 2f 20 23  DEFINED_....// #
5980: 69 66 64 65 66 20 5f 5f 63 70 6c 75 73 70 6c 75  ifdef __cplusplu
5990: 73 0d 0a 2f 2f 20 7d 0d 0a 2f 2f 20 23 65 6e 64  s..// }..// #end
59a0: 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  if....// #endif 
59b0: 20 2f 2f 20 5f 49 4d 4d 5f 0d 0a                  // _IMM_..