Hex Artifact Content

Not logged in

Artifact 6732090e27c6d34ad32b961b3f344574fa2655de:


0000: 6d 6f 64 75 6c 65 20 77 69 6e 33 32 2e 69 6d 6d  module win32.imm
0010: 3b 0d 0a 0d 0a 2f 2f 20 54 72 61 6e 73 6c 61 74  ;....// Translat
0020: 65 64 20 66 72 6f 6d 20 4d 69 63 72 6f 73 6f 66  ed from Microsof
0030: 74 20 50 6c 61 74 66 6f 72 6d 20 53 44 4b 20 41  t Platform SDK A
0040: 75 67 75 73 74 20 32 30 30 31 20 45 64 69 74 69  ugust 2001 Editi
0050: 6f 6e 0d 0a 2f 2f 20 62 79 20 59 2e 54 6f 6d 69  on..// by Y.Tomi
0060: 6e 6f 0d 0a 0d 0a 69 6d 70 6f 72 74 20 77 69 6e  no....import win
0070: 33 32 2e 77 69 6e 64 65 66 3b 0d 0a 69 6d 70 6f  32.windef;..impo
0080: 72 74 20 77 69 6e 33 32 2e 77 69 6e 75 73 65 72  rt win32.winuser
0090: 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20  ;....// #ifndef 
00a0: 5f 49 4d 4d 5f 0d 0a 2f 2f 20 23 64 65 66 69 6e  _IMM_..// #defin
00b0: 65 20 5f 49 4d 4d 5f 0d 0a 0d 0a 2f 2f 20 23 69  e _IMM_....// #i
00c0: 66 64 65 66 20 5f 5f 63 70 6c 75 73 70 6c 75 73  fdef __cplusplus
00d0: 0d 0a 2f 2f 20 65 78 74 65 72 6e 20 22 43 22 20  ..// extern "C" 
00e0: 7b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  {..// #endif....
00f0: 2f 2f 20 23 69 66 6e 64 65 66 20 5f 49 4d 4d 5f  // #ifndef _IMM_
0100: 53 44 4b 5f 44 45 46 49 4e 45 44 5f 0d 0a 2f 2f  SDK_DEFINED_..//
0110: 20 23 64 65 66 69 6e 65 20 5f 49 4d 4d 5f 53 44   #define _IMM_SD
0120: 4b 5f 44 45 46 49 4e 45 44 5f 0d 0a 0d 0a 2f 2f  K_DEFINED_....//
0130: 20 23 69 66 20 28 57 49 4e 56 45 52 20 3e 3d 20   #if (WINVER >= 
0140: 30 78 30 34 30 41 29 0d 0a 61 6c 69 61 73 20 76  0x040A)..alias v
0150: 6f 69 64 2a 20 48 49 4d 43 3b 0d 0a 61 6c 69 61  oid* HIMC;..alia
0160: 73 20 76 6f 69 64 2a 20 48 49 4d 43 43 3b 0d 0a  s void* HIMCC;..
0170: 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e  // #else..// ...
0180: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57  ..// #endif /* W
0190: 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 41 20  INVER >= 0x040A 
01a0: 2a 2f 0d 0a 0d 0a 61 6c 69 61 73 20 48 4b 4c 2a  */....alias HKL*
01b0: 20 4c 50 48 4b 4c 3b 0d 0a 61 6c 69 61 73 20 55   LPHKL;..alias U
01c0: 49 4e 54 2a 20 4c 50 55 49 4e 54 3b 0d 0a 0d 0a  INT* LPUINT;....
01d0: 73 74 72 75 63 74 20 74 61 67 43 4f 4d 50 4f 53  struct tagCOMPOS
01e0: 49 54 49 4f 4e 46 4f 52 4d 20 7b 0d 0a 20 20 44  ITIONFORM {..  D
01f0: 57 4f 52 44 20 64 77 53 74 79 6c 65 3b 0d 0a 20  WORD dwStyle;.. 
0200: 20 50 4f 49 4e 54 20 70 74 43 75 72 72 65 6e 74   POINT ptCurrent
0210: 50 6f 73 3b 0d 0a 20 20 52 45 43 54 20 72 63 41  Pos;..  RECT rcA
0220: 72 65 61 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  rea;..}..alias t
0230: 61 67 43 4f 4d 50 4f 53 49 54 49 4f 4e 46 4f 52  agCOMPOSITIONFOR
0240: 4d 20 43 4f 4d 50 4f 53 49 54 49 4f 4e 46 4f 52  M COMPOSITIONFOR
0250: 4d 3b 0d 0a 61 6c 69 61 73 20 74 61 67 43 4f 4d  M;..alias tagCOM
0260: 50 4f 53 49 54 49 4f 4e 46 4f 52 4d 2a 20 50 43  POSITIONFORM* PC
0270: 4f 4d 50 4f 53 49 54 49 4f 4e 46 4f 52 4d 3b 0d  OMPOSITIONFORM;.
0280: 0a 61 6c 69 61 73 20 74 61 67 43 4f 4d 50 4f 53  .alias tagCOMPOS
0290: 49 54 49 4f 4e 46 4f 52 4d 2a 20 4e 50 43 4f 4d  ITIONFORM* NPCOM
02a0: 50 4f 53 49 54 49 4f 4e 46 4f 52 4d 3b 0d 0a 61  POSITIONFORM;..a
02b0: 6c 69 61 73 20 74 61 67 43 4f 4d 50 4f 53 49 54  lias tagCOMPOSIT
02c0: 49 4f 4e 46 4f 52 4d 2a 20 4c 50 43 4f 4d 50 4f  IONFORM* LPCOMPO
02d0: 53 49 54 49 4f 4e 46 4f 52 4d 3b 0d 0a 0d 0a 73  SITIONFORM;....s
02e0: 74 72 75 63 74 20 74 61 67 43 41 4e 44 49 44 41  truct tagCANDIDA
02f0: 54 45 46 4f 52 4d 20 7b 0d 0a 20 20 44 57 4f 52  TEFORM {..  DWOR
0300: 44 20 64 77 49 6e 64 65 78 3b 0d 0a 20 20 44 57  D dwIndex;..  DW
0310: 4f 52 44 20 64 77 53 74 79 6c 65 3b 0d 0a 20 20  ORD dwStyle;..  
0320: 50 4f 49 4e 54 20 70 74 43 75 72 72 65 6e 74 50  POINT ptCurrentP
0330: 6f 73 3b 0d 0a 20 20 52 45 43 54 20 72 63 41 72  os;..  RECT rcAr
0340: 65 61 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  ea;..}..alias ta
0350: 67 43 41 4e 44 49 44 41 54 45 46 4f 52 4d 20 43  gCANDIDATEFORM C
0360: 41 4e 44 49 44 41 54 45 46 4f 52 4d 3b 0d 0a 61  ANDIDATEFORM;..a
0370: 6c 69 61 73 20 74 61 67 43 41 4e 44 49 44 41 54  lias tagCANDIDAT
0380: 45 46 4f 52 4d 2a 20 50 43 41 4e 44 49 44 41 54  EFORM* PCANDIDAT
0390: 45 46 4f 52 4d 3b 0d 0a 61 6c 69 61 73 20 74 61  EFORM;..alias ta
03a0: 67 43 41 4e 44 49 44 41 54 45 46 4f 52 4d 2a 20  gCANDIDATEFORM* 
03b0: 4e 50 43 41 4e 44 49 44 41 54 45 46 4f 52 4d 3b  NPCANDIDATEFORM;
03c0: 0d 0a 61 6c 69 61 73 20 74 61 67 43 41 4e 44 49  ..alias tagCANDI
03d0: 44 41 54 45 46 4f 52 4d 2a 20 4c 50 43 41 4e 44  DATEFORM* LPCAND
03e0: 49 44 41 54 45 46 4f 52 4d 3b 0d 0a 0d 0a 73 74  IDATEFORM;....st
03f0: 72 75 63 74 20 74 61 67 43 41 4e 44 49 44 41 54  ruct tagCANDIDAT
0400: 45 4c 49 53 54 20 7b 0d 0a 20 20 44 57 4f 52 44  ELIST {..  DWORD
0410: 20 64 77 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52   dwSize;..  DWOR
0420: 44 20 64 77 53 74 79 6c 65 3b 0d 0a 20 20 44 57  D dwStyle;..  DW
0430: 4f 52 44 20 64 77 43 6f 75 6e 74 3b 0d 0a 20 20  ORD dwCount;..  
0440: 44 57 4f 52 44 20 64 77 53 65 6c 65 63 74 69 6f  DWORD dwSelectio
0450: 6e 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 50 61  n;..  DWORD dwPa
0460: 67 65 53 74 61 72 74 3b 0d 0a 20 20 44 57 4f 52  geStart;..  DWOR
0470: 44 20 64 77 50 61 67 65 53 69 7a 65 3b 0d 0a 20  D dwPageSize;.. 
0480: 20 44 57 4f 52 44 20 64 77 4f 66 66 73 65 74 5b   DWORD dwOffset[
0490: 31 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  1];..}..alias ta
04a0: 67 43 41 4e 44 49 44 41 54 45 4c 49 53 54 20 43  gCANDIDATELIST C
04b0: 41 4e 44 49 44 41 54 45 4c 49 53 54 3b 0d 0a 61  ANDIDATELIST;..a
04c0: 6c 69 61 73 20 74 61 67 43 41 4e 44 49 44 41 54  lias tagCANDIDAT
04d0: 45 4c 49 53 54 2a 20 50 43 41 4e 44 49 44 41 54  ELIST* PCANDIDAT
04e0: 45 4c 49 53 54 3b 0d 0a 61 6c 69 61 73 20 74 61  ELIST;..alias ta
04f0: 67 43 41 4e 44 49 44 41 54 45 4c 49 53 54 2a 20  gCANDIDATELIST* 
0500: 4e 50 43 41 4e 44 49 44 41 54 45 4c 49 53 54 3b  NPCANDIDATELIST;
0510: 0d 0a 61 6c 69 61 73 20 74 61 67 43 41 4e 44 49  ..alias tagCANDI
0520: 44 41 54 45 4c 49 53 54 2a 20 4c 50 43 41 4e 44  DATELIST* LPCAND
0530: 49 44 41 54 45 4c 49 53 54 3b 0d 0a 0d 0a 73 74  IDATELIST;....st
0540: 72 75 63 74 20 74 61 67 52 45 47 49 53 54 45 52  ruct tagREGISTER
0550: 57 4f 52 44 41 20 7b 0d 0a 20 20 4c 50 53 54 52  WORDA {..  LPSTR
0560: 20 6c 70 52 65 61 64 69 6e 67 3b 0d 0a 20 20 4c   lpReading;..  L
0570: 50 53 54 52 20 6c 70 57 6f 72 64 3b 0d 0a 7d 0d  PSTR lpWord;..}.
0580: 0a 61 6c 69 61 73 20 74 61 67 52 45 47 49 53 54  .alias tagREGIST
0590: 45 52 57 4f 52 44 41 20 52 45 47 49 53 54 45 52  ERWORDA REGISTER
05a0: 57 4f 52 44 41 3b 0d 0a 61 6c 69 61 73 20 74 61  WORDA;..alias ta
05b0: 67 52 45 47 49 53 54 45 52 57 4f 52 44 41 2a 20  gREGISTERWORDA* 
05c0: 50 52 45 47 49 53 54 45 52 57 4f 52 44 41 3b 0d  PREGISTERWORDA;.
05d0: 0a 61 6c 69 61 73 20 74 61 67 52 45 47 49 53 54  .alias tagREGIST
05e0: 45 52 57 4f 52 44 41 2a 20 4e 50 52 45 47 49 53  ERWORDA* NPREGIS
05f0: 54 45 52 57 4f 52 44 41 3b 0d 0a 61 6c 69 61 73  TERWORDA;..alias
0600: 20 74 61 67 52 45 47 49 53 54 45 52 57 4f 52 44   tagREGISTERWORD
0610: 41 2a 20 4c 50 52 45 47 49 53 54 45 52 57 4f 52  A* LPREGISTERWOR
0620: 44 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61  DA;....struct ta
0630: 67 52 45 47 49 53 54 45 52 57 4f 52 44 57 20 7b  gREGISTERWORDW {
0640: 0d 0a 20 20 4c 50 57 53 54 52 20 6c 70 52 65 61  ..  LPWSTR lpRea
0650: 64 69 6e 67 3b 0d 0a 20 20 4c 50 57 53 54 52 20  ding;..  LPWSTR 
0660: 6c 70 57 6f 72 64 3b 0d 0a 7d 0d 0a 61 6c 69 61  lpWord;..}..alia
0670: 73 20 74 61 67 52 45 47 49 53 54 45 52 57 4f 52  s tagREGISTERWOR
0680: 44 57 20 52 45 47 49 53 54 45 52 57 4f 52 44 57  DW REGISTERWORDW
0690: 3b 0d 0a 61 6c 69 61 73 20 74 61 67 52 45 47 49  ;..alias tagREGI
06a0: 53 54 45 52 57 4f 52 44 57 2a 20 50 52 45 47 49  STERWORDW* PREGI
06b0: 53 54 45 52 57 4f 52 44 57 3b 0d 0a 61 6c 69 61  STERWORDW;..alia
06c0: 73 20 74 61 67 52 45 47 49 53 54 45 52 57 4f 52  s tagREGISTERWOR
06d0: 44 57 2a 20 4e 50 52 45 47 49 53 54 45 52 57 4f  DW* NPREGISTERWO
06e0: 52 44 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 52  RDW;..alias tagR
06f0: 45 47 49 53 54 45 52 57 4f 52 44 57 2a 20 4c 50  EGISTERWORDW* LP
0700: 52 45 47 49 53 54 45 52 57 4f 52 44 57 3b 0d 0a  REGISTERWORDW;..
0710: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
0720: 4f 44 45 0d 0a 61 6c 69 61 73 20 52 45 47 49 53  ODE..alias REGIS
0730: 54 45 52 57 4f 52 44 57 20 52 45 47 49 53 54 45  TERWORDW REGISTE
0740: 52 57 4f 52 44 3b 0d 0a 61 6c 69 61 73 20 50 52  RWORD;..alias PR
0750: 45 47 49 53 54 45 52 57 4f 52 44 57 20 50 52 45  EGISTERWORDW PRE
0760: 47 49 53 54 45 52 57 4f 52 44 3b 0d 0a 61 6c 69  GISTERWORD;..ali
0770: 61 73 20 4e 50 52 45 47 49 53 54 45 52 57 4f 52  as NPREGISTERWOR
0780: 44 57 20 4e 50 52 45 47 49 53 54 45 52 57 4f 52  DW NPREGISTERWOR
0790: 44 3b 0d 0a 61 6c 69 61 73 20 4c 50 52 45 47 49  D;..alias LPREGI
07a0: 53 54 45 52 57 4f 52 44 57 20 4c 50 52 45 47 49  STERWORDW LPREGI
07b0: 53 54 45 52 57 4f 52 44 3b 0d 0a 2f 2f 20 23 65  STERWORD;..// #e
07c0: 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  lse..// .....// 
07d0: 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44  #endif // UNICOD
07e0: 45 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 57 49 4e  E....// #if (WIN
07f0: 56 45 52 20 3e 3d 20 30 78 30 34 30 41 29 0d 0a  VER >= 0x040A)..
0800: 0d 0a 73 74 72 75 63 74 20 74 61 67 52 45 43 4f  ..struct tagRECO
0810: 4e 56 45 52 54 53 54 52 49 4e 47 20 7b 0d 0a 20  NVERTSTRING {.. 
0820: 20 44 57 4f 52 44 20 64 77 53 69 7a 65 3b 0d 0a   DWORD dwSize;..
0830: 20 20 44 57 4f 52 44 20 64 77 56 65 72 73 69 6f    DWORD dwVersio
0840: 6e 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 74  n;..  DWORD dwSt
0850: 72 4c 65 6e 3b 0d 0a 20 20 44 57 4f 52 44 20 64  rLen;..  DWORD d
0860: 77 53 74 72 4f 66 66 73 65 74 3b 0d 0a 20 20 44  wStrOffset;..  D
0870: 57 4f 52 44 20 64 77 43 6f 6d 70 53 74 72 4c 65  WORD dwCompStrLe
0880: 6e 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 43 6f  n;..  DWORD dwCo
0890: 6d 70 53 74 72 4f 66 66 73 65 74 3b 0d 0a 20 20  mpStrOffset;..  
08a0: 44 57 4f 52 44 20 64 77 54 61 72 67 65 74 53 74  DWORD dwTargetSt
08b0: 72 4c 65 6e 3b 0d 0a 20 20 44 57 4f 52 44 20 64  rLen;..  DWORD d
08c0: 77 54 61 72 67 65 74 53 74 72 4f 66 66 73 65 74  wTargetStrOffset
08d0: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 52  ;..}..alias tagR
08e0: 45 43 4f 4e 56 45 52 54 53 54 52 49 4e 47 20 52  ECONVERTSTRING R
08f0: 45 43 4f 4e 56 45 52 54 53 54 52 49 4e 47 3b 0d  ECONVERTSTRING;.
0900: 0a 61 6c 69 61 73 20 74 61 67 52 45 43 4f 4e 56  .alias tagRECONV
0910: 45 52 54 53 54 52 49 4e 47 2a 20 50 52 45 43 4f  ERTSTRING* PRECO
0920: 4e 56 45 52 54 53 54 52 49 4e 47 3b 0d 0a 61 6c  NVERTSTRING;..al
0930: 69 61 73 20 74 61 67 52 45 43 4f 4e 56 45 52 54  ias tagRECONVERT
0940: 53 54 52 49 4e 47 2a 20 4e 50 52 45 43 4f 4e 56  STRING* NPRECONV
0950: 45 52 54 53 54 52 49 4e 47 3b 0d 0a 61 6c 69 61  ERTSTRING;..alia
0960: 73 20 74 61 67 52 45 43 4f 4e 56 45 52 54 53 54  s tagRECONVERTST
0970: 52 49 4e 47 2a 20 4c 50 52 45 43 4f 4e 56 45 52  RING* LPRECONVER
0980: 54 53 54 52 49 4e 47 3b 0d 0a 0d 0a 2f 2f 20 23  TSTRING;....// #
0990: 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20  endif /* WINVER 
09a0: 3e 3d 20 30 78 30 34 30 41 20 2a 2f 0d 0a 0d 0a  >= 0x040A */....
09b0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 54  enum : uint { ST
09c0: 59 4c 45 5f 44 45 53 43 52 49 50 54 49 4f 4e 5f  YLE_DESCRIPTION_
09d0: 53 49 5a 45 20 3d 20 33 32 20 7d 0d 0a 0d 0a 73  SIZE = 32 }....s
09e0: 74 72 75 63 74 20 74 61 67 53 54 59 4c 45 42 55  truct tagSTYLEBU
09f0: 46 41 20 7b 0d 0a 20 20 44 57 4f 52 44 20 64 77  FA {..  DWORD dw
0a00: 53 74 79 6c 65 3b 0d 0a 20 20 43 48 41 52 20 73  Style;..  CHAR s
0a10: 7a 44 65 73 63 72 69 70 74 69 6f 6e 5b 53 54 59  zDescription[STY
0a20: 4c 45 5f 44 45 53 43 52 49 50 54 49 4f 4e 5f 53  LE_DESCRIPTION_S
0a30: 49 5a 45 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  IZE];..}..alias 
0a40: 74 61 67 53 54 59 4c 45 42 55 46 41 20 53 54 59  tagSTYLEBUFA STY
0a50: 4c 45 42 55 46 41 3b 0d 0a 61 6c 69 61 73 20 74  LEBUFA;..alias t
0a60: 61 67 53 54 59 4c 45 42 55 46 41 2a 20 50 53 54  agSTYLEBUFA* PST
0a70: 59 4c 45 42 55 46 41 3b 0d 0a 61 6c 69 61 73 20  YLEBUFA;..alias 
0a80: 74 61 67 53 54 59 4c 45 42 55 46 41 2a 20 4e 50  tagSTYLEBUFA* NP
0a90: 53 54 59 4c 45 42 55 46 41 3b 0d 0a 61 6c 69 61  STYLEBUFA;..alia
0aa0: 73 20 74 61 67 53 54 59 4c 45 42 55 46 41 2a 20  s tagSTYLEBUFA* 
0ab0: 4c 50 53 54 59 4c 45 42 55 46 41 3b 0d 0a 0d 0a  LPSTYLEBUFA;....
0ac0: 73 74 72 75 63 74 20 74 61 67 53 54 59 4c 45 42  struct tagSTYLEB
0ad0: 55 46 57 20 7b 0d 0a 20 20 44 57 4f 52 44 20 64  UFW {..  DWORD d
0ae0: 77 53 74 79 6c 65 3b 0d 0a 20 20 57 43 48 41 52  wStyle;..  WCHAR
0af0: 20 73 7a 44 65 73 63 72 69 70 74 69 6f 6e 5b 53   szDescription[S
0b00: 54 59 4c 45 5f 44 45 53 43 52 49 50 54 49 4f 4e  TYLE_DESCRIPTION
0b10: 5f 53 49 5a 45 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61  _SIZE];..}..alia
0b20: 73 20 74 61 67 53 54 59 4c 45 42 55 46 57 20 53  s tagSTYLEBUFW S
0b30: 54 59 4c 45 42 55 46 57 3b 0d 0a 61 6c 69 61 73  TYLEBUFW;..alias
0b40: 20 74 61 67 53 54 59 4c 45 42 55 46 57 2a 20 50   tagSTYLEBUFW* P
0b50: 53 54 59 4c 45 42 55 46 57 3b 0d 0a 61 6c 69 61  STYLEBUFW;..alia
0b60: 73 20 74 61 67 53 54 59 4c 45 42 55 46 57 2a 20  s tagSTYLEBUFW* 
0b70: 4e 50 53 54 59 4c 45 42 55 46 57 3b 0d 0a 61 6c  NPSTYLEBUFW;..al
0b80: 69 61 73 20 74 61 67 53 54 59 4c 45 42 55 46 57  ias tagSTYLEBUFW
0b90: 2a 20 4c 50 53 54 59 4c 45 42 55 46 57 3b 0d 0a  * LPSTYLEBUFW;..
0ba0: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
0bb0: 4f 44 45 0d 0a 61 6c 69 61 73 20 53 54 59 4c 45  ODE..alias STYLE
0bc0: 42 55 46 57 20 53 54 59 4c 45 42 55 46 3b 0d 0a  BUFW STYLEBUF;..
0bd0: 61 6c 69 61 73 20 50 53 54 59 4c 45 42 55 46 57  alias PSTYLEBUFW
0be0: 20 50 53 54 59 4c 45 42 55 46 3b 0d 0a 61 6c 69   PSTYLEBUF;..ali
0bf0: 61 73 20 4e 50 53 54 59 4c 45 42 55 46 57 20 4e  as NPSTYLEBUFW N
0c00: 50 53 54 59 4c 45 42 55 46 3b 0d 0a 61 6c 69 61  PSTYLEBUF;..alia
0c10: 73 20 4c 50 53 54 59 4c 45 42 55 46 57 20 4c 50  s LPSTYLEBUFW LP
0c20: 53 54 59 4c 45 42 55 46 3b 0d 0a 2f 2f 20 23 65  STYLEBUF;..// #e
0c30: 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  lse..// .....// 
0c40: 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44  #endif // UNICOD
0c50: 45 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 57 49 4e  E....// #if (WIN
0c60: 56 45 52 20 3e 3d 20 30 78 30 34 30 41 29 0d 0a  VER >= 0x040A)..
0c70: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
0c80: 49 4d 45 4d 45 4e 55 49 54 45 4d 5f 53 54 52 49  IMEMENUITEM_STRI
0c90: 4e 47 5f 53 49 5a 45 20 3d 20 38 30 20 7d 0d 0a  NG_SIZE = 80 }..
0ca0: 0d 0a 73 74 72 75 63 74 20 74 61 67 49 4d 45 4d  ..struct tagIMEM
0cb0: 45 4e 55 49 54 45 4d 49 4e 46 4f 41 20 7b 0d 0a  ENUITEMINFOA {..
0cc0: 20 20 55 49 4e 54 20 63 62 53 69 7a 65 3b 0d 0a    UINT cbSize;..
0cd0: 20 20 55 49 4e 54 20 66 54 79 70 65 3b 0d 0a 20    UINT fType;.. 
0ce0: 20 55 49 4e 54 20 66 53 74 61 74 65 3b 0d 0a 20   UINT fState;.. 
0cf0: 20 55 49 4e 54 20 77 49 44 3b 0d 0a 20 20 48 42   UINT wID;..  HB
0d00: 49 54 4d 41 50 20 68 62 6d 70 43 68 65 63 6b 65  ITMAP hbmpChecke
0d10: 64 3b 0d 0a 20 20 48 42 49 54 4d 41 50 20 68 62  d;..  HBITMAP hb
0d20: 6d 70 55 6e 63 68 65 63 6b 65 64 3b 0d 0a 20 20  mpUnchecked;..  
0d30: 44 57 4f 52 44 20 64 77 49 74 65 6d 44 61 74 61  DWORD dwItemData
0d40: 3b 0d 0a 20 20 43 48 41 52 20 73 7a 53 74 72 69  ;..  CHAR szStri
0d50: 6e 67 5b 49 4d 45 4d 45 4e 55 49 54 45 4d 5f 53  ng[IMEMENUITEM_S
0d60: 54 52 49 4e 47 5f 53 49 5a 45 5d 3b 0d 0a 20 20  TRING_SIZE];..  
0d70: 48 42 49 54 4d 41 50 20 68 62 6d 70 49 74 65 6d  HBITMAP hbmpItem
0d80: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 49  ;..}..alias tagI
0d90: 4d 45 4d 45 4e 55 49 54 45 4d 49 4e 46 4f 41 20  MEMENUITEMINFOA 
0da0: 49 4d 45 4d 45 4e 55 49 54 45 4d 49 4e 46 4f 41  IMEMENUITEMINFOA
0db0: 3b 0d 0a 61 6c 69 61 73 20 74 61 67 49 4d 45 4d  ;..alias tagIMEM
0dc0: 45 4e 55 49 54 45 4d 49 4e 46 4f 41 2a 20 50 49  ENUITEMINFOA* PI
0dd0: 4d 45 4d 45 4e 55 49 54 45 4d 49 4e 46 4f 41 3b  MEMENUITEMINFOA;
0de0: 0d 0a 61 6c 69 61 73 20 74 61 67 49 4d 45 4d 45  ..alias tagIMEME
0df0: 4e 55 49 54 45 4d 49 4e 46 4f 41 2a 20 4e 50 49  NUITEMINFOA* NPI
0e00: 4d 45 4d 45 4e 55 49 54 45 4d 49 4e 46 4f 41 3b  MEMENUITEMINFOA;
0e10: 0d 0a 61 6c 69 61 73 20 74 61 67 49 4d 45 4d 45  ..alias tagIMEME
0e20: 4e 55 49 54 45 4d 49 4e 46 4f 41 2a 20 4c 50 49  NUITEMINFOA* LPI
0e30: 4d 45 4d 45 4e 55 49 54 45 4d 49 4e 46 4f 41 3b  MEMENUITEMINFOA;
0e40: 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 49 4d  ....struct tagIM
0e50: 45 4d 45 4e 55 49 54 45 4d 49 4e 46 4f 57 20 7b  EMENUITEMINFOW {
0e60: 0d 0a 20 20 55 49 4e 54 20 63 62 53 69 7a 65 3b  ..  UINT cbSize;
0e70: 0d 0a 20 20 55 49 4e 54 20 66 54 79 70 65 3b 0d  ..  UINT fType;.
0e80: 0a 20 20 55 49 4e 54 20 66 53 74 61 74 65 3b 0d  .  UINT fState;.
0e90: 0a 20 20 55 49 4e 54 20 77 49 44 3b 0d 0a 20 20  .  UINT wID;..  
0ea0: 48 42 49 54 4d 41 50 20 68 62 6d 70 43 68 65 63  HBITMAP hbmpChec
0eb0: 6b 65 64 3b 0d 0a 20 20 48 42 49 54 4d 41 50 20  ked;..  HBITMAP 
0ec0: 68 62 6d 70 55 6e 63 68 65 63 6b 65 64 3b 0d 0a  hbmpUnchecked;..
0ed0: 20 20 44 57 4f 52 44 20 64 77 49 74 65 6d 44 61    DWORD dwItemDa
0ee0: 74 61 3b 0d 0a 20 20 57 43 48 41 52 20 73 7a 53  ta;..  WCHAR szS
0ef0: 74 72 69 6e 67 5b 49 4d 45 4d 45 4e 55 49 54 45  tring[IMEMENUITE
0f00: 4d 5f 53 54 52 49 4e 47 5f 53 49 5a 45 5d 3b 0d  M_STRING_SIZE];.
0f10: 0a 20 20 48 42 49 54 4d 41 50 20 68 62 6d 70 49  .  HBITMAP hbmpI
0f20: 74 65 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  tem;..}..alias t
0f30: 61 67 49 4d 45 4d 45 4e 55 49 54 45 4d 49 4e 46  agIMEMENUITEMINF
0f40: 4f 57 20 49 4d 45 4d 45 4e 55 49 54 45 4d 49 4e  OW IMEMENUITEMIN
0f50: 46 4f 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 49  FOW;..alias tagI
0f60: 4d 45 4d 45 4e 55 49 54 45 4d 49 4e 46 4f 57 2a  MEMENUITEMINFOW*
0f70: 20 50 49 4d 45 4d 45 4e 55 49 54 45 4d 49 4e 46   PIMEMENUITEMINF
0f80: 4f 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 49 4d  OW;..alias tagIM
0f90: 45 4d 45 4e 55 49 54 45 4d 49 4e 46 4f 57 2a 20  EMENUITEMINFOW* 
0fa0: 4e 50 49 4d 45 4d 45 4e 55 49 54 45 4d 49 4e 46  NPIMEMENUITEMINF
0fb0: 4f 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 49 4d  OW;..alias tagIM
0fc0: 45 4d 45 4e 55 49 54 45 4d 49 4e 46 4f 57 2a 20  EMENUITEMINFOW* 
0fd0: 4c 50 49 4d 45 4d 45 4e 55 49 54 45 4d 49 4e 46  LPIMEMENUITEMINF
0fe0: 4f 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  OW;....// #ifdef
0ff0: 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20   UNICODE..alias 
1000: 49 4d 45 4d 45 4e 55 49 54 45 4d 49 4e 46 4f 57  IMEMENUITEMINFOW
1010: 20 49 4d 45 4d 45 4e 55 49 54 45 4d 49 4e 46 4f   IMEMENUITEMINFO
1020: 3b 0d 0a 61 6c 69 61 73 20 50 49 4d 45 4d 45 4e  ;..alias PIMEMEN
1030: 55 49 54 45 4d 49 4e 46 4f 57 20 50 49 4d 45 4d  UITEMINFOW PIMEM
1040: 45 4e 55 49 54 45 4d 49 4e 46 4f 3b 0d 0a 61 6c  ENUITEMINFO;..al
1050: 69 61 73 20 4e 50 49 4d 45 4d 45 4e 55 49 54 45  ias NPIMEMENUITE
1060: 4d 49 4e 46 4f 57 20 4e 50 49 4d 45 4d 45 4e 55  MINFOW NPIMEMENU
1070: 49 54 45 4d 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73  ITEMINFO;..alias
1080: 20 4c 50 49 4d 45 4d 45 4e 55 49 54 45 4d 49 4e   LPIMEMENUITEMIN
1090: 46 4f 57 20 4c 50 49 4d 45 4d 45 4e 55 49 54 45  FOW LPIMEMENUITE
10a0: 4d 49 4e 46 4f 3b 0d 0a 2f 2f 20 23 65 6c 73 65  MINFO;..// #else
10b0: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  ..// .....// #en
10c0: 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a  dif // UNICODE..
10d0: 0d 0a 73 74 72 75 63 74 20 74 61 67 49 4d 45 43  ..struct tagIMEC
10e0: 48 41 52 50 4f 53 49 54 49 4f 4e 20 7b 0d 0a 20  HARPOSITION {.. 
10f0: 20 44 57 4f 52 44 20 64 77 53 69 7a 65 3b 0d 0a   DWORD dwSize;..
1100: 20 20 44 57 4f 52 44 20 64 77 43 68 61 72 50 6f    DWORD dwCharPo
1110: 73 3b 0d 0a 20 20 50 4f 49 4e 54 20 70 74 3b 0d  s;..  POINT pt;.
1120: 0a 20 20 55 49 4e 54 20 63 4c 69 6e 65 48 65 69  .  UINT cLineHei
1130: 67 68 74 3b 0d 0a 20 20 52 45 43 54 20 72 63 44  ght;..  RECT rcD
1140: 6f 63 75 6d 65 6e 74 3b 0d 0a 7d 0d 0a 61 6c 69  ocument;..}..ali
1150: 61 73 20 74 61 67 49 4d 45 43 48 41 52 50 4f 53  as tagIMECHARPOS
1160: 49 54 49 4f 4e 20 49 4d 45 43 48 41 52 50 4f 53  ITION IMECHARPOS
1170: 49 54 49 4f 4e 3b 0d 0a 61 6c 69 61 73 20 74 61  ITION;..alias ta
1180: 67 49 4d 45 43 48 41 52 50 4f 53 49 54 49 4f 4e  gIMECHARPOSITION
1190: 2a 20 50 49 4d 45 43 48 41 52 50 4f 53 49 54 49  * PIMECHARPOSITI
11a0: 4f 4e 3b 0d 0a 61 6c 69 61 73 20 74 61 67 49 4d  ON;..alias tagIM
11b0: 45 43 48 41 52 50 4f 53 49 54 49 4f 4e 2a 20 4e  ECHARPOSITION* N
11c0: 50 49 4d 45 43 48 41 52 50 4f 53 49 54 49 4f 4e  PIMECHARPOSITION
11d0: 3b 0d 0a 61 6c 69 61 73 20 74 61 67 49 4d 45 43  ;..alias tagIMEC
11e0: 48 41 52 50 4f 53 49 54 49 4f 4e 2a 20 4c 50 49  HARPOSITION* LPI
11f0: 4d 45 43 48 41 52 50 4f 53 49 54 49 4f 4e 3b 0d  MECHARPOSITION;.
1200: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
1210: 73 29 20 61 6c 69 61 73 20 42 4f 4f 4c 20 66 75  s) alias BOOL fu
1220: 6e 63 74 69 6f 6e 28 48 49 4d 43 2c 20 4c 50 41  nction(HIMC, LPA
1230: 52 41 4d 29 20 49 4d 43 45 4e 55 4d 50 52 4f 43  RAM) IMCENUMPROC
1240: 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  ;....// #endif /
1250: 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  * WINVER >= 0x04
1260: 30 41 20 2a 2f 0d 0a 0d 0a 65 78 74 65 72 6e 28  0A */....extern(
1270: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
1280: 48 4b 4c 20 49 6d 6d 49 6e 73 74 61 6c 6c 49 4d  HKL ImmInstallIM
1290: 45 41 28 20 4c 50 43 53 54 52 20 6c 70 73 7a 49  EA( LPCSTR lpszI
12a0: 4d 45 46 69 6c 65 4e 61 6d 65 2c 20 20 4c 50 43  MEFileName,  LPC
12b0: 53 54 52 20 6c 70 73 7a 4c 61 79 6f 75 74 54 65  STR lpszLayoutTe
12c0: 78 74 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  xt);..extern(Win
12d0: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 4b 4c  dows) export HKL
12e0: 20 49 6d 6d 49 6e 73 74 61 6c 6c 49 4d 45 57 28   ImmInstallIMEW(
12f0: 20 4c 50 43 57 53 54 52 20 6c 70 73 7a 49 4d 45   LPCWSTR lpszIME
1300: 46 69 6c 65 4e 61 6d 65 2c 20 20 4c 50 43 57 53  FileName,  LPCWS
1310: 54 52 20 6c 70 73 7a 4c 61 79 6f 75 74 54 65 78  TR lpszLayoutTex
1320: 74 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  t);..// #ifdef U
1330: 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 49 6d  NICODE..alias Im
1340: 6d 49 6e 73 74 61 6c 6c 49 4d 45 57 20 49 6d 6d  mInstallIMEW Imm
1350: 49 6e 73 74 61 6c 6c 49 4d 45 3b 0d 0a 2f 2f 20  InstallIME;..// 
1360: 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
1370: 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e  // #endif // !UN
1380: 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28  ICODE....extern(
1390: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
13a0: 48 57 4e 44 20 49 6d 6d 47 65 74 44 65 66 61 75  HWND ImmGetDefau
13b0: 6c 74 49 4d 45 57 6e 64 28 20 48 57 4e 44 29 3b  ltIMEWnd( HWND);
13c0: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
13d0: 77 73 29 20 65 78 70 6f 72 74 20 55 49 4e 54 20  ws) export UINT 
13e0: 49 6d 6d 47 65 74 44 65 73 63 72 69 70 74 69 6f  ImmGetDescriptio
13f0: 6e 41 28 20 48 4b 4c 2c 20 20 4c 50 53 54 52 2c  nA( HKL,  LPSTR,
1400: 20 20 55 49 4e 54 20 75 42 75 66 4c 65 6e 29 3b    UINT uBufLen);
1410: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
1420: 29 20 65 78 70 6f 72 74 20 55 49 4e 54 20 49 6d  ) export UINT Im
1430: 6d 47 65 74 44 65 73 63 72 69 70 74 69 6f 6e 57  mGetDescriptionW
1440: 28 20 48 4b 4c 2c 20 20 4c 50 57 53 54 52 2c 20  ( HKL,  LPWSTR, 
1450: 20 55 49 4e 54 20 75 42 75 66 4c 65 6e 29 3b 0d   UINT uBufLen);.
1460: 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
1470: 44 45 0d 0a 61 6c 69 61 73 20 49 6d 6d 47 65 74  DE..alias ImmGet
1480: 44 65 73 63 72 69 70 74 69 6f 6e 57 20 49 6d 6d  DescriptionW Imm
1490: 47 65 74 44 65 73 63 72 69 70 74 69 6f 6e 3b 0d  GetDescription;.
14a0: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
14b0: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  ....// #endif //
14c0: 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74   !UNICODE....ext
14d0: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
14e0: 6f 72 74 20 55 49 4e 54 20 49 6d 6d 47 65 74 49  ort UINT ImmGetI
14f0: 4d 45 46 69 6c 65 4e 61 6d 65 41 28 20 48 4b 4c  MEFileNameA( HKL
1500: 2c 20 20 4c 50 53 54 52 2c 20 20 55 49 4e 54 20  ,  LPSTR,  UINT 
1510: 75 42 75 66 4c 65 6e 29 3b 0d 0a 65 78 74 65 72  uBufLen);..exter
1520: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
1530: 74 20 55 49 4e 54 20 49 6d 6d 47 65 74 49 4d 45  t UINT ImmGetIME
1540: 46 69 6c 65 4e 61 6d 65 57 28 20 48 4b 4c 2c 20  FileNameW( HKL, 
1550: 20 4c 50 57 53 54 52 2c 20 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 61 6c 69  def UNICODE..ali
1580: 61 73 20 49 6d 6d 47 65 74 49 4d 45 46 69 6c 65  as ImmGetIMEFile
1590: 4e 61 6d 65 57 20 49 6d 6d 47 65 74 49 4d 45 46  NameW ImmGetIMEF
15a0: 69 6c 65 4e 61 6d 65 3b 0d 0a 2f 2f 20 23 65 6c  ileName;..// #el
15b0: 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
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 20 44 57 4f 52 44 29 3b  y( HKL,  DWORD);
1610: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
1620: 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
1630: 49 6d 6d 49 73 49 4d 45 28 20 48 4b 4c 29 3b 0d  ImmIsIME( HKL);.
1640: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
1650: 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49  s) export BOOL I
1660: 6d 6d 53 69 6d 75 6c 61 74 65 48 6f 74 4b 65 79  mmSimulateHotKey
1670: 28 20 48 57 4e 44 2c 20 20 44 57 4f 52 44 29 3b  ( HWND,  DWORD);
1680: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
1690: 77 73 29 20 65 78 70 6f 72 74 20 48 49 4d 43 20  ws) export HIMC 
16a0: 49 6d 6d 43 72 65 61 74 65 43 6f 6e 74 65 78 74  ImmCreateContext
16b0: 28 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ();..extern(Wind
16c0: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
16d0: 20 49 6d 6d 44 65 73 74 72 6f 79 43 6f 6e 74 65   ImmDestroyConte
16e0: 78 74 28 20 48 49 4d 43 29 3b 0d 0a 65 78 74 65  xt( HIMC);..exte
16f0: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
1700: 72 74 20 48 49 4d 43 20 49 6d 6d 47 65 74 43 6f  rt HIMC ImmGetCo
1710: 6e 74 65 78 74 28 20 48 57 4e 44 29 3b 0d 0a 65  ntext( HWND);..e
1720: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
1730: 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6d 6d 52 65  xport BOOL ImmRe
1740: 6c 65 61 73 65 43 6f 6e 74 65 78 74 28 20 48 57  leaseContext( HW
1750: 4e 44 2c 20 20 48 49 4d 43 29 3b 0d 0a 65 78 74  ND,  HIMC);..ext
1760: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
1770: 6f 72 74 20 48 49 4d 43 20 49 6d 6d 41 73 73 6f  ort HIMC ImmAsso
1780: 63 69 61 74 65 43 6f 6e 74 65 78 74 28 20 48 57  ciateContext( HW
1790: 4e 44 2c 20 20 48 49 4d 43 29 3b 0d 0a 2f 2f 20  ND,  HIMC);..// 
17a0: 23 69 66 20 28 57 49 4e 56 45 52 20 3e 3d 20 30  #if (WINVER >= 0
17b0: 78 30 34 30 41 29 0d 0a 65 78 74 65 72 6e 28 57  x040A)..extern(W
17c0: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
17d0: 4f 4f 4c 20 49 6d 6d 41 73 73 6f 63 69 61 74 65  OOL ImmAssociate
17e0: 43 6f 6e 74 65 78 74 45 78 28 20 48 57 4e 44 2c  ContextEx( HWND,
17f0: 20 20 48 49 4d 43 2c 20 20 44 57 4f 52 44 29 3b    HIMC,  DWORD);
1800: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57  ..// #endif /* W
1810: 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 41 20  INVER >= 0x040A 
1820: 2a 2f 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  */....extern(Win
1830: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4c 4f 4e  dows) export LON
1840: 47 20 49 6d 6d 47 65 74 43 6f 6d 70 6f 73 69 74  G ImmGetComposit
1850: 69 6f 6e 53 74 72 69 6e 67 41 28 20 48 49 4d 43  ionStringA( HIMC
1860: 2c 20 20 44 57 4f 52 44 2c 20 20 4c 50 56 4f 49  ,  DWORD,  LPVOI
1870: 44 2c 20 20 44 57 4f 52 44 29 3b 0d 0a 65 78 74  D,  DWORD);..ext
1880: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
1890: 6f 72 74 20 4c 4f 4e 47 20 49 6d 6d 47 65 74 43  ort LONG ImmGetC
18a0: 6f 6d 70 6f 73 69 74 69 6f 6e 53 74 72 69 6e 67  ompositionString
18b0: 57 28 20 48 49 4d 43 2c 20 20 44 57 4f 52 44 2c  W( HIMC,  DWORD,
18c0: 20 20 4c 50 56 4f 49 44 2c 20 20 44 57 4f 52 44    LPVOID,  DWORD
18d0: 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  );..// #ifdef UN
18e0: 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 49 6d 6d  ICODE..alias Imm
18f0: 47 65 74 43 6f 6d 70 6f 73 69 74 69 6f 6e 53 74  GetCompositionSt
1900: 72 69 6e 67 57 20 49 6d 6d 47 65 74 43 6f 6d 70  ringW ImmGetComp
1910: 6f 73 69 74 69 6f 6e 53 74 72 69 6e 67 3b 0d 0a  ositionString;..
1920: 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
1930: 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ...// #endif // 
1940: 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65  !UNICODE....exte
1950: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
1960: 72 74 20 42 4f 4f 4c 20 49 6d 6d 53 65 74 43 6f  rt BOOL ImmSetCo
1970: 6d 70 6f 73 69 74 69 6f 6e 53 74 72 69 6e 67 41  mpositionStringA
1980: 28 20 48 49 4d 43 2c 20 20 44 57 4f 52 44 20 64  ( HIMC,  DWORD d
1990: 77 49 6e 64 65 78 2c 20 20 4c 50 56 4f 49 44 20  wIndex,  LPVOID 
19a0: 6c 70 43 6f 6d 70 2c 20 20 44 57 4f 52 44 2c 20  lpComp,  DWORD, 
19b0: 20 4c 50 56 4f 49 44 20 6c 70 52 65 61 64 2c 20   LPVOID lpRead, 
19c0: 20 44 57 4f 52 44 29 3b 0d 0a 65 78 74 65 72 6e   DWORD);..extern
19d0: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
19e0: 20 42 4f 4f 4c 20 49 6d 6d 53 65 74 43 6f 6d 70   BOOL ImmSetComp
19f0: 6f 73 69 74 69 6f 6e 53 74 72 69 6e 67 57 28 20  ositionStringW( 
1a00: 48 49 4d 43 2c 20 20 44 57 4f 52 44 20 64 77 49  HIMC,  DWORD dwI
1a10: 6e 64 65 78 2c 20 20 4c 50 56 4f 49 44 20 6c 70  ndex,  LPVOID lp
1a20: 43 6f 6d 70 2c 20 20 44 57 4f 52 44 2c 20 20 4c  Comp,  DWORD,  L
1a30: 50 56 4f 49 44 20 6c 70 52 65 61 64 2c 20 20 44  PVOID lpRead,  D
1a40: 57 4f 52 44 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  WORD);..// #ifde
1a50: 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
1a60: 20 49 6d 6d 53 65 74 43 6f 6d 70 6f 73 69 74 69   ImmSetCompositi
1a70: 6f 6e 53 74 72 69 6e 67 57 20 49 6d 6d 53 65 74  onStringW ImmSet
1a80: 43 6f 6d 70 6f 73 69 74 69 6f 6e 53 74 72 69 6e  CompositionStrin
1a90: 67 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  g;..// #else..//
1aa0: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
1ab0: 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a   // !UNICODE....
1ac0: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
1ad0: 65 78 70 6f 72 74 20 44 57 4f 52 44 20 49 6d 6d  export DWORD Imm
1ae0: 47 65 74 43 61 6e 64 69 64 61 74 65 4c 69 73 74  GetCandidateList
1af0: 43 6f 75 6e 74 41 28 20 48 49 4d 43 2c 20 20 4c  CountA( HIMC,  L
1b00: 50 44 57 4f 52 44 20 6c 70 64 77 4c 69 73 74 43  PDWORD lpdwListC
1b10: 6f 75 6e 74 29 3b 0d 0a 65 78 74 65 72 6e 28 57  ount);..extern(W
1b20: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 44  indows) export D
1b30: 57 4f 52 44 20 49 6d 6d 47 65 74 43 61 6e 64 69  WORD ImmGetCandi
1b40: 64 61 74 65 4c 69 73 74 43 6f 75 6e 74 57 28 20  dateListCountW( 
1b50: 48 49 4d 43 2c 20 20 4c 50 44 57 4f 52 44 20 6c  HIMC,  LPDWORD l
1b60: 70 64 77 4c 69 73 74 43 6f 75 6e 74 29 3b 0d 0a  pdwListCount);..
1b70: 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
1b80: 45 0d 0a 61 6c 69 61 73 20 49 6d 6d 47 65 74 43  E..alias ImmGetC
1b90: 61 6e 64 69 64 61 74 65 4c 69 73 74 43 6f 75 6e  andidateListCoun
1ba0: 74 57 20 49 6d 6d 47 65 74 43 61 6e 64 69 64 61  tW ImmGetCandida
1bb0: 74 65 4c 69 73 74 43 6f 75 6e 74 3b 0d 0a 2f 2f  teListCount;..//
1bc0: 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
1bd0: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
1be0: 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e  NICODE....extern
1bf0: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
1c00: 20 44 57 4f 52 44 20 49 6d 6d 47 65 74 43 61 6e   DWORD ImmGetCan
1c10: 64 69 64 61 74 65 4c 69 73 74 41 28 20 48 49 4d  didateListA( HIM
1c20: 43 2c 20 20 44 57 4f 52 44 20 64 65 49 6e 64 65  C,  DWORD deInde
1c30: 78 2c 20 20 4c 50 43 41 4e 44 49 44 41 54 45 4c  x,  LPCANDIDATEL
1c40: 49 53 54 2c 20 20 44 57 4f 52 44 20 64 77 42 75  IST,  DWORD dwBu
1c50: 66 4c 65 6e 29 3b 0d 0a 65 78 74 65 72 6e 28 57  fLen);..extern(W
1c60: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 44  indows) export D
1c70: 57 4f 52 44 20 49 6d 6d 47 65 74 43 61 6e 64 69  WORD ImmGetCandi
1c80: 64 61 74 65 4c 69 73 74 57 28 20 48 49 4d 43 2c  dateListW( HIMC,
1c90: 20 20 44 57 4f 52 44 20 64 65 49 6e 64 65 78 2c    DWORD deIndex,
1ca0: 20 20 4c 50 43 41 4e 44 49 44 41 54 45 4c 49 53    LPCANDIDATELIS
1cb0: 54 2c 20 20 44 57 4f 52 44 20 64 77 42 75 66 4c  T,  DWORD dwBufL
1cc0: 65 6e 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20  en);..// #ifdef 
1cd0: 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 49  UNICODE..alias I
1ce0: 6d 6d 47 65 74 43 61 6e 64 69 64 61 74 65 4c 69  mmGetCandidateLi
1cf0: 73 74 57 20 49 6d 6d 47 65 74 43 61 6e 64 69 64  stW ImmGetCandid
1d00: 61 74 65 4c 69 73 74 3b 0d 0a 2f 2f 20 23 65 6c  ateList;..// #el
1d10: 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
1d20: 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
1d30: 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  DE....extern(Win
1d40: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 44 57 4f  dows) export DWO
1d50: 52 44 20 49 6d 6d 47 65 74 47 75 69 64 65 4c 69  RD ImmGetGuideLi
1d60: 6e 65 41 28 20 48 49 4d 43 2c 20 20 44 57 4f 52  neA( HIMC,  DWOR
1d70: 44 20 64 77 49 6e 64 65 78 2c 20 20 4c 50 53 54  D dwIndex,  LPST
1d80: 52 2c 20 20 44 57 4f 52 44 20 64 77 42 75 66 4c  R,  DWORD dwBufL
1d90: 65 6e 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  en);..extern(Win
1da0: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 44 57 4f  dows) export DWO
1db0: 52 44 20 49 6d 6d 47 65 74 47 75 69 64 65 4c 69  RD ImmGetGuideLi
1dc0: 6e 65 57 28 20 48 49 4d 43 2c 20 20 44 57 4f 52  neW( HIMC,  DWOR
1dd0: 44 20 64 77 49 6e 64 65 78 2c 20 20 4c 50 57 53  D dwIndex,  LPWS
1de0: 54 52 2c 20 20 44 57 4f 52 44 20 64 77 42 75 66  TR,  DWORD dwBuf
1df0: 4c 65 6e 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66  Len);..// #ifdef
1e00: 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20   UNICODE..alias 
1e10: 49 6d 6d 47 65 74 47 75 69 64 65 4c 69 6e 65 57  ImmGetGuideLineW
1e20: 20 49 6d 6d 47 65 74 47 75 69 64 65 4c 69 6e 65   ImmGetGuideLine
1e30: 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ;..// #else..// 
1e40: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  #.....// #endif 
1e50: 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65  // !UNICODE....e
1e60: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
1e70: 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6d 6d 47 65  xport BOOL ImmGe
1e80: 74 43 6f 6e 76 65 72 73 69 6f 6e 53 74 61 74 75  tConversionStatu
1e90: 73 28 20 48 49 4d 43 2c 20 20 4c 50 44 57 4f 52  s( HIMC,  LPDWOR
1ea0: 44 2c 20 20 4c 50 44 57 4f 52 44 29 3b 0d 0a 65  D,  LPDWORD);..e
1eb0: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
1ec0: 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6d 6d 53 65  xport BOOL ImmSe
1ed0: 74 43 6f 6e 76 65 72 73 69 6f 6e 53 74 61 74 75  tConversionStatu
1ee0: 73 28 20 48 49 4d 43 2c 20 20 44 57 4f 52 44 2c  s( HIMC,  DWORD,
1ef0: 20 20 44 57 4f 52 44 29 3b 0d 0a 65 78 74 65 72    DWORD);..exter
1f00: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
1f10: 74 20 42 4f 4f 4c 20 49 6d 6d 47 65 74 4f 70 65  t BOOL ImmGetOpe
1f20: 6e 53 74 61 74 75 73 28 20 48 49 4d 43 29 3b 0d  nStatus( HIMC);.
1f30: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
1f40: 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6d 6d   export BOOL Imm
1f50: 53 65 74 4f 70 65 6e 53 74 61 74 75 73 28 20 48  SetOpenStatus( H
1f60: 49 4d 43 2c 20 20 42 4f 4f 4c 29 3b 0d 0a 0d 0a  IMC,  BOOL);....
1f70: 2f 2f 20 23 69 66 20 64 65 66 69 6e 65 64 28 5f  // #if defined(_
1f80: 57 49 4e 47 44 49 5f 29 20 26 26 20 21 64 65 66  WINGDI_) && !def
1f90: 69 6e 65 64 28 4e 4f 47 44 49 29 0d 0a 2f 2f 20  ined(NOGDI)..// 
1fa0: 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  .....// #ifdef U
1fb0: 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d  NICODE..// #....
1fc0: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
1fd0: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  ....// #endif //
1fe0: 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20   !UNICODE....// 
1ff0: 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  .....// #ifdef U
2000: 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d  NICODE..// #....
2010: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
2020: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  ....// #endif //
2030: 20 21 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 65   !UNICODE..// #e
2040: 6e 64 69 66 20 20 2f 2f 20 64 65 66 69 6e 65 64  ndif  // defined
2050: 28 5f 57 49 4e 47 44 49 5f 29 20 26 26 20 21 64  (_WINGDI_) && !d
2060: 65 66 69 6e 65 64 28 4e 4f 47 44 49 29 0d 0a 0d  efined(NOGDI)...
2070: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
2080: 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6d 6d   export BOOL Imm
2090: 43 6f 6e 66 69 67 75 72 65 49 4d 45 41 28 20 48  ConfigureIMEA( H
20a0: 4b 4c 2c 20 20 48 57 4e 44 2c 20 20 44 57 4f 52  KL,  HWND,  DWOR
20b0: 44 2c 20 20 4c 50 56 4f 49 44 29 3b 0d 0a 65 78  D,  LPVOID);..ex
20c0: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
20d0: 70 6f 72 74 20 42 4f 4f 4c 20 49 6d 6d 43 6f 6e  port BOOL ImmCon
20e0: 66 69 67 75 72 65 49 4d 45 57 28 20 48 4b 4c 2c  figureIMEW( HKL,
20f0: 20 20 48 57 4e 44 2c 20 20 44 57 4f 52 44 2c 20    HWND,  DWORD, 
2100: 20 4c 50 56 4f 49 44 29 3b 0d 0a 2f 2f 20 23 69   LPVOID);..// #i
2110: 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c  fdef UNICODE..al
2120: 69 61 73 20 49 6d 6d 43 6f 6e 66 69 67 75 72 65  ias ImmConfigure
2130: 49 4d 45 57 20 49 6d 6d 43 6f 6e 66 69 67 75 72  IMEW ImmConfigur
2140: 65 49 4d 45 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d  eIME;..// #else.
2150: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  .// #.....// #en
2160: 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d  dif // !UNICODE.
2170: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
2180: 73 29 20 65 78 70 6f 72 74 20 4c 52 45 53 55 4c  s) export LRESUL
2190: 54 20 49 6d 6d 45 73 63 61 70 65 41 28 20 48 4b  T ImmEscapeA( HK
21a0: 4c 2c 20 20 48 49 4d 43 2c 20 20 55 49 4e 54 2c  L,  HIMC,  UINT,
21b0: 20 20 4c 50 56 4f 49 44 29 3b 0d 0a 65 78 74 65    LPVOID);..exte
21c0: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
21d0: 72 74 20 4c 52 45 53 55 4c 54 20 49 6d 6d 45 73  rt LRESULT ImmEs
21e0: 63 61 70 65 57 28 20 48 4b 4c 2c 20 20 48 49 4d  capeW( HKL,  HIM
21f0: 43 2c 20 20 55 49 4e 54 2c 20 20 4c 50 56 4f 49  C,  UINT,  LPVOI
2200: 44 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  D);..// #ifdef U
2210: 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 49 6d  NICODE..alias Im
2220: 6d 45 73 63 61 70 65 57 20 49 6d 6d 45 73 63 61  mEscapeW ImmEsca
2230: 70 65 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  pe;..// #else../
2240: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
2250: 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d  f // !UNICODE...
2260: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
2270: 20 65 78 70 6f 72 74 20 44 57 4f 52 44 20 49 6d   export DWORD Im
2280: 6d 47 65 74 43 6f 6e 76 65 72 73 69 6f 6e 4c 69  mGetConversionLi
2290: 73 74 41 28 20 48 4b 4c 2c 20 20 48 49 4d 43 2c  stA( HKL,  HIMC,
22a0: 20 20 4c 50 43 53 54 52 2c 20 20 4c 50 43 41 4e    LPCSTR,  LPCAN
22b0: 44 49 44 41 54 45 4c 49 53 54 2c 20 20 44 57 4f  DIDATELIST,  DWO
22c0: 52 44 20 64 77 42 75 66 4c 65 6e 2c 20 20 55 49  RD dwBufLen,  UI
22d0: 4e 54 20 75 46 6c 61 67 29 3b 0d 0a 65 78 74 65  NT uFlag);..exte
22e0: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
22f0: 72 74 20 44 57 4f 52 44 20 49 6d 6d 47 65 74 43  rt DWORD ImmGetC
2300: 6f 6e 76 65 72 73 69 6f 6e 4c 69 73 74 57 28 20  onversionListW( 
2310: 48 4b 4c 2c 20 20 48 49 4d 43 2c 20 20 4c 50 43  HKL,  HIMC,  LPC
2320: 57 53 54 52 2c 20 20 4c 50 43 41 4e 44 49 44 41  WSTR,  LPCANDIDA
2330: 54 45 4c 49 53 54 2c 20 20 44 57 4f 52 44 20 64  TELIST,  DWORD d
2340: 77 42 75 66 4c 65 6e 2c 20 20 55 49 4e 54 20 75  wBufLen,  UINT u
2350: 46 6c 61 67 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  Flag);..// #ifde
2360: 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
2370: 20 49 6d 6d 47 65 74 43 6f 6e 76 65 72 73 69 6f   ImmGetConversio
2380: 6e 4c 69 73 74 57 20 49 6d 6d 47 65 74 43 6f 6e  nListW ImmGetCon
2390: 76 65 72 73 69 6f 6e 4c 69 73 74 3b 0d 0a 2f 2f  versionList;..//
23a0: 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
23b0: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
23c0: 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e  NICODE....extern
23d0: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
23e0: 20 42 4f 4f 4c 20 49 6d 6d 4e 6f 74 69 66 79 49   BOOL ImmNotifyI
23f0: 4d 45 28 20 48 49 4d 43 2c 20 20 44 57 4f 52 44  ME( HIMC,  DWORD
2400: 20 64 77 41 63 74 69 6f 6e 2c 20 20 44 57 4f 52   dwAction,  DWOR
2410: 44 20 64 77 49 6e 64 65 78 2c 20 20 44 57 4f 52  D dwIndex,  DWOR
2420: 44 20 64 77 56 61 6c 75 65 29 3b 0d 0a 0d 0a 65  D dwValue);....e
2430: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
2440: 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6d 6d 47 65  xport BOOL ImmGe
2450: 74 53 74 61 74 75 73 57 69 6e 64 6f 77 50 6f 73  tStatusWindowPos
2460: 28 20 48 49 4d 43 2c 20 20 4c 50 50 4f 49 4e 54  ( HIMC,  LPPOINT
2470: 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
2480: 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
2490: 49 6d 6d 53 65 74 53 74 61 74 75 73 57 69 6e 64  ImmSetStatusWind
24a0: 6f 77 50 6f 73 28 20 48 49 4d 43 2c 20 20 4c 50  owPos( HIMC,  LP
24b0: 50 4f 49 4e 54 29 3b 0d 0a 65 78 74 65 72 6e 28  POINT);..extern(
24c0: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
24d0: 42 4f 4f 4c 20 49 6d 6d 47 65 74 43 6f 6d 70 6f  BOOL ImmGetCompo
24e0: 73 69 74 69 6f 6e 57 69 6e 64 6f 77 28 20 48 49  sitionWindow( HI
24f0: 4d 43 2c 20 20 4c 50 43 4f 4d 50 4f 53 49 54 49  MC,  LPCOMPOSITI
2500: 4f 4e 46 4f 52 4d 29 3b 0d 0a 65 78 74 65 72 6e  ONFORM);..extern
2510: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
2520: 20 42 4f 4f 4c 20 49 6d 6d 53 65 74 43 6f 6d 70   BOOL ImmSetComp
2530: 6f 73 69 74 69 6f 6e 57 69 6e 64 6f 77 28 20 48  ositionWindow( H
2540: 49 4d 43 2c 20 20 4c 50 43 4f 4d 50 4f 53 49 54  IMC,  LPCOMPOSIT
2550: 49 4f 4e 46 4f 52 4d 29 3b 0d 0a 65 78 74 65 72  IONFORM);..exter
2560: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
2570: 74 20 42 4f 4f 4c 20 49 6d 6d 47 65 74 43 61 6e  t BOOL ImmGetCan
2580: 64 69 64 61 74 65 57 69 6e 64 6f 77 28 20 48 49  didateWindow( HI
2590: 4d 43 2c 20 20 44 57 4f 52 44 2c 20 20 4c 50 43  MC,  DWORD,  LPC
25a0: 41 4e 44 49 44 41 54 45 46 4f 52 4d 29 3b 0d 0a  ANDIDATEFORM);..
25b0: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
25c0: 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6d 6d 53  export BOOL ImmS
25d0: 65 74 43 61 6e 64 69 64 61 74 65 57 69 6e 64 6f  etCandidateWindo
25e0: 77 28 20 48 49 4d 43 2c 20 20 4c 50 43 41 4e 44  w( HIMC,  LPCAND
25f0: 49 44 41 54 45 46 4f 52 4d 29 3b 0d 0a 0d 0a 65  IDATEFORM);....e
2600: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
2610: 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6d 6d 49 73  xport BOOL ImmIs
2620: 55 49 4d 65 73 73 61 67 65 41 28 20 48 57 4e 44  UIMessageA( HWND
2630: 2c 20 20 55 49 4e 54 2c 20 20 57 50 41 52 41 4d  ,  UINT,  WPARAM
2640: 2c 20 20 4c 50 41 52 41 4d 29 3b 0d 0a 65 78 74  ,  LPARAM);..ext
2650: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
2660: 6f 72 74 20 42 4f 4f 4c 20 49 6d 6d 49 73 55 49  ort BOOL ImmIsUI
2670: 4d 65 73 73 61 67 65 57 28 20 48 57 4e 44 2c 20  MessageW( HWND, 
2680: 20 55 49 4e 54 2c 20 20 57 50 41 52 41 4d 2c 20   UINT,  WPARAM, 
2690: 20 4c 50 41 52 41 4d 29 3b 0d 0a 2f 2f 20 23 69   LPARAM);..// #i
26a0: 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c  fdef UNICODE..al
26b0: 69 61 73 20 49 6d 6d 49 73 55 49 4d 65 73 73 61  ias ImmIsUIMessa
26c0: 67 65 57 20 49 6d 6d 49 73 55 49 4d 65 73 73 61  geW ImmIsUIMessa
26d0: 67 65 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  ge;..// #else../
26e0: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
26f0: 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d  f // !UNICODE...
2700: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
2710: 20 65 78 70 6f 72 74 20 55 49 4e 54 20 49 6d 6d   export UINT Imm
2720: 47 65 74 56 69 72 74 75 61 6c 4b 65 79 28 20 48  GetVirtualKey( H
2730: 57 4e 44 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28  WND);....extern(
2740: 57 69 6e 64 6f 77 73 29 20 61 6c 69 61 73 20 69  Windows) alias i
2750: 6e 74 20 66 75 6e 63 74 69 6f 6e 28 4c 50 43 53  nt function(LPCS
2760: 54 52 2c 20 44 57 4f 52 44 2c 20 4c 50 43 53 54  TR, DWORD, LPCST
2770: 52 2c 20 4c 50 56 4f 49 44 29 20 52 45 47 49 53  R, LPVOID) REGIS
2780: 54 45 52 57 4f 52 44 45 4e 55 4d 50 52 4f 43 41  TERWORDENUMPROCA
2790: 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
27a0: 73 29 20 61 6c 69 61 73 20 69 6e 74 20 66 75 6e  s) alias int fun
27b0: 63 74 69 6f 6e 28 4c 50 43 57 53 54 52 2c 20 44  ction(LPCWSTR, D
27c0: 57 4f 52 44 2c 20 4c 50 43 57 53 54 52 2c 20 4c  WORD, LPCWSTR, L
27d0: 50 56 4f 49 44 29 20 52 45 47 49 53 54 45 52 57  PVOID) REGISTERW
27e0: 4f 52 44 45 4e 55 4d 50 52 4f 43 57 3b 0d 0a 2f  ORDENUMPROCW;../
27f0: 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
2800: 0d 0a 61 6c 69 61 73 20 52 45 47 49 53 54 45 52  ..alias REGISTER
2810: 57 4f 52 44 45 4e 55 4d 50 52 4f 43 57 20 52 45  WORDENUMPROCW RE
2820: 47 49 53 54 45 52 57 4f 52 44 45 4e 55 4d 50 52  GISTERWORDENUMPR
2830: 4f 43 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  OC;..// #else../
2840: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
2850: 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d  f // !UNICODE...
2860: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
2870: 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6d 6d   export BOOL Imm
2880: 52 65 67 69 73 74 65 72 57 6f 72 64 41 28 20 48  RegisterWordA( H
2890: 4b 4c 2c 20 20 4c 50 43 53 54 52 20 6c 70 73 7a  KL,  LPCSTR lpsz
28a0: 52 65 61 64 69 6e 67 2c 20 20 44 57 4f 52 44 2c  Reading,  DWORD,
28b0: 20 20 4c 50 43 53 54 52 20 6c 70 73 7a 52 65 67    LPCSTR lpszReg
28c0: 69 73 74 65 72 29 3b 0d 0a 65 78 74 65 72 6e 28  ister);..extern(
28d0: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
28e0: 42 4f 4f 4c 20 49 6d 6d 52 65 67 69 73 74 65 72  BOOL ImmRegister
28f0: 57 6f 72 64 57 28 20 48 4b 4c 2c 20 20 4c 50 43  WordW( HKL,  LPC
2900: 57 53 54 52 20 6c 70 73 7a 52 65 61 64 69 6e 67  WSTR lpszReading
2910: 2c 20 20 44 57 4f 52 44 2c 20 20 4c 50 43 57 53  ,  DWORD,  LPCWS
2920: 54 52 20 6c 70 73 7a 52 65 67 69 73 74 65 72 29  TR lpszRegister)
2930: 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ;..// #ifdef UNI
2940: 43 4f 44 45 0d 0a 61 6c 69 61 73 20 49 6d 6d 52  CODE..alias ImmR
2950: 65 67 69 73 74 65 72 57 6f 72 64 57 20 49 6d 6d  egisterWordW Imm
2960: 52 65 67 69 73 74 65 72 57 6f 72 64 3b 0d 0a 2f  RegisterWord;../
2970: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
2980: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
2990: 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72  UNICODE....exter
29a0: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
29b0: 74 20 42 4f 4f 4c 20 49 6d 6d 55 6e 72 65 67 69  t BOOL ImmUnregi
29c0: 73 74 65 72 57 6f 72 64 41 28 20 48 4b 4c 2c 20  sterWordA( HKL, 
29d0: 20 4c 50 43 53 54 52 20 6c 70 73 7a 52 65 61 64   LPCSTR lpszRead
29e0: 69 6e 67 2c 20 20 44 57 4f 52 44 2c 20 20 4c 50  ing,  DWORD,  LP
29f0: 43 53 54 52 20 6c 70 73 7a 55 6e 72 65 67 69 73  CSTR lpszUnregis
2a00: 74 65 72 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  ter);..extern(Wi
2a10: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
2a20: 4f 4c 20 49 6d 6d 55 6e 72 65 67 69 73 74 65 72  OL ImmUnregister
2a30: 57 6f 72 64 57 28 20 48 4b 4c 2c 20 20 4c 50 43  WordW( HKL,  LPC
2a40: 57 53 54 52 20 6c 70 73 7a 52 65 61 64 69 6e 67  WSTR lpszReading
2a50: 2c 20 20 44 57 4f 52 44 2c 20 20 4c 50 43 57 53  ,  DWORD,  LPCWS
2a60: 54 52 20 6c 70 73 7a 55 6e 72 65 67 69 73 74 65  TR lpszUnregiste
2a70: 72 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  r);..// #ifdef U
2a80: 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 49 6d  NICODE..alias Im
2a90: 6d 55 6e 72 65 67 69 73 74 65 72 57 6f 72 64 57  mUnregisterWordW
2aa0: 20 49 6d 6d 55 6e 72 65 67 69 73 74 65 72 57 6f   ImmUnregisterWo
2ab0: 72 64 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  rd;..// #else../
2ac0: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
2ad0: 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d  f // !UNICODE...
2ae0: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
2af0: 20 65 78 70 6f 72 74 20 55 49 4e 54 20 49 6d 6d   export UINT Imm
2b00: 47 65 74 52 65 67 69 73 74 65 72 57 6f 72 64 53  GetRegisterWordS
2b10: 74 79 6c 65 41 28 20 48 4b 4c 2c 20 20 55 49 4e  tyleA( HKL,  UIN
2b20: 54 20 6e 49 74 65 6d 2c 20 20 4c 50 53 54 59 4c  T nItem,  LPSTYL
2b30: 45 42 55 46 41 29 3b 0d 0a 65 78 74 65 72 6e 28  EBUFA);..extern(
2b40: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
2b50: 55 49 4e 54 20 49 6d 6d 47 65 74 52 65 67 69 73  UINT ImmGetRegis
2b60: 74 65 72 57 6f 72 64 53 74 79 6c 65 57 28 20 48  terWordStyleW( H
2b70: 4b 4c 2c 20 20 55 49 4e 54 20 6e 49 74 65 6d 2c  KL,  UINT nItem,
2b80: 20 20 4c 50 53 54 59 4c 45 42 55 46 57 29 3b 0d    LPSTYLEBUFW);.
2b90: 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
2ba0: 44 45 0d 0a 61 6c 69 61 73 20 49 6d 6d 47 65 74  DE..alias ImmGet
2bb0: 52 65 67 69 73 74 65 72 57 6f 72 64 53 74 79 6c  RegisterWordStyl
2bc0: 65 57 20 49 6d 6d 47 65 74 52 65 67 69 73 74 65  eW ImmGetRegiste
2bd0: 72 57 6f 72 64 53 74 79 6c 65 3b 0d 0a 2f 2f 20  rWordStyle;..// 
2be0: 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
2bf0: 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e  // #endif // !UN
2c00: 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28  ICODE....extern(
2c10: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
2c20: 55 49 4e 54 20 49 6d 6d 45 6e 75 6d 52 65 67 69  UINT ImmEnumRegi
2c30: 73 74 65 72 57 6f 72 64 41 28 20 48 4b 4c 2c 20  sterWordA( HKL, 
2c40: 20 52 45 47 49 53 54 45 52 57 4f 52 44 45 4e 55   REGISTERWORDENU
2c50: 4d 50 52 4f 43 41 2c 20 20 4c 50 43 53 54 52 20  MPROCA,  LPCSTR 
2c60: 6c 70 73 7a 52 65 61 64 69 6e 67 2c 20 20 44 57  lpszReading,  DW
2c70: 4f 52 44 2c 20 20 4c 50 43 53 54 52 20 6c 70 73  ORD,  LPCSTR lps
2c80: 7a 52 65 67 69 73 74 65 72 2c 20 20 4c 50 56 4f  zRegister,  LPVO
2c90: 49 44 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  ID);..extern(Win
2ca0: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 55 49 4e  dows) export UIN
2cb0: 54 20 49 6d 6d 45 6e 75 6d 52 65 67 69 73 74 65  T ImmEnumRegiste
2cc0: 72 57 6f 72 64 57 28 20 48 4b 4c 2c 20 20 52 45  rWordW( HKL,  RE
2cd0: 47 49 53 54 45 52 57 4f 52 44 45 4e 55 4d 50 52  GISTERWORDENUMPR
2ce0: 4f 43 57 2c 20 20 4c 50 43 57 53 54 52 20 6c 70  OCW,  LPCWSTR lp
2cf0: 73 7a 52 65 61 64 69 6e 67 2c 20 20 44 57 4f 52  szReading,  DWOR
2d00: 44 2c 20 20 4c 50 43 57 53 54 52 20 6c 70 73 7a  D,  LPCWSTR lpsz
2d10: 52 65 67 69 73 74 65 72 2c 20 20 4c 50 56 4f 49  Register,  LPVOI
2d20: 44 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  D);..// #ifdef U
2d30: 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 49 6d  NICODE..alias Im
2d40: 6d 45 6e 75 6d 52 65 67 69 73 74 65 72 57 6f 72  mEnumRegisterWor
2d50: 64 57 20 49 6d 6d 45 6e 75 6d 52 65 67 69 73 74  dW ImmEnumRegist
2d60: 65 72 57 6f 72 64 3b 0d 0a 2f 2f 20 23 65 6c 73  erWord;..// #els
2d70: 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  e..// #.....// #
2d80: 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44  endif // !UNICOD
2d90: 45 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 57 49 4e  E....// #if (WIN
2da0: 56 45 52 20 3e 3d 20 30 78 30 34 30 41 29 0d 0a  VER >= 0x040A)..
2db0: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
2dc0: 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6d 6d 44  export BOOL ImmD
2dd0: 69 73 61 62 6c 65 49 4d 45 28 20 44 57 4f 52 44  isableIME( DWORD
2de0: 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
2df0: 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
2e00: 49 6d 6d 45 6e 75 6d 49 6e 70 75 74 43 6f 6e 74  ImmEnumInputCont
2e10: 65 78 74 28 44 57 4f 52 44 20 69 64 54 68 72 65  ext(DWORD idThre
2e20: 61 64 2c 20 49 4d 43 45 4e 55 4d 50 52 4f 43 20  ad, IMCENUMPROC 
2e30: 6c 70 66 6e 2c 20 4c 50 41 52 41 4d 20 6c 50 61  lpfn, LPARAM lPa
2e40: 72 61 6d 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  ram);..extern(Wi
2e50: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 44 57  ndows) export DW
2e60: 4f 52 44 20 49 6d 6d 47 65 74 49 6d 65 4d 65 6e  ORD ImmGetImeMen
2e70: 75 49 74 65 6d 73 41 28 20 48 49 4d 43 2c 20 20  uItemsA( HIMC,  
2e80: 44 57 4f 52 44 2c 20 20 44 57 4f 52 44 2c 20 20  DWORD,  DWORD,  
2e90: 4c 50 49 4d 45 4d 45 4e 55 49 54 45 4d 49 4e 46  LPIMEMENUITEMINF
2ea0: 4f 41 2c 20 20 4c 50 49 4d 45 4d 45 4e 55 49 54  OA,  LPIMEMENUIT
2eb0: 45 4d 49 4e 46 4f 41 2c 20 20 44 57 4f 52 44 29  EMINFOA,  DWORD)
2ec0: 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
2ed0: 73 29 20 65 78 70 6f 72 74 20 44 57 4f 52 44 20  s) export DWORD 
2ee0: 49 6d 6d 47 65 74 49 6d 65 4d 65 6e 75 49 74 65  ImmGetImeMenuIte
2ef0: 6d 73 57 28 20 48 49 4d 43 2c 20 20 44 57 4f 52  msW( HIMC,  DWOR
2f00: 44 2c 20 20 44 57 4f 52 44 2c 20 20 4c 50 49 4d  D,  DWORD,  LPIM
2f10: 45 4d 45 4e 55 49 54 45 4d 49 4e 46 4f 57 2c 20  EMENUITEMINFOW, 
2f20: 20 4c 50 49 4d 45 4d 45 4e 55 49 54 45 4d 49 4e   LPIMEMENUITEMIN
2f30: 46 4f 57 2c 20 20 44 57 4f 52 44 29 3b 0d 0a 2f  FOW,  DWORD);../
2f40: 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
2f50: 0d 0a 61 6c 69 61 73 20 49 6d 6d 47 65 74 49 6d  ..alias ImmGetIm
2f60: 65 4d 65 6e 75 49 74 65 6d 73 57 20 49 6d 6d 47  eMenuItemsW ImmG
2f70: 65 74 49 6d 65 4d 65 6e 75 49 74 65 6d 73 3b 0d  etImeMenuItems;.
2f80: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
2f90: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  ....// #endif //
2fa0: 20 21 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 65   !UNICODE..// #e
2fb0: 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e  ndif /* WINVER >
2fc0: 3d 20 30 78 30 34 30 41 20 2a 2f 0d 0a 0d 0a 65  = 0x040A */....e
2fd0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 43  num : uint { IMC
2fe0: 5f 47 45 54 43 41 4e 44 49 44 41 54 45 50 4f 53  _GETCANDIDATEPOS
2ff0: 20 3d 20 30 78 30 30 30 37 20 7d 0d 0a 65 6e 75   = 0x0007 }..enu
3000: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 43 5f 53  m : uint { IMC_S
3010: 45 54 43 41 4e 44 49 44 41 54 45 50 4f 53 20 3d  ETCANDIDATEPOS =
3020: 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20   0x0008 }..enum 
3030: 3a 20 75 69 6e 74 20 7b 20 49 4d 43 5f 47 45 54  : uint { IMC_GET
3040: 43 4f 4d 50 4f 53 49 54 49 4f 4e 46 4f 4e 54 20  COMPOSITIONFONT 
3050: 3d 20 30 78 30 30 30 39 20 7d 0d 0a 65 6e 75 6d  = 0x0009 }..enum
3060: 20 3a 20 75 69 6e 74 20 7b 20 49 4d 43 5f 53 45   : uint { IMC_SE
3070: 54 43 4f 4d 50 4f 53 49 54 49 4f 4e 46 4f 4e 54  TCOMPOSITIONFONT
3080: 20 3d 20 30 78 30 30 30 41 20 7d 0d 0a 65 6e 75   = 0x000A }..enu
3090: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 43 5f 47  m : uint { IMC_G
30a0: 45 54 43 4f 4d 50 4f 53 49 54 49 4f 4e 57 49 4e  ETCOMPOSITIONWIN
30b0: 44 4f 57 20 3d 20 30 78 30 30 30 42 20 7d 0d 0a  DOW = 0x000B }..
30c0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
30d0: 43 5f 53 45 54 43 4f 4d 50 4f 53 49 54 49 4f 4e  C_SETCOMPOSITION
30e0: 57 49 4e 44 4f 57 20 3d 20 30 78 30 30 30 43 20  WINDOW = 0x000C 
30f0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
3100: 20 49 4d 43 5f 47 45 54 53 54 41 54 55 53 57 49   IMC_GETSTATUSWI
3110: 4e 44 4f 57 50 4f 53 20 3d 20 30 78 30 30 30 46  NDOWPOS = 0x000F
3120: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
3130: 7b 20 49 4d 43 5f 53 45 54 53 54 41 54 55 53 57  { IMC_SETSTATUSW
3140: 49 4e 44 4f 57 50 4f 53 20 3d 20 30 78 30 30 31  INDOWPOS = 0x001
3150: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
3160: 20 7b 20 49 4d 43 5f 43 4c 4f 53 45 53 54 41 54   { IMC_CLOSESTAT
3170: 55 53 57 49 4e 44 4f 57 20 3d 20 30 78 30 30 32  USWINDOW = 0x002
3180: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
3190: 20 7b 20 49 4d 43 5f 4f 50 45 4e 53 54 41 54 55   { IMC_OPENSTATU
31a0: 53 57 49 4e 44 4f 57 20 3d 20 30 78 30 30 32 32  SWINDOW = 0x0022
31b0: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
31c0: 74 20 7b 20 4e 49 5f 4f 50 45 4e 43 41 4e 44 49  t { NI_OPENCANDI
31d0: 44 41 54 45 20 3d 20 30 78 30 30 31 30 20 7d 0d  DATE = 0x0010 }.
31e0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4e  .enum : uint { N
31f0: 49 5f 43 4c 4f 53 45 43 41 4e 44 49 44 41 54 45  I_CLOSECANDIDATE
3200: 20 3d 20 30 78 30 30 31 31 20 7d 0d 0a 65 6e 75   = 0x0011 }..enu
3210: 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 49 5f 53 45  m : uint { NI_SE
3220: 4c 45 43 54 43 41 4e 44 49 44 41 54 45 53 54 52  LECTCANDIDATESTR
3230: 20 3d 20 30 78 30 30 31 32 20 7d 0d 0a 65 6e 75   = 0x0012 }..enu
3240: 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 49 5f 43 48  m : uint { NI_CH
3250: 41 4e 47 45 43 41 4e 44 49 44 41 54 45 4c 49 53  ANGECANDIDATELIS
3260: 54 20 3d 20 30 78 30 30 31 33 20 7d 0d 0a 65 6e  T = 0x0013 }..en
3270: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 49 5f 46  um : uint { NI_F
3280: 49 4e 41 4c 49 5a 45 43 4f 4e 56 45 52 53 49 4f  INALIZECONVERSIO
3290: 4e 52 45 53 55 4c 54 20 3d 20 30 78 30 30 31 34  NRESULT = 0x0014
32a0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
32b0: 7b 20 4e 49 5f 43 4f 4d 50 4f 53 49 54 49 4f 4e  { NI_COMPOSITION
32c0: 53 54 52 20 3d 20 30 78 30 30 31 35 20 7d 0d 0a  STR = 0x0015 }..
32d0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 49  enum : uint { NI
32e0: 5f 53 45 54 43 41 4e 44 49 44 41 54 45 5f 50 41  _SETCANDIDATE_PA
32f0: 47 45 53 54 41 52 54 20 3d 20 30 78 30 30 31 36  GESTART = 0x0016
3300: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
3310: 7b 20 4e 49 5f 53 45 54 43 41 4e 44 49 44 41 54  { NI_SETCANDIDAT
3320: 45 5f 50 41 47 45 53 49 5a 45 20 3d 20 30 78 30  E_PAGESIZE = 0x0
3330: 30 31 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  017 }..enum : ui
3340: 6e 74 20 7b 20 4e 49 5f 49 4d 45 4d 45 4e 55 53  nt { NI_IMEMENUS
3350: 45 4c 45 43 54 45 44 20 3d 20 30 78 30 30 31 38  ELECTED = 0x0018
3360: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
3370: 74 20 7b 20 49 53 43 5f 53 48 4f 57 55 49 43 41  t { ISC_SHOWUICA
3380: 4e 44 49 44 41 54 45 57 49 4e 44 4f 57 20 3d 20  NDIDATEWINDOW = 
3390: 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e  0x00000001 }..en
33a0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 53 43 5f  um : uint { ISC_
33b0: 53 48 4f 57 55 49 43 4f 4d 50 4f 53 49 54 49 4f  SHOWUICOMPOSITIO
33c0: 4e 57 49 4e 44 4f 57 20 3d 20 30 78 38 30 30 30  NWINDOW = 0x8000
33d0: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
33e0: 69 6e 74 20 7b 20 49 53 43 5f 53 48 4f 57 55 49  int { ISC_SHOWUI
33f0: 47 55 49 44 45 4c 49 4e 45 20 3d 20 30 78 34 30  GUIDELINE = 0x40
3400: 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000000 }..enum :
3410: 20 75 69 6e 74 20 7b 20 49 53 43 5f 53 48 4f 57   uint { ISC_SHOW
3420: 55 49 41 4c 4c 43 41 4e 44 49 44 41 54 45 57 49  UIALLCANDIDATEWI
3430: 4e 44 4f 57 20 3d 20 30 78 30 30 30 30 30 30 30  NDOW = 0x0000000
3440: 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  F }..enum : uint
3450: 20 7b 20 49 53 43 5f 53 48 4f 57 55 49 41 4c 4c   { ISC_SHOWUIALL
3460: 20 3d 20 30 78 43 30 30 30 30 30 30 46 20 7d 0d   = 0xC000000F }.
3470: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
3480: 20 43 50 53 5f 43 4f 4d 50 4c 45 54 45 20 3d 20   CPS_COMPLETE = 
3490: 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0001 }..enum :
34a0: 20 75 69 6e 74 20 7b 20 43 50 53 5f 43 4f 4e 56   uint { CPS_CONV
34b0: 45 52 54 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a  ERT = 0x0002 }..
34c0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 50  enum : uint { CP
34d0: 53 5f 52 45 56 45 52 54 20 3d 20 30 78 30 30 30  S_REVERT = 0x000
34e0: 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  3 }..enum : uint
34f0: 20 7b 20 43 50 53 5f 43 41 4e 43 45 4c 20 3d 20   { CPS_CANCEL = 
3500: 30 78 30 30 30 34 20 7d 0d 0a 0d 0a 65 6e 75 6d  0x0004 }....enum
3510: 20 3a 20 75 69 6e 74 20 7b 20 4d 4f 44 5f 41 4c   : uint { MOD_AL
3520: 54 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e  T = 0x0001 }..en
3530: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4f 44 5f  um : uint { MOD_
3540: 43 4f 4e 54 52 4f 4c 20 3d 20 30 78 30 30 30 32  CONTROL = 0x0002
3550: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
3560: 7b 20 4d 4f 44 5f 53 48 49 46 54 20 3d 20 30 78  { MOD_SHIFT = 0x
3570: 30 30 30 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0004 }....enum :
3580: 20 75 69 6e 74 20 7b 20 4d 4f 44 5f 4c 45 46 54   uint { MOD_LEFT
3590: 20 3d 20 30 78 38 30 30 30 20 7d 0d 0a 65 6e 75   = 0x8000 }..enu
35a0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4f 44 5f 52  m : uint { MOD_R
35b0: 49 47 48 54 20 3d 20 30 78 34 30 30 30 20 7d 0d  IGHT = 0x4000 }.
35c0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
35d0: 20 4d 4f 44 5f 4f 4e 5f 4b 45 59 55 50 20 3d 20   MOD_ON_KEYUP = 
35e0: 30 78 30 38 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0800 }..enum :
35f0: 20 75 69 6e 74 20 7b 20 4d 4f 44 5f 49 47 4e 4f   uint { MOD_IGNO
3600: 52 45 5f 41 4c 4c 5f 4d 4f 44 49 46 49 45 52 20  RE_ALL_MODIFIER 
3610: 3d 20 30 78 30 34 30 30 20 7d 0d 0a 0d 0a 65 6e  = 0x0400 }....en
3620: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f  um : uint { IME_
3630: 43 48 4f 54 4b 45 59 5f 49 4d 45 5f 4e 4f 4e 49  CHOTKEY_IME_NONI
3640: 4d 45 5f 54 4f 47 47 4c 45 20 3d 20 30 78 31 30  ME_TOGGLE = 0x10
3650: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
3660: 7b 20 49 4d 45 5f 43 48 4f 54 4b 45 59 5f 53 48  { IME_CHOTKEY_SH
3670: 41 50 45 5f 54 4f 47 47 4c 45 20 3d 20 30 78 31  APE_TOGGLE = 0x1
3680: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
3690: 20 7b 20 49 4d 45 5f 43 48 4f 54 4b 45 59 5f 53   { IME_CHOTKEY_S
36a0: 59 4d 42 4f 4c 5f 54 4f 47 47 4c 45 20 3d 20 30  YMBOL_TOGGLE = 0
36b0: 78 31 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  x12 }....enum : 
36c0: 75 69 6e 74 20 7b 20 49 4d 45 5f 4a 48 4f 54 4b  uint { IME_JHOTK
36d0: 45 59 5f 43 4c 4f 53 45 5f 4f 50 45 4e 20 3d 20  EY_CLOSE_OPEN = 
36e0: 30 78 33 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0x30 }....enum :
36f0: 20 75 69 6e 74 20 7b 20 49 4d 45 5f 4b 48 4f 54   uint { IME_KHOT
3700: 4b 45 59 5f 53 48 41 50 45 5f 54 4f 47 47 4c 45  KEY_SHAPE_TOGGLE
3710: 20 3d 20 30 78 35 30 20 7d 0d 0a 65 6e 75 6d 20   = 0x50 }..enum 
3720: 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f 4b 48 4f  : uint { IME_KHO
3730: 54 4b 45 59 5f 48 41 4e 4a 41 43 4f 4e 56 45 52  TKEY_HANJACONVER
3740: 54 20 3d 20 30 78 35 31 20 7d 0d 0a 65 6e 75 6d  T = 0x51 }..enum
3750: 20 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f 4b 48   : uint { IME_KH
3760: 4f 54 4b 45 59 5f 45 4e 47 4c 49 53 48 20 3d 20  OTKEY_ENGLISH = 
3770: 30 78 35 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0x52 }....enum :
3780: 20 75 69 6e 74 20 7b 20 49 4d 45 5f 54 48 4f 54   uint { IME_THOT
3790: 4b 45 59 5f 49 4d 45 5f 4e 4f 4e 49 4d 45 5f 54  KEY_IME_NONIME_T
37a0: 4f 47 47 4c 45 20 3d 20 30 78 37 30 20 7d 0d 0a  OGGLE = 0x70 }..
37b0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
37c0: 45 5f 54 48 4f 54 4b 45 59 5f 53 48 41 50 45 5f  E_THOTKEY_SHAPE_
37d0: 54 4f 47 47 4c 45 20 3d 20 30 78 37 31 20 7d 0d  TOGGLE = 0x71 }.
37e0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
37f0: 4d 45 5f 54 48 4f 54 4b 45 59 5f 53 59 4d 42 4f  ME_THOTKEY_SYMBO
3800: 4c 5f 54 4f 47 47 4c 45 20 3d 20 30 78 37 32 20  L_TOGGLE = 0x72 
3810: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
3820: 20 7b 20 49 4d 45 5f 48 4f 54 4b 45 59 5f 44 53   { IME_HOTKEY_DS
3830: 57 49 54 43 48 5f 46 49 52 53 54 20 3d 20 30 78  WITCH_FIRST = 0x
3840: 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  100 }..enum : ui
3850: 6e 74 20 7b 20 49 4d 45 5f 48 4f 54 4b 45 59 5f  nt { IME_HOTKEY_
3860: 44 53 57 49 54 43 48 5f 4c 41 53 54 20 3d 20 30  DSWITCH_LAST = 0
3870: 78 31 31 46 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  x11F }....enum :
3880: 20 75 69 6e 74 20 7b 20 49 4d 45 5f 48 4f 54 4b   uint { IME_HOTK
3890: 45 59 5f 50 52 49 56 41 54 45 5f 46 49 52 53 54  EY_PRIVATE_FIRST
38a0: 20 3d 20 30 78 32 30 30 20 7d 0d 0a 65 6e 75 6d   = 0x200 }..enum
38b0: 20 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f 49 54   : uint { IME_IT
38c0: 48 4f 54 4b 45 59 5f 52 45 53 45 4e 44 5f 52 45  HOTKEY_RESEND_RE
38d0: 53 55 4c 54 53 54 52 20 3d 20 30 78 32 30 30 20  SULTSTR = 0x200 
38e0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
38f0: 20 49 4d 45 5f 49 54 48 4f 54 4b 45 59 5f 50 52   IME_ITHOTKEY_PR
3900: 45 56 49 4f 55 53 5f 43 4f 4d 50 4f 53 49 54 49  EVIOUS_COMPOSITI
3910: 4f 4e 20 3d 20 30 78 32 30 31 20 7d 0d 0a 65 6e  ON = 0x201 }..en
3920: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f  um : uint { IME_
3930: 49 54 48 4f 54 4b 45 59 5f 55 49 53 54 59 4c 45  ITHOTKEY_UISTYLE
3940: 5f 54 4f 47 47 4c 45 20 3d 20 30 78 32 30 32 20  _TOGGLE = 0x202 
3950: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
3960: 20 49 4d 45 5f 49 54 48 4f 54 4b 45 59 5f 52 45   IME_ITHOTKEY_RE
3970: 43 4f 4e 56 45 52 54 53 54 52 49 4e 47 20 3d 20  CONVERTSTRING = 
3980: 30 78 32 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20  0x203 }..enum : 
3990: 75 69 6e 74 20 7b 20 49 4d 45 5f 48 4f 54 4b 45  uint { IME_HOTKE
39a0: 59 5f 50 52 49 56 41 54 45 5f 4c 41 53 54 20 3d  Y_PRIVATE_LAST =
39b0: 20 30 78 32 31 46 20 7d 0d 0a 0d 0a 65 6e 75 6d   0x21F }....enum
39c0: 20 3a 20 75 69 6e 74 20 7b 20 47 43 53 5f 43 4f   : uint { GCS_CO
39d0: 4d 50 52 45 41 44 53 54 52 20 3d 20 30 78 30 30  MPREADSTR = 0x00
39e0: 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
39f0: 74 20 7b 20 47 43 53 5f 43 4f 4d 50 52 45 41 44  t { GCS_COMPREAD
3a00: 41 54 54 52 20 3d 20 30 78 30 30 30 32 20 7d 0d  ATTR = 0x0002 }.
3a10: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47  .enum : uint { G
3a20: 43 53 5f 43 4f 4d 50 52 45 41 44 43 4c 41 55 53  CS_COMPREADCLAUS
3a30: 45 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e  E = 0x0004 }..en
3a40: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 43 53 5f  um : uint { GCS_
3a50: 43 4f 4d 50 53 54 52 20 3d 20 30 78 30 30 30 38  COMPSTR = 0x0008
3a60: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
3a70: 7b 20 47 43 53 5f 43 4f 4d 50 41 54 54 52 20 3d  { GCS_COMPATTR =
3a80: 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20   0x0010 }..enum 
3a90: 3a 20 75 69 6e 74 20 7b 20 47 43 53 5f 43 4f 4d  : uint { GCS_COM
3aa0: 50 43 4c 41 55 53 45 20 3d 20 30 78 30 30 32 30  PCLAUSE = 0x0020
3ab0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
3ac0: 7b 20 47 43 53 5f 43 55 52 53 4f 52 50 4f 53 20  { GCS_CURSORPOS 
3ad0: 3d 20 30 78 30 30 38 30 20 7d 0d 0a 65 6e 75 6d  = 0x0080 }..enum
3ae0: 20 3a 20 75 69 6e 74 20 7b 20 47 43 53 5f 44 45   : uint { GCS_DE
3af0: 4c 54 41 53 54 41 52 54 20 3d 20 30 78 30 31 30  LTASTART = 0x010
3b00: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
3b10: 20 7b 20 47 43 53 5f 52 45 53 55 4c 54 52 45 41   { GCS_RESULTREA
3b20: 44 53 54 52 20 3d 20 30 78 30 32 30 30 20 7d 0d  DSTR = 0x0200 }.
3b30: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47  .enum : uint { G
3b40: 43 53 5f 52 45 53 55 4c 54 52 45 41 44 43 4c 41  CS_RESULTREADCLA
3b50: 55 53 45 20 3d 20 30 78 30 34 30 30 20 7d 0d 0a  USE = 0x0400 }..
3b60: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 43  enum : uint { GC
3b70: 53 5f 52 45 53 55 4c 54 53 54 52 20 3d 20 30 78  S_RESULTSTR = 0x
3b80: 30 38 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0800 }..enum : u
3b90: 69 6e 74 20 7b 20 47 43 53 5f 52 45 53 55 4c 54  int { GCS_RESULT
3ba0: 43 4c 41 55 53 45 20 3d 20 30 78 31 30 30 30 20  CLAUSE = 0x1000 
3bb0: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
3bc0: 20 7b 20 43 53 5f 49 4e 53 45 52 54 43 48 41 52   { CS_INSERTCHAR
3bd0: 20 3d 20 30 78 32 30 30 30 20 7d 0d 0a 65 6e 75   = 0x2000 }..enu
3be0: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 53 5f 4e 4f  m : uint { CS_NO
3bf0: 4d 4f 56 45 43 41 52 45 54 20 3d 20 30 78 34 30  MOVECARET = 0x40
3c00: 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  00 }....enum : u
3c10: 69 6e 74 20 7b 20 49 4d 45 56 45 52 5f 30 33 31  int { IMEVER_031
3c20: 30 20 3d 20 30 78 30 30 30 33 30 30 30 41 20 7d  0 = 0x0003000A }
3c30: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
3c40: 49 4d 45 56 45 52 5f 30 34 30 30 20 3d 20 30 78  IMEVER_0400 = 0x
3c50: 30 30 30 34 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e  00040000 }....en
3c60: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f  um : uint { IME_
3c70: 50 52 4f 50 5f 41 54 5f 43 41 52 45 54 20 3d 20  PROP_AT_CARET = 
3c80: 30 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e  0x00010000 }..en
3c90: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f  um : uint { IME_
3ca0: 50 52 4f 50 5f 53 50 45 43 49 41 4c 5f 55 49 20  PROP_SPECIAL_UI 
3cb0: 3d 20 30 78 30 30 30 32 30 30 30 30 20 7d 0d 0a  = 0x00020000 }..
3cc0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
3cd0: 45 5f 50 52 4f 50 5f 43 41 4e 44 4c 49 53 54 5f  E_PROP_CANDLIST_
3ce0: 53 54 41 52 54 5f 46 52 4f 4d 5f 31 20 3d 20 30  START_FROM_1 = 0
3cf0: 78 30 30 30 34 30 30 30 30 20 7d 0d 0a 65 6e 75  x00040000 }..enu
3d00: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f 50  m : uint { IME_P
3d10: 52 4f 50 5f 55 4e 49 43 4f 44 45 20 3d 20 30 78  ROP_UNICODE = 0x
3d20: 30 30 30 38 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00080000 }..enum
3d30: 20 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f 50 52   : uint { IME_PR
3d40: 4f 50 5f 43 4f 4d 50 4c 45 54 45 5f 4f 4e 5f 55  OP_COMPLETE_ON_U
3d50: 4e 53 45 4c 45 43 54 20 3d 20 30 78 30 30 31 30  NSELECT = 0x0010
3d60: 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0000 }....enum :
3d70: 20 75 69 6e 74 20 7b 20 55 49 5f 43 41 50 5f 32   uint { UI_CAP_2
3d80: 37 30 30 20 3d 20 30 78 30 30 30 30 30 30 30 31  700 = 0x00000001
3d90: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
3da0: 7b 20 55 49 5f 43 41 50 5f 52 4f 54 39 30 20 3d  { UI_CAP_ROT90 =
3db0: 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65   0x00000002 }..e
3dc0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 55 49 5f  num : uint { UI_
3dd0: 43 41 50 5f 52 4f 54 41 4e 59 20 3d 20 30 78 30  CAP_ROTANY = 0x0
3de0: 30 30 30 30 30 30 34 20 7d 0d 0a 0d 0a 65 6e 75  0000004 }....enu
3df0: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 43 53 5f 43  m : uint { SCS_C
3e00: 41 50 5f 43 4f 4d 50 53 54 52 20 3d 20 30 78 30  AP_COMPSTR = 0x0
3e10: 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20  0000001 }..enum 
3e20: 3a 20 75 69 6e 74 20 7b 20 53 43 53 5f 43 41 50  : uint { SCS_CAP
3e30: 5f 4d 41 4b 45 52 45 41 44 20 3d 20 30 78 30 30  _MAKEREAD = 0x00
3e40: 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  000002 }..enum :
3e50: 20 75 69 6e 74 20 7b 20 53 43 53 5f 43 41 50 5f   uint { SCS_CAP_
3e60: 53 45 54 52 45 43 4f 4e 56 45 52 54 53 54 52 49  SETRECONVERTSTRI
3e70: 4e 47 20 3d 20 30 78 30 30 30 30 30 30 30 34 20  NG = 0x00000004 
3e80: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
3e90: 20 7b 20 53 45 4c 45 43 54 5f 43 41 50 5f 43 4f   { SELECT_CAP_CO
3ea0: 4e 56 45 52 53 49 4f 4e 20 3d 20 30 78 30 30 30  NVERSION = 0x000
3eb0: 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00001 }..enum : 
3ec0: 75 69 6e 74 20 7b 20 53 45 4c 45 43 54 5f 43 41  uint { SELECT_CA
3ed0: 50 5f 53 45 4e 54 45 4e 43 45 20 3d 20 30 78 30  P_SENTENCE = 0x0
3ee0: 30 30 30 30 30 30 32 20 7d 0d 0a 0d 0a 65 6e 75  0000002 }....enu
3ef0: 6d 20 3a 20 75 69 6e 74 20 7b 20 47 47 4c 5f 4c  m : uint { GGL_L
3f00: 45 56 45 4c 20 3d 20 30 78 30 30 30 30 30 30 30  EVEL = 0x0000000
3f10: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
3f20: 20 7b 20 47 47 4c 5f 49 4e 44 45 58 20 3d 20 30   { GGL_INDEX = 0
3f30: 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75  x00000002 }..enu
3f40: 6d 20 3a 20 75 69 6e 74 20 7b 20 47 47 4c 5f 53  m : uint { GGL_S
3f50: 54 52 49 4e 47 20 3d 20 30 78 30 30 30 30 30 30  TRING = 0x000000
3f60: 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  03 }..enum : uin
3f70: 74 20 7b 20 47 47 4c 5f 50 52 49 56 41 54 45 20  t { GGL_PRIVATE 
3f80: 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a  = 0x00000004 }..
3f90: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
3fa0: 47 4c 5f 4c 45 56 45 4c 5f 4e 4f 47 55 49 44 45  GL_LEVEL_NOGUIDE
3fb0: 4c 49 4e 45 20 3d 20 30 78 30 30 30 30 30 30 30  LINE = 0x0000000
3fc0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
3fd0: 20 7b 20 47 4c 5f 4c 45 56 45 4c 5f 46 41 54 41   { GL_LEVEL_FATA
3fe0: 4c 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d  L = 0x00000001 }
3ff0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
4000: 47 4c 5f 4c 45 56 45 4c 5f 45 52 52 4f 52 20 3d  GL_LEVEL_ERROR =
4010: 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65   0x00000002 }..e
4020: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 4c 5f  num : uint { GL_
4030: 4c 45 56 45 4c 5f 57 41 52 4e 49 4e 47 20 3d 20  LEVEL_WARNING = 
4040: 30 78 30 30 30 30 30 30 30 33 20 7d 0d 0a 65 6e  0x00000003 }..en
4050: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 4c 5f 4c  um : uint { GL_L
4060: 45 56 45 4c 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e  EVEL_INFORMATION
4070: 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d   = 0x00000004 }.
4080: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
4090: 20 47 4c 5f 49 44 5f 55 4e 4b 4e 4f 57 4e 20 3d   GL_ID_UNKNOWN =
40a0: 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 65   0x00000000 }..e
40b0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 4c 5f  num : uint { GL_
40c0: 49 44 5f 4e 4f 4d 4f 44 55 4c 45 20 3d 20 30 78  ID_NOMODULE = 0x
40d0: 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  00000001 }..enum
40e0: 20 3a 20 75 69 6e 74 20 7b 20 47 4c 5f 49 44 5f   : uint { GL_ID_
40f0: 4e 4f 44 49 43 54 49 4f 4e 41 52 59 20 3d 20 30  NODICTIONARY = 0
4100: 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e 75  x00000010 }..enu
4110: 6d 20 3a 20 75 69 6e 74 20 7b 20 47 4c 5f 49 44  m : uint { GL_ID
4120: 5f 43 41 4e 4e 4f 54 53 41 56 45 20 3d 20 30 78  _CANNOTSAVE = 0x
4130: 30 30 30 30 30 30 31 31 20 7d 0d 0a 65 6e 75 6d  00000011 }..enum
4140: 20 3a 20 75 69 6e 74 20 7b 20 47 4c 5f 49 44 5f   : uint { GL_ID_
4150: 4e 4f 43 4f 4e 56 45 52 54 20 3d 20 30 78 30 30  NOCONVERT = 0x00
4160: 30 30 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000020 }..enum :
4170: 20 75 69 6e 74 20 7b 20 47 4c 5f 49 44 5f 54 59   uint { GL_ID_TY
4180: 50 49 4e 47 45 52 52 4f 52 20 3d 20 30 78 30 30  PINGERROR = 0x00
4190: 30 30 30 30 32 31 20 7d 0d 0a 65 6e 75 6d 20 3a  000021 }..enum :
41a0: 20 75 69 6e 74 20 7b 20 47 4c 5f 49 44 5f 54 4f   uint { GL_ID_TO
41b0: 4f 4d 41 4e 59 53 54 52 4f 4b 45 20 3d 20 30 78  OMANYSTROKE = 0x
41c0: 30 30 30 30 30 30 32 32 20 7d 0d 0a 65 6e 75 6d  00000022 }..enum
41d0: 20 3a 20 75 69 6e 74 20 7b 20 47 4c 5f 49 44 5f   : uint { GL_ID_
41e0: 52 45 41 44 49 4e 47 43 4f 4e 46 4c 49 43 54 20  READINGCONFLICT 
41f0: 3d 20 30 78 30 30 30 30 30 30 32 33 20 7d 0d 0a  = 0x00000023 }..
4200: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 4c  enum : uint { GL
4210: 5f 49 44 5f 49 4e 50 55 54 52 45 41 44 49 4e 47  _ID_INPUTREADING
4220: 20 3d 20 30 78 30 30 30 30 30 30 32 34 20 7d 0d   = 0x00000024 }.
4230: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47  .enum : uint { G
4240: 4c 5f 49 44 5f 49 4e 50 55 54 52 41 44 49 43 41  L_ID_INPUTRADICA
4250: 4c 20 3d 20 30 78 30 30 30 30 30 30 32 35 20 7d  L = 0x00000025 }
4260: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
4270: 47 4c 5f 49 44 5f 49 4e 50 55 54 43 4f 44 45 20  GL_ID_INPUTCODE 
4280: 3d 20 30 78 30 30 30 30 30 30 32 36 20 7d 0d 0a  = 0x00000026 }..
4290: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 4c  enum : uint { GL
42a0: 5f 49 44 5f 49 4e 50 55 54 53 59 4d 42 4f 4c 20  _ID_INPUTSYMBOL 
42b0: 3d 20 30 78 30 30 30 30 30 30 32 37 20 7d 0d 0a  = 0x00000027 }..
42c0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 4c  enum : uint { GL
42d0: 5f 49 44 5f 43 48 4f 4f 53 45 43 41 4e 44 49 44  _ID_CHOOSECANDID
42e0: 41 54 45 20 3d 20 30 78 30 30 30 30 30 30 32 38  ATE = 0x00000028
42f0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
4300: 7b 20 47 4c 5f 49 44 5f 52 45 56 45 52 53 45 43  { GL_ID_REVERSEC
4310: 4f 4e 56 45 52 53 49 4f 4e 20 3d 20 30 78 30 30  ONVERSION = 0x00
4320: 30 30 30 30 32 39 20 7d 0d 0a 65 6e 75 6d 20 3a  000029 }..enum :
4330: 20 75 69 6e 74 20 7b 20 47 4c 5f 49 44 5f 50 52   uint { GL_ID_PR
4340: 49 56 41 54 45 5f 46 49 52 53 54 20 3d 20 30 78  IVATE_FIRST = 0x
4350: 30 30 30 30 38 30 30 30 20 7d 0d 0a 65 6e 75 6d  00008000 }..enum
4360: 20 3a 20 75 69 6e 74 20 7b 20 47 4c 5f 49 44 5f   : uint { GL_ID_
4370: 50 52 49 56 41 54 45 5f 4c 41 53 54 20 3d 20 30  PRIVATE_LAST = 0
4380: 78 30 30 30 30 46 46 46 46 20 7d 0d 0a 0d 0a 63  x0000FFFF }....c
4390: 6f 6e 73 74 20 44 57 4f 52 44 20 49 47 50 5f 47  onst DWORD IGP_G
43a0: 45 54 49 4d 45 56 45 52 53 49 4f 4e 20 3d 20 63  ETIMEVERSION = c
43b0: 61 73 74 28 44 57 4f 52 44 29 2d 34 3b 0d 0a 65  ast(DWORD)-4;..e
43c0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 47 50  num : uint { IGP
43d0: 5f 50 52 4f 50 45 52 54 59 20 3d 20 30 78 30 30  _PROPERTY = 0x00
43e0: 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a  000004 }..enum :
43f0: 20 75 69 6e 74 20 7b 20 49 47 50 5f 43 4f 4e 56   uint { IGP_CONV
4400: 45 52 53 49 4f 4e 20 3d 20 30 78 30 30 30 30 30  ERSION = 0x00000
4410: 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  008 }..enum : ui
4420: 6e 74 20 7b 20 49 47 50 5f 53 45 4e 54 45 4e 43  nt { IGP_SENTENC
4430: 45 20 3d 20 30 78 30 30 30 30 30 30 30 63 20 7d  E = 0x0000000c }
4440: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
4450: 49 47 50 5f 55 49 20 3d 20 30 78 30 30 30 30 30  IGP_UI = 0x00000
4460: 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  010 }..enum : ui
4470: 6e 74 20 7b 20 49 47 50 5f 53 45 54 43 4f 4d 50  nt { IGP_SETCOMP
4480: 53 54 52 20 3d 20 30 78 30 30 30 30 30 30 31 34  STR = 0x00000014
4490: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
44a0: 7b 20 49 47 50 5f 53 45 4c 45 43 54 20 3d 20 30  { IGP_SELECT = 0
44b0: 78 30 30 30 30 30 30 31 38 20 7d 0d 0a 0d 0a 63  x00000018 }....c
44c0: 6f 6e 73 74 20 75 69 6e 74 20 53 43 53 5f 53 45  onst uint SCS_SE
44d0: 54 53 54 52 20 3d 20 47 43 53 5f 43 4f 4d 50 52  TSTR = GCS_COMPR
44e0: 45 41 44 53 54 52 7c 47 43 53 5f 43 4f 4d 50 53  EADSTR|GCS_COMPS
44f0: 54 52 3b 0d 0a 63 6f 6e 73 74 20 75 69 6e 74 20  TR;..const uint 
4500: 53 43 53 5f 43 48 41 4e 47 45 41 54 54 52 20 3d  SCS_CHANGEATTR =
4510: 20 47 43 53 5f 43 4f 4d 50 52 45 41 44 41 54 54   GCS_COMPREADATT
4520: 52 7c 47 43 53 5f 43 4f 4d 50 41 54 54 52 3b 0d  R|GCS_COMPATTR;.
4530: 0a 63 6f 6e 73 74 20 75 69 6e 74 20 53 43 53 5f  .const uint SCS_
4540: 43 48 41 4e 47 45 43 4c 41 55 53 45 20 3d 20 47  CHANGECLAUSE = G
4550: 43 53 5f 43 4f 4d 50 52 45 41 44 43 4c 41 55 53  CS_COMPREADCLAUS
4560: 45 7c 47 43 53 5f 43 4f 4d 50 43 4c 41 55 53 45  E|GCS_COMPCLAUSE
4570: 3b 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ;..enum : uint {
4580: 20 53 43 53 5f 53 45 54 52 45 43 4f 4e 56 45 52   SCS_SETRECONVER
4590: 54 53 54 52 49 4e 47 20 3d 20 30 78 30 30 30 31  TSTRING = 0x0001
45a0: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
45b0: 69 6e 74 20 7b 20 53 43 53 5f 51 55 45 52 59 52  int { SCS_QUERYR
45c0: 45 43 4f 4e 56 45 52 54 53 54 52 49 4e 47 20 3d  ECONVERTSTRING =
45d0: 20 30 78 30 30 30 32 30 30 30 30 20 7d 0d 0a 0d   0x00020000 }...
45e0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41  .enum : uint { A
45f0: 54 54 52 5f 49 4e 50 55 54 20 3d 20 30 78 30 30  TTR_INPUT = 0x00
4600: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
4610: 7b 20 41 54 54 52 5f 54 41 52 47 45 54 5f 43 4f  { ATTR_TARGET_CO
4620: 4e 56 45 52 54 45 44 20 3d 20 30 78 30 31 20 7d  NVERTED = 0x01 }
4630: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
4640: 41 54 54 52 5f 43 4f 4e 56 45 52 54 45 44 20 3d  ATTR_CONVERTED =
4650: 20 30 78 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x02 }..enum : 
4660: 75 69 6e 74 20 7b 20 41 54 54 52 5f 54 41 52 47  uint { ATTR_TARG
4670: 45 54 5f 4e 4f 54 43 4f 4e 56 45 52 54 45 44 20  ET_NOTCONVERTED 
4680: 3d 20 30 78 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x03 }..enum :
4690: 20 75 69 6e 74 20 7b 20 41 54 54 52 5f 49 4e 50   uint { ATTR_INP
46a0: 55 54 5f 45 52 52 4f 52 20 3d 20 30 78 30 34 20  UT_ERROR = 0x04 
46b0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
46c0: 20 41 54 54 52 5f 46 49 58 45 44 43 4f 4e 56 45   ATTR_FIXEDCONVE
46d0: 52 54 45 44 20 3d 20 30 78 30 35 20 7d 0d 0a 0d  RTED = 0x05 }...
46e0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43  .enum : uint { C
46f0: 46 53 5f 44 45 46 41 55 4c 54 20 3d 20 30 78 30  FS_DEFAULT = 0x0
4700: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
4710: 6e 74 20 7b 20 43 46 53 5f 52 45 43 54 20 3d 20  nt { CFS_RECT = 
4720: 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0001 }..enum :
4730: 20 75 69 6e 74 20 7b 20 43 46 53 5f 50 4f 49 4e   uint { CFS_POIN
4740: 54 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e  T = 0x0002 }..en
4750: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 46 53 5f  um : uint { CFS_
4760: 46 4f 52 43 45 5f 50 4f 53 49 54 49 4f 4e 20 3d  FORCE_POSITION =
4770: 20 30 78 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20   0x0020 }..enum 
4780: 3a 20 75 69 6e 74 20 7b 20 43 46 53 5f 43 41 4e  : uint { CFS_CAN
4790: 44 49 44 41 54 45 50 4f 53 20 3d 20 30 78 30 30  DIDATEPOS = 0x00
47a0: 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  40 }..enum : uin
47b0: 74 20 7b 20 43 46 53 5f 45 58 43 4c 55 44 45 20  t { CFS_EXCLUDE 
47c0: 3d 20 30 78 30 30 38 30 20 7d 0d 0a 0d 0a 65 6e  = 0x0080 }....en
47d0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 43 4c 5f  um : uint { GCL_
47e0: 43 4f 4e 56 45 52 53 49 4f 4e 20 3d 20 30 78 30  CONVERSION = 0x0
47f0: 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
4800: 6e 74 20 7b 20 47 43 4c 5f 52 45 56 45 52 53 45  nt { GCL_REVERSE
4810: 43 4f 4e 56 45 52 53 49 4f 4e 20 3d 20 30 78 30  CONVERSION = 0x0
4820: 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
4830: 6e 74 20 7b 20 47 43 4c 5f 52 45 56 45 52 53 45  nt { GCL_REVERSE
4840: 5f 4c 45 4e 47 54 48 20 3d 20 30 78 30 30 30 33  _LENGTH = 0x0003
4850: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
4860: 74 20 7b 20 49 4d 45 5f 43 4d 4f 44 45 5f 41 4c  t { IME_CMODE_AL
4870: 50 48 41 4e 55 4d 45 52 49 43 20 3d 20 30 78 30  PHANUMERIC = 0x0
4880: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
4890: 6e 74 20 7b 20 49 4d 45 5f 43 4d 4f 44 45 5f 4e  nt { IME_CMODE_N
48a0: 41 54 49 56 45 20 3d 20 30 78 30 30 30 31 20 7d  ATIVE = 0x0001 }
48b0: 0d 0a 61 6c 69 61 73 20 49 4d 45 5f 43 4d 4f 44  ..alias IME_CMOD
48c0: 45 5f 4e 41 54 49 56 45 20 49 4d 45 5f 43 4d 4f  E_NATIVE IME_CMO
48d0: 44 45 5f 43 48 49 4e 45 53 45 3b 0d 0a 0d 0a 61  DE_CHINESE;....a
48e0: 6c 69 61 73 20 49 4d 45 5f 43 4d 4f 44 45 5f 4e  lias IME_CMODE_N
48f0: 41 54 49 56 45 20 49 4d 45 5f 43 4d 4f 44 45 5f  ATIVE IME_CMODE_
4900: 48 41 4e 47 45 55 4c 3b 0d 0a 61 6c 69 61 73 20  HANGEUL;..alias 
4910: 49 4d 45 5f 43 4d 4f 44 45 5f 4e 41 54 49 56 45  IME_CMODE_NATIVE
4920: 20 49 4d 45 5f 43 4d 4f 44 45 5f 48 41 4e 47 55   IME_CMODE_HANGU
4930: 4c 3b 0d 0a 61 6c 69 61 73 20 49 4d 45 5f 43 4d  L;..alias IME_CM
4940: 4f 44 45 5f 4e 41 54 49 56 45 20 49 4d 45 5f 43  ODE_NATIVE IME_C
4950: 4d 4f 44 45 5f 4a 41 50 41 4e 45 53 45 3b 0d 0a  MODE_JAPANESE;..
4960: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
4970: 45 5f 43 4d 4f 44 45 5f 4b 41 54 41 4b 41 4e 41  E_CMODE_KATAKANA
4980: 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75   = 0x0002 }..enu
4990: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f 43  m : uint { IME_C
49a0: 4d 4f 44 45 5f 4c 41 4e 47 55 41 47 45 20 3d 20  MODE_LANGUAGE = 
49b0: 30 78 30 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0003 }..enum :
49c0: 20 75 69 6e 74 20 7b 20 49 4d 45 5f 43 4d 4f 44   uint { IME_CMOD
49d0: 45 5f 46 55 4c 4c 53 48 41 50 45 20 3d 20 30 78  E_FULLSHAPE = 0x
49e0: 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0008 }..enum : u
49f0: 69 6e 74 20 7b 20 49 4d 45 5f 43 4d 4f 44 45 5f  int { IME_CMODE_
4a00: 52 4f 4d 41 4e 20 3d 20 30 78 30 30 31 30 20 7d  ROMAN = 0x0010 }
4a10: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
4a20: 49 4d 45 5f 43 4d 4f 44 45 5f 43 48 41 52 43 4f  IME_CMODE_CHARCO
4a30: 44 45 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a 65  DE = 0x0020 }..e
4a40: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 45  num : uint { IME
4a50: 5f 43 4d 4f 44 45 5f 48 41 4e 4a 41 43 4f 4e 56  _CMODE_HANJACONV
4a60: 45 52 54 20 3d 20 30 78 30 30 34 30 20 7d 0d 0a  ERT = 0x0040 }..
4a70: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
4a80: 45 5f 43 4d 4f 44 45 5f 53 4f 46 54 4b 42 44 20  E_CMODE_SOFTKBD 
4a90: 3d 20 30 78 30 30 38 30 20 7d 0d 0a 65 6e 75 6d  = 0x0080 }..enum
4aa0: 20 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f 43 4d   : uint { IME_CM
4ab0: 4f 44 45 5f 4e 4f 43 4f 4e 56 45 52 53 49 4f 4e  ODE_NOCONVERSION
4ac0: 20 3d 20 30 78 30 31 30 30 20 7d 0d 0a 65 6e 75   = 0x0100 }..enu
4ad0: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f 43  m : uint { IME_C
4ae0: 4d 4f 44 45 5f 45 55 44 43 20 3d 20 30 78 30 32  MODE_EUDC = 0x02
4af0: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
4b00: 74 20 7b 20 49 4d 45 5f 43 4d 4f 44 45 5f 53 59  t { IME_CMODE_SY
4b10: 4d 42 4f 4c 20 3d 20 30 78 30 34 30 30 20 7d 0d  MBOL = 0x0400 }.
4b20: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
4b30: 4d 45 5f 43 4d 4f 44 45 5f 46 49 58 45 44 20 3d  ME_CMODE_FIXED =
4b40: 20 30 78 30 38 30 30 20 7d 0d 0a 0d 0a 65 6e 75   0x0800 }....enu
4b50: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f 53  m : uint { IME_S
4b60: 4d 4f 44 45 5f 4e 4f 4e 45 20 3d 20 30 78 30 30  MODE_NONE = 0x00
4b70: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
4b80: 74 20 7b 20 49 4d 45 5f 53 4d 4f 44 45 5f 50 4c  t { IME_SMODE_PL
4b90: 41 55 52 41 4c 43 4c 41 55 53 45 20 3d 20 30 78  AURALCLAUSE = 0x
4ba0: 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
4bb0: 69 6e 74 20 7b 20 49 4d 45 5f 53 4d 4f 44 45 5f  int { IME_SMODE_
4bc0: 53 49 4e 47 4c 45 43 4f 4e 56 45 52 54 20 3d 20  SINGLECONVERT = 
4bd0: 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0002 }..enum :
4be0: 20 75 69 6e 74 20 7b 20 49 4d 45 5f 53 4d 4f 44   uint { IME_SMOD
4bf0: 45 5f 41 55 54 4f 4d 41 54 49 43 20 3d 20 30 78  E_AUTOMATIC = 0x
4c00: 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0004 }..enum : u
4c10: 69 6e 74 20 7b 20 49 4d 45 5f 53 4d 4f 44 45 5f  int { IME_SMODE_
4c20: 50 48 52 41 53 45 50 52 45 44 49 43 54 20 3d 20  PHRASEPREDICT = 
4c30: 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0008 }..enum :
4c40: 20 75 69 6e 74 20 7b 20 49 4d 45 5f 53 4d 4f 44   uint { IME_SMOD
4c50: 45 5f 43 4f 4e 56 45 52 53 41 54 49 4f 4e 20 3d  E_CONVERSATION =
4c60: 20 30 78 30 30 31 30 20 7d 0d 0a 0d 0a 65 6e 75   0x0010 }....enu
4c70: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f 43  m : uint { IME_C
4c80: 41 4e 44 5f 55 4e 4b 4e 4f 57 4e 20 3d 20 30 78  AND_UNKNOWN = 0x
4c90: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
4ca0: 69 6e 74 20 7b 20 49 4d 45 5f 43 41 4e 44 5f 52  int { IME_CAND_R
4cb0: 45 41 44 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a  EAD = 0x0001 }..
4cc0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
4cd0: 45 5f 43 41 4e 44 5f 43 4f 44 45 20 3d 20 30 78  E_CAND_CODE = 0x
4ce0: 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
4cf0: 69 6e 74 20 7b 20 49 4d 45 5f 43 41 4e 44 5f 4d  int { IME_CAND_M
4d00: 45 41 4e 49 4e 47 20 3d 20 30 78 30 30 30 33 20  EANING = 0x0003 
4d10: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
4d20: 20 49 4d 45 5f 43 41 4e 44 5f 52 41 44 49 43 41   IME_CAND_RADICA
4d30: 4c 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e  L = 0x0004 }..en
4d40: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f  um : uint { IME_
4d50: 43 41 4e 44 5f 53 54 52 4f 4b 45 20 3d 20 30 78  CAND_STROKE = 0x
4d60: 30 30 30 35 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0005 }....enum :
4d70: 20 75 69 6e 74 20 7b 20 49 4d 4e 5f 43 4c 4f 53   uint { IMN_CLOS
4d80: 45 53 54 41 54 55 53 57 49 4e 44 4f 57 20 3d 20  ESTATUSWINDOW = 
4d90: 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0001 }..enum :
4da0: 20 75 69 6e 74 20 7b 20 49 4d 4e 5f 4f 50 45 4e   uint { IMN_OPEN
4db0: 53 54 41 54 55 53 57 49 4e 44 4f 57 20 3d 20 30  STATUSWINDOW = 0
4dc0: 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0002 }..enum : 
4dd0: 75 69 6e 74 20 7b 20 49 4d 4e 5f 43 48 41 4e 47  uint { IMN_CHANG
4de0: 45 43 41 4e 44 49 44 41 54 45 20 3d 20 30 78 30  ECANDIDATE = 0x0
4df0: 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  003 }..enum : ui
4e00: 6e 74 20 7b 20 49 4d 4e 5f 43 4c 4f 53 45 43 41  nt { IMN_CLOSECA
4e10: 4e 44 49 44 41 54 45 20 3d 20 30 78 30 30 30 34  NDIDATE = 0x0004
4e20: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
4e30: 7b 20 49 4d 4e 5f 4f 50 45 4e 43 41 4e 44 49 44  { IMN_OPENCANDID
4e40: 41 54 45 20 3d 20 30 78 30 30 30 35 20 7d 0d 0a  ATE = 0x0005 }..
4e50: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
4e60: 4e 5f 53 45 54 43 4f 4e 56 45 52 53 49 4f 4e 4d  N_SETCONVERSIONM
4e70: 4f 44 45 20 3d 20 30 78 30 30 30 36 20 7d 0d 0a  ODE = 0x0006 }..
4e80: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
4e90: 4e 5f 53 45 54 53 45 4e 54 45 4e 43 45 4d 4f 44  N_SETSENTENCEMOD
4ea0: 45 20 3d 20 30 78 30 30 30 37 20 7d 0d 0a 65 6e  E = 0x0007 }..en
4eb0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 4e 5f  um : uint { IMN_
4ec0: 53 45 54 4f 50 45 4e 53 54 41 54 55 53 20 3d 20  SETOPENSTATUS = 
4ed0: 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0008 }..enum :
4ee0: 20 75 69 6e 74 20 7b 20 49 4d 4e 5f 53 45 54 43   uint { IMN_SETC
4ef0: 41 4e 44 49 44 41 54 45 50 4f 53 20 3d 20 30 78  ANDIDATEPOS = 0x
4f00: 30 30 30 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0009 }..enum : u
4f10: 69 6e 74 20 7b 20 49 4d 4e 5f 53 45 54 43 4f 4d  int { IMN_SETCOM
4f20: 50 4f 53 49 54 49 4f 4e 46 4f 4e 54 20 3d 20 30  POSITIONFONT = 0
4f30: 78 30 30 30 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x000A }..enum : 
4f40: 75 69 6e 74 20 7b 20 49 4d 4e 5f 53 45 54 43 4f  uint { IMN_SETCO
4f50: 4d 50 4f 53 49 54 49 4f 4e 57 49 4e 44 4f 57 20  MPOSITIONWINDOW 
4f60: 3d 20 30 78 30 30 30 42 20 7d 0d 0a 65 6e 75 6d  = 0x000B }..enum
4f70: 20 3a 20 75 69 6e 74 20 7b 20 49 4d 4e 5f 53 45   : uint { IMN_SE
4f80: 54 53 54 41 54 55 53 57 49 4e 44 4f 57 50 4f 53  TSTATUSWINDOWPOS
4f90: 20 3d 20 30 78 30 30 30 43 20 7d 0d 0a 65 6e 75   = 0x000C }..enu
4fa0: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 4e 5f 47  m : uint { IMN_G
4fb0: 55 49 44 45 4c 49 4e 45 20 3d 20 30 78 30 30 30  UIDELINE = 0x000
4fc0: 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  D }..enum : uint
4fd0: 20 7b 20 49 4d 4e 5f 50 52 49 56 41 54 45 20 3d   { IMN_PRIVATE =
4fe0: 20 30 78 30 30 30 45 20 7d 0d 0a 0d 0a 2f 2f 20   0x000E }....// 
4ff0: 23 69 66 20 28 57 49 4e 56 45 52 20 3e 3d 20 30  #if (WINVER >= 0
5000: 78 30 34 30 41 29 0d 0a 0d 0a 65 6e 75 6d 20 3a  x040A)....enum :
5010: 20 75 69 6e 74 20 7b 20 49 4d 52 5f 43 4f 4d 50   uint { IMR_COMP
5020: 4f 53 49 54 49 4f 4e 57 49 4e 44 4f 57 20 3d 20  OSITIONWINDOW = 
5030: 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0001 }..enum :
5040: 20 75 69 6e 74 20 7b 20 49 4d 52 5f 43 41 4e 44   uint { IMR_CAND
5050: 49 44 41 54 45 57 49 4e 44 4f 57 20 3d 20 30 78  IDATEWINDOW = 0x
5060: 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
5070: 69 6e 74 20 7b 20 49 4d 52 5f 43 4f 4d 50 4f 53  int { IMR_COMPOS
5080: 49 54 49 4f 4e 46 4f 4e 54 20 3d 20 30 78 30 30  ITIONFONT = 0x00
5090: 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  03 }..enum : uin
50a0: 74 20 7b 20 49 4d 52 5f 52 45 43 4f 4e 56 45 52  t { IMR_RECONVER
50b0: 54 53 54 52 49 4e 47 20 3d 20 30 78 30 30 30 34  TSTRING = 0x0004
50c0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
50d0: 7b 20 49 4d 52 5f 43 4f 4e 46 49 52 4d 52 45 43  { IMR_CONFIRMREC
50e0: 4f 4e 56 45 52 54 53 54 52 49 4e 47 20 3d 20 30  ONVERTSTRING = 0
50f0: 78 30 30 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0005 }..enum : 
5100: 75 69 6e 74 20 7b 20 49 4d 52 5f 51 55 45 52 59  uint { IMR_QUERY
5110: 43 48 41 52 50 4f 53 49 54 49 4f 4e 20 3d 20 30  CHARPOSITION = 0
5120: 78 30 30 30 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0006 }..enum : 
5130: 75 69 6e 74 20 7b 20 49 4d 52 5f 44 4f 43 55 4d  uint { IMR_DOCUM
5140: 45 4e 54 46 45 45 44 20 3d 20 30 78 30 30 30 37  ENTFEED = 0x0007
5150: 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a   }..// #endif /*
5160: 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30   WINVER >= 0x040
5170: 41 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 7b 20 49  A */....enum { I
5180: 4d 4d 5f 45 52 52 4f 52 5f 4e 4f 44 41 54 41 20  MM_ERROR_NODATA 
5190: 3d 20 2d 31 20 7d 0d 0a 65 6e 75 6d 20 7b 20 49  = -1 }..enum { I
51a0: 4d 4d 5f 45 52 52 4f 52 5f 47 45 4e 45 52 41 4c  MM_ERROR_GENERAL
51b0: 20 3d 20 2d 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20   = -2 }....enum 
51c0: 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f 43 4f 4e  : uint { IME_CON
51d0: 46 49 47 5f 47 45 4e 45 52 41 4c 20 3d 20 31 20  FIG_GENERAL = 1 
51e0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
51f0: 20 49 4d 45 5f 43 4f 4e 46 49 47 5f 52 45 47 49   IME_CONFIG_REGI
5200: 53 54 45 52 57 4f 52 44 20 3d 20 32 20 7d 0d 0a  STERWORD = 2 }..
5210: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d  enum : uint { IM
5220: 45 5f 43 4f 4e 46 49 47 5f 53 45 4c 45 43 54 44  E_CONFIG_SELECTD
5230: 49 43 54 49 4f 4e 41 52 59 20 3d 20 33 20 7d 0d  ICTIONARY = 3 }.
5240: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
5250: 20 49 4d 45 5f 45 53 43 5f 51 55 45 52 59 5f 53   IME_ESC_QUERY_S
5260: 55 50 50 4f 52 54 20 3d 20 30 78 30 30 30 33 20  UPPORT = 0x0003 
5270: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
5280: 20 49 4d 45 5f 45 53 43 5f 52 45 53 45 52 56 45   IME_ESC_RESERVE
5290: 44 5f 46 49 52 53 54 20 3d 20 30 78 30 30 30 34  D_FIRST = 0x0004
52a0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
52b0: 7b 20 49 4d 45 5f 45 53 43 5f 52 45 53 45 52 56  { IME_ESC_RESERV
52c0: 45 44 5f 4c 41 53 54 20 3d 20 30 78 30 37 46 46  ED_LAST = 0x07FF
52d0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
52e0: 7b 20 49 4d 45 5f 45 53 43 5f 50 52 49 56 41 54  { IME_ESC_PRIVAT
52f0: 45 5f 46 49 52 53 54 20 3d 20 30 78 30 38 30 30  E_FIRST = 0x0800
5300: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
5310: 7b 20 49 4d 45 5f 45 53 43 5f 50 52 49 56 41 54  { IME_ESC_PRIVAT
5320: 45 5f 4c 41 53 54 20 3d 20 30 78 30 46 46 46 20  E_LAST = 0x0FFF 
5330: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
5340: 20 7b 20 49 4d 45 5f 45 53 43 5f 53 45 51 55 45   { IME_ESC_SEQUE
5350: 4e 43 45 5f 54 4f 5f 49 4e 54 45 52 4e 41 4c 20  NCE_TO_INTERNAL 
5360: 3d 20 30 78 31 30 30 31 20 7d 0d 0a 65 6e 75 6d  = 0x1001 }..enum
5370: 20 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f 45 53   : uint { IME_ES
5380: 43 5f 47 45 54 5f 45 55 44 43 5f 44 49 43 54 49  C_GET_EUDC_DICTI
5390: 4f 4e 41 52 59 20 3d 20 30 78 31 30 30 33 20 7d  ONARY = 0x1003 }
53a0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
53b0: 49 4d 45 5f 45 53 43 5f 53 45 54 5f 45 55 44 43  IME_ESC_SET_EUDC
53c0: 5f 44 49 43 54 49 4f 4e 41 52 59 20 3d 20 30 78  _DICTIONARY = 0x
53d0: 31 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  1004 }..enum : u
53e0: 69 6e 74 20 7b 20 49 4d 45 5f 45 53 43 5f 4d 41  int { IME_ESC_MA
53f0: 58 5f 4b 45 59 20 3d 20 30 78 31 30 30 35 20 7d  X_KEY = 0x1005 }
5400: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
5410: 49 4d 45 5f 45 53 43 5f 49 4d 45 5f 4e 41 4d 45  IME_ESC_IME_NAME
5420: 20 3d 20 30 78 31 30 30 36 20 7d 0d 0a 65 6e 75   = 0x1006 }..enu
5430: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f 45  m : uint { IME_E
5440: 53 43 5f 53 59 4e 43 5f 48 4f 54 4b 45 59 20 3d  SC_SYNC_HOTKEY =
5450: 20 30 78 31 30 30 37 20 7d 0d 0a 65 6e 75 6d 20   0x1007 }..enum 
5460: 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f 45 53 43  : uint { IME_ESC
5470: 5f 48 41 4e 4a 41 5f 4d 4f 44 45 20 3d 20 30 78  _HANJA_MODE = 0x
5480: 31 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  1008 }..enum : u
5490: 69 6e 74 20 7b 20 49 4d 45 5f 45 53 43 5f 41 55  int { IME_ESC_AU
54a0: 54 4f 4d 41 54 41 20 3d 20 30 78 31 30 30 39 20  TOMATA = 0x1009 
54b0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
54c0: 20 49 4d 45 5f 45 53 43 5f 50 52 49 56 41 54 45   IME_ESC_PRIVATE
54d0: 5f 48 4f 54 4b 45 59 20 3d 20 30 78 31 30 30 61  _HOTKEY = 0x100a
54e0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
54f0: 7b 20 49 4d 45 5f 45 53 43 5f 47 45 54 48 45 4c  { IME_ESC_GETHEL
5500: 50 46 49 4c 45 4e 41 4d 45 20 3d 20 30 78 31 30  PFILENAME = 0x10
5510: 30 62 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  0b }....enum : u
5520: 69 6e 74 20 7b 20 49 4d 45 5f 52 45 47 57 4f 52  int { IME_REGWOR
5530: 44 5f 53 54 59 4c 45 5f 45 55 44 43 20 3d 20 30  D_STYLE_EUDC = 0
5540: 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75  x00000001 }..enu
5550: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 45 5f 52  m : uint { IME_R
5560: 45 47 57 4f 52 44 5f 53 54 59 4c 45 5f 55 53 45  EGWORD_STYLE_USE
5570: 52 5f 46 49 52 53 54 20 3d 20 30 78 38 30 30 30  R_FIRST = 0x8000
5580: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
5590: 69 6e 74 20 7b 20 49 4d 45 5f 52 45 47 57 4f 52  int { IME_REGWOR
55a0: 44 5f 53 54 59 4c 45 5f 55 53 45 52 5f 4c 41 53  D_STYLE_USER_LAS
55b0: 54 20 3d 20 30 78 46 46 46 46 46 46 46 46 20 7d  T = 0xFFFFFFFF }
55c0: 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 57 49 4e 56  ....// #if (WINV
55d0: 45 52 20 3e 3d 20 30 78 30 34 30 41 29 0d 0a 0d  ER >= 0x040A)...
55e0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
55f0: 41 43 45 5f 43 48 49 4c 44 52 45 4e 20 3d 20 30  ACE_CHILDREN = 0
5600: 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0001 }..enum : 
5610: 75 69 6e 74 20 7b 20 49 41 43 45 5f 44 45 46 41  uint { IACE_DEFA
5620: 55 4c 54 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a  ULT = 0x0010 }..
5630: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 41  enum : uint { IA
5640: 43 45 5f 49 47 4e 4f 52 45 4e 4f 43 4f 4e 54 45  CE_IGNORENOCONTE
5650: 58 54 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a 0d  XT = 0x0020 }...
5660: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
5670: 47 49 4d 49 46 5f 52 49 47 48 54 4d 45 4e 55 20  GIMIF_RIGHTMENU 
5680: 3d 20 30 78 30 30 30 31 20 7d 0d 0a 0d 0a 65 6e  = 0x0001 }....en
5690: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 47 49 4d  um : uint { IGIM
56a0: 49 49 5f 43 4d 4f 44 45 20 3d 20 30 78 30 30 30  II_CMODE = 0x000
56b0: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
56c0: 20 7b 20 49 47 49 4d 49 49 5f 53 4d 4f 44 45 20   { IGIMII_SMODE 
56d0: 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  = 0x0002 }..enum
56e0: 20 3a 20 75 69 6e 74 20 7b 20 49 47 49 4d 49 49   : uint { IGIMII
56f0: 5f 43 4f 4e 46 49 47 55 52 45 20 3d 20 30 78 30  _CONFIGURE = 0x0
5700: 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
5710: 6e 74 20 7b 20 49 47 49 4d 49 49 5f 54 4f 4f 4c  nt { IGIMII_TOOL
5720: 53 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e  S = 0x0008 }..en
5730: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 47 49 4d  um : uint { IGIM
5740: 49 49 5f 48 45 4c 50 20 3d 20 30 78 30 30 31 30  II_HELP = 0x0010
5750: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
5760: 7b 20 49 47 49 4d 49 49 5f 4f 54 48 45 52 20 3d  { IGIMII_OTHER =
5770: 20 30 78 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20   0x0020 }..enum 
5780: 3a 20 75 69 6e 74 20 7b 20 49 47 49 4d 49 49 5f  : uint { IGIMII_
5790: 49 4e 50 55 54 54 4f 4f 4c 53 20 3d 20 30 78 30  INPUTTOOLS = 0x0
57a0: 30 34 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  040 }....enum : 
57b0: 75 69 6e 74 20 7b 20 49 4d 46 54 5f 52 41 44 49  uint { IMFT_RADI
57c0: 4f 43 48 45 43 4b 20 3d 20 30 78 30 30 30 30 31  OCHECK = 0x00001
57d0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
57e0: 7b 20 49 4d 46 54 5f 53 45 50 41 52 41 54 4f 52  { IMFT_SEPARATOR
57f0: 20 3d 20 30 78 30 30 30 30 32 20 7d 0d 0a 65 6e   = 0x00002 }..en
5800: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 46 54  um : uint { IMFT
5810: 5f 53 55 42 4d 45 4e 55 20 3d 20 30 78 30 30 30  _SUBMENU = 0x000
5820: 30 34 20 7d 0d 0a 0d 0a 61 6c 69 61 73 20 4d 46  04 }....alias MF
5830: 53 5f 47 52 41 59 45 44 20 49 4d 46 53 5f 47 52  S_GRAYED IMFS_GR
5840: 41 59 45 44 3b 0d 0a 61 6c 69 61 73 20 4d 46 53  AYED;..alias MFS
5850: 5f 44 49 53 41 42 4c 45 44 20 49 4d 46 53 5f 44  _DISABLED IMFS_D
5860: 49 53 41 42 4c 45 44 3b 0d 0a 61 6c 69 61 73 20  ISABLED;..alias 
5870: 4d 46 53 5f 43 48 45 43 4b 45 44 20 49 4d 46 53  MFS_CHECKED IMFS
5880: 5f 43 48 45 43 4b 45 44 3b 0d 0a 61 6c 69 61 73  _CHECKED;..alias
5890: 20 4d 46 53 5f 48 49 4c 49 54 45 20 49 4d 46 53   MFS_HILITE IMFS
58a0: 5f 48 49 4c 49 54 45 3b 0d 0a 61 6c 69 61 73 20  _HILITE;..alias 
58b0: 4d 46 53 5f 45 4e 41 42 4c 45 44 20 49 4d 46 53  MFS_ENABLED IMFS
58c0: 5f 45 4e 41 42 4c 45 44 3b 0d 0a 61 6c 69 61 73  _ENABLED;..alias
58d0: 20 4d 46 53 5f 55 4e 43 48 45 43 4b 45 44 20 49   MFS_UNCHECKED I
58e0: 4d 46 53 5f 55 4e 43 48 45 43 4b 45 44 3b 0d 0a  MFS_UNCHECKED;..
58f0: 61 6c 69 61 73 20 4d 46 53 5f 55 4e 48 49 4c 49  alias MFS_UNHILI
5900: 54 45 20 49 4d 46 53 5f 55 4e 48 49 4c 49 54 45  TE IMFS_UNHILITE
5910: 3b 0d 0a 61 6c 69 61 73 20 4d 46 53 5f 44 45 46  ;..alias MFS_DEF
5920: 41 55 4c 54 20 49 4d 46 53 5f 44 45 46 41 55 4c  AULT IMFS_DEFAUL
5930: 54 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  T;....// #endif 
5940: 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  /* WINVER >= 0x0
5950: 34 30 41 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a  40A */....enum :
5960: 20 75 69 6e 74 20 7b 20 53 4f 46 54 4b 45 59 42   uint { SOFTKEYB
5970: 4f 41 52 44 5f 54 59 50 45 5f 54 31 20 3d 20 30  OARD_TYPE_T1 = 0
5980: 78 30 30 30 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  x0001 }....enum 
5990: 3a 20 75 69 6e 74 20 7b 20 53 4f 46 54 4b 45 59  : uint { SOFTKEY
59a0: 42 4f 41 52 44 5f 54 59 50 45 5f 43 31 20 3d 20  BOARD_TYPE_C1 = 
59b0: 30 78 30 30 30 32 20 7d 0d 0a 0d 0a 2f 2f 20 23  0x0002 }....// #
59c0: 65 6e 64 69 66 20 20 2f 2f 20 5f 49 4d 4d 5f 53  endif  // _IMM_S
59d0: 44 4b 5f 44 45 46 49 4e 45 44 5f 0d 0a 0d 0a 2f  DK_DEFINED_..../
59e0: 2f 20 23 69 66 64 65 66 20 5f 5f 63 70 6c 75 73  / #ifdef __cplus
59f0: 70 6c 75 73 0d 0a 2f 2f 20 7d 0d 0a 2f 2f 20 23  plus..// }..// #
5a00: 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64  endif....// #end
5a10: 69 66 20 20 2f 2f 20 5f 49 4d 4d 5f 0d 0a        if  // _IMM_..