Differences From Artifact [6732090e27c6d34a]:
- File        
src/win32/imm.d
- 2011-02-23 12:53:16 - part of checkin [c2b7a98c21] on branch trunk - Initial import (user: kinaba) [annotate]
 
 
To Artifact [298859cd23308dab]:
- File        
src/win32/imm.d
- 2015-04-21 10:46:55 - part of checkin [4e2933c620] on branch trunk - Rebased to the latest verson dmd 2.067. Not yet verified the outcome. (user: kinaba) [annotate]
 
 
                                                                                        >     1  /***********************************************************************\
                                                                                        >     2  *                                 imm.d                                 *
                                                                                        >     3  *                                                                       *
                                                                                        >     4  *                       Windows API header module                       *
                                                                                        >     5  *                                                                       *
                                                                                        >     6  *                 Translated from MinGW Windows headers                 *
                                                                                        >     7  *                                                                       *
                                                                                        >     8  *                       Placed into public domain                       *
                                                                                        >     9  \***********************************************************************/
    1  module win32.imm;                                                                     10  module win32.imm;
                                                                                        >    11  pragma(lib, "imm32.lib");
    2                                                                                   |    12  
    3  // Translated from Microsoft Platform SDK August 2001 Edition                    <
    4  // by Y.Tomino                                                                   <
    5                                                                                   <
    6  import win32.windef;                                                             |    13  import win32.windef, win32.wingdi;
    7  import win32.winuser;                                                            |    14  import win32.winuser; // for the MFS_xxx enums.
                                                                                        >    15  private import win32.w32api;
    8                                                                                   |    16  
                                                                                        >    17  const WM_CONVERTREQUESTEX     = 0x108;
    9  // #ifndef _IMM_                                                                 |    18  const WM_IME_STARTCOMPOSITION = 0x10D;
   10  // #define _IMM_                                                                 |    19  const WM_IME_ENDCOMPOSITION   = 0x10E;
                                                                                        >    20  const WM_IME_COMPOSITION      = 0x10F;
                                                                                        >    21  const WM_IME_KEYLAST          = 0x10F;
                                                                                        >    22  const WM_IME_SETCONTEXT       = 0x281;
                                                                                        >    23  const WM_IME_NOTIFY           = 0x282;
                                                                                        >    24  const WM_IME_CONTROL          = 0x283;
                                                                                        >    25  const WM_IME_COMPOSITIONFULL  = 0x284;
                                                                                        >    26  const WM_IME_SELECT           = 0x285;
                                                                                        >    27  const WM_IME_CHAR             = 0x286;
                                                                                        >    28  static if (WINVER >= 0x500) {
                                                                                        >    29          const WM_IME_REQUEST      = 0x288;
   11                                                                                   |    30  }
   12  // #ifdef __cplusplus                                                            <
   13  // extern "C" {                                                                  <
   14  // #endif                                                                        <
                                                                                        >    31  const WM_IME_KEYDOWN          = 0x290;
                                                                                        >    32  const WM_IME_KEYUP            = 0x291;
   15                                                                                   |    33  
   16  // #ifndef _IMM_SDK_DEFINED_                                                     <
   17  // #define _IMM_SDK_DEFINED_                                                     <
   18                                                                                   |    34  
   19  // #if (WINVER >= 0x040A)                                                        <
   20  alias void* HIMC;                                                                <
   21  alias void* HIMCC;                                                               <
   22  // #else                                                                         <
   23  // ...                                                                           <
   24  // #endif /* WINVER >= 0x040A */                                                 <
                                                                                        >    35  const IMC_GETCANDIDATEPOS=7;
                                                                                        >    36  const IMC_SETCANDIDATEPOS=8;
                                                                                        >    37  const IMC_GETCOMPOSITIONFONT=9;
                                                                                        >    38  const IMC_SETCOMPOSITIONFONT=10;
                                                                                        >    39  const IMC_GETCOMPOSITIONWINDOW=11;
                                                                                        >    40  const IMC_SETCOMPOSITIONWINDOW=12;
                                                                                        >    41  const IMC_GETSTATUSWINDOWPOS=15;
                                                                                        >    42  const IMC_SETSTATUSWINDOWPOS=16;
                                                                                        >    43  const IMC_CLOSESTATUSWINDOW=0x21;
                                                                                        >    44  const IMC_OPENSTATUSWINDOW=0x22;
                                                                                        >    45  const IMN_CLOSESTATUSWINDOW=1;
                                                                                        >    46  const IMN_OPENSTATUSWINDOW=2;
                                                                                        >    47  const IMN_CHANGECANDIDATE=3;
                                                                                        >    48  const IMN_CLOSECANDIDATE=4;
                                                                                        >    49  const IMN_OPENCANDIDATE=5;
                                                                                        >    50  const IMN_SETCONVERSIONMODE=6;
                                                                                        >    51  const IMN_SETSENTENCEMODE=7;
                                                                                        >    52  const IMN_SETOPENSTATUS=8;
                                                                                        >    53  const IMN_SETCANDIDATEPOS=9;
                                                                                        >    54  const IMN_SETCOMPOSITIONFONT=10;
                                                                                        >    55  const IMN_SETCOMPOSITIONWINDOW=11;
                                                                                        >    56  const IMN_SETSTATUSWINDOWPOS=12;
                                                                                        >    57  const IMN_GUIDELINE=13;
                                                                                        >    58  const IMN_PRIVATE=14;
   25                                                                                   |    59  
                                                                                        >    60  const NI_OPENCANDIDATE=16;
                                                                                        >    61  const NI_CLOSECANDIDATE=17;
                                                                                        >    62  const NI_SELECTCANDIDATESTR=18;
                                                                                        >    63  const NI_CHANGECANDIDATELIST=19;
                                                                                        >    64  const NI_FINALIZECONVERSIONRESULT=20;
                                                                                        >    65  const NI_COMPOSITIONSTR=21;
                                                                                        >    66  const NI_SETCANDIDATE_PAGESTART=22;
                                                                                        >    67  const NI_SETCANDIDATE_PAGESIZE=23;
                                                                                        >    68  const NI_IMEMENUSELECTED=24;
                                                                                        >    69  
                                                                                        >    70  const ISC_SHOWUICANDIDATEWINDOW=1;
                                                                                        >    71  const ISC_SHOWUICOMPOSITIONWINDOW=0x80000000;
                                                                                        >    72  const ISC_SHOWUIGUIDELINE=0x40000000;
                                                                                        >    73  const ISC_SHOWUIALLCANDIDATEWINDOW=15;
                                                                                        >    74  const ISC_SHOWUIALL=0xC000000F;
                                                                                        >    75  
                                                                                        >    76  const CPS_COMPLETE=1;
                                                                                        >    77  const CPS_CONVERT=2;
                                                                                        >    78  const CPS_REVERT=3;
                                                                                        >    79  const CPS_CANCEL=4;
                                                                                        >    80  
                                                                                        >    81  const IME_CHOTKEY_IME_NONIME_TOGGLE=16;
                                                                                        >    82  const IME_CHOTKEY_SHAPE_TOGGLE=17;
                                                                                        >    83  const IME_CHOTKEY_SYMBOL_TOGGLE=18;
                                                                                        >    84  const IME_JHOTKEY_CLOSE_OPEN=0x30;
                                                                                        >    85  const IME_KHOTKEY_SHAPE_TOGGLE=0x50;
                                                                                        >    86  const IME_KHOTKEY_HANJACONVERT=0x51;
                                                                                        >    87  const IME_KHOTKEY_ENGLISH=0x52;
                                                                                        >    88  const IME_THOTKEY_IME_NONIME_TOGGLE=0x70;
                                                                                        >    89  const IME_THOTKEY_SHAPE_TOGGLE=0x71;
                                                                                        >    90  const IME_THOTKEY_SYMBOL_TOGGLE=0x72;
                                                                                        >    91  const IME_HOTKEY_DSWITCH_FIRST=256;
                                                                                        >    92  const IME_HOTKEY_DSWITCH_LAST=0x11F;
                                                                                        >    93  const IME_ITHOTKEY_RESEND_RESULTSTR=512;
                                                                                        >    94  const IME_ITHOTKEY_PREVIOUS_COMPOSITION=513;
                                                                                        >    95  const IME_ITHOTKEY_UISTYLE_TOGGLE=514;
                                                                                        >    96  
                                                                                        >    97  const GCS_COMPREADSTR=1;
                                                                                        >    98  const GCS_COMPREADATTR=2;
                                                                                        >    99  const GCS_COMPREADCLAUSE=4;
                                                                                        >   100  const GCS_COMPSTR=8;
                                                                                        >   101  const GCS_COMPATTR=16;
                                                                                        >   102  const GCS_COMPCLAUSE=32;
                                                                                        >   103  const GCS_CURSORPOS=128;
                                                                                        >   104  const GCS_DELTASTART=256;
                                                                                        >   105  const GCS_RESULTREADSTR=512;
                                                                                        >   106  const GCS_RESULTREADCLAUSE=1024;
                                                                                        >   107  const GCS_RESULTSTR=2048;
                                                                                        >   108  const GCS_RESULTCLAUSE=4096;
                                                                                        >   109  
                                                                                        >   110  const CS_INSERTCHAR=0x2000;
                                                                                        >   111  const CS_NOMOVECARET=0x4000;
                                                                                        >   112  
                                                                                        >   113  const IMEVER_0310=0x3000A;
                                                                                        >   114  const IMEVER_0400=0x40000;
                                                                                        >   115  
                                                                                        >   116  const IME_PROP_AT_CARET=0x10000;
                                                                                        >   117  const IME_PROP_SPECIAL_UI=0x20000;
                                                                                        >   118  const IME_PROP_CANDLIST_START_FROM_1=0x40000;
                                                                                        >   119  const IME_PROP_UNICODE=0x80000;
                                                                                        >   120  
                                                                                        >   121  const UI_CAP_2700=1;
                                                                                        >   122  const UI_CAP_ROT90=2;
                                                                                        >   123  const UI_CAP_ROTANY=4;
                                                                                        >   124  
                                                                                        >   125  const SCS_CAP_COMPSTR=1;
                                                                                        >   126  const SCS_CAP_MAKEREAD=2;
                                                                                        >   127  const SELECT_CAP_CONVERSION=1;
                                                                                        >   128  const SELECT_CAP_SENTENCE=2;
                                                                                        >   129  const GGL_LEVEL=1;
                                                                                        >   130  const GGL_INDEX=2;
                                                                                        >   131  const GGL_STRING=3;
                                                                                        >   132  const GGL_PRIVATE=4;
                                                                                        >   133  const GL_LEVEL_NOGUIDELINE=0;
                                                                                        >   134  const GL_LEVEL_FATAL=1;
                                                                                        >   135  const GL_LEVEL_ERROR=2;
                                                                                        >   136  const GL_LEVEL_WARNING=3;
                                                                                        >   137  const GL_LEVEL_INFORMATION=4;
                                                                                        >   138  const GL_ID_UNKNOWN=0;
                                                                                        >   139  const GL_ID_NOMODULE=1;
                                                                                        >   140  const GL_ID_NODICTIONARY=16;
                                                                                        >   141  const GL_ID_CANNOTSAVE=17;
                                                                                        >   142  const GL_ID_NOCONVERT=32;
                                                                                        >   143  const GL_ID_TYPINGERROR=33;
                                                                                        >   144  const GL_ID_TOOMANYSTROKE=34;
                                                                                        >   145  const GL_ID_READINGCONFLICT=35;
                                                                                        >   146  const GL_ID_INPUTREADING=36;
                                                                                        >   147  const GL_ID_INPUTRADICAL=37;
                                                                                        >   148  const GL_ID_INPUTCODE=38;
                                                                                        >   149  const GL_ID_INPUTSYMBOL=39;
                                                                                        >   150  const GL_ID_CHOOSECANDIDATE=40;
                                                                                        >   151  const GL_ID_REVERSECONVERSION=41;
                                                                                        >   152  const GL_ID_PRIVATE_FIRST=0x8000;
                                                                                        >   153  const GL_ID_PRIVATE_LAST=0xFFFF;
                                                                                        >   154  
                                                                                        >   155  const DWORD IGP_GETIMEVERSION = -4;
                                                                                        >   156  const IGP_PROPERTY=4;
                                                                                        >   157  const IGP_CONVERSION=8;
                                                                                        >   158  const IGP_SENTENCE=12;
                                                                                        >   159  const IGP_UI=16;
                                                                                        >   160  const IGP_SETCOMPSTR=0x14;
                                                                                        >   161  const IGP_SELECT=0x18;
                                                                                        >   162  
                                                                                        >   163  const SCS_SETSTR       = GCS_COMPREADSTR|GCS_COMPSTR;
                                                                                        >   164  const SCS_CHANGEATTR   = GCS_COMPREADATTR|GCS_COMPATTR;
                                                                                        >   165  const SCS_CHANGECLAUSE = GCS_COMPREADCLAUSE|GCS_COMPCLAUSE;
                                                                                        >   166  
                                                                                        >   167  const ATTR_INPUT=0;
                                                                                        >   168  const ATTR_TARGET_CONVERTED=1;
                                                                                        >   169  const ATTR_CONVERTED=2;
                                                                                        >   170  const ATTR_TARGET_NOTCONVERTED=3;
                                                                                        >   171  const ATTR_INPUT_ERROR=4;
                                                                                        >   172  const ATTR_FIXEDCONVERTED=5;
                                                                                        >   173  const CFS_DEFAULT=0;
                                                                                        >   174  const CFS_RECT=1;
                                                                                        >   175  const CFS_POINT=2;
                                                                                        >   176  const CFS_SCREEN=4;
                                                                                        >   177  const CFS_FORCE_POSITION=32;
                                                                                        >   178  const CFS_CANDIDATEPOS=64;
                                                                                        >   179  const CFS_EXCLUDE=128;
                                                                                        >   180  const GCL_CONVERSION=1;
                                                                                        >   181  const GCL_REVERSECONVERSION=2;
                                                                                        >   182  const GCL_REVERSE_LENGTH=3;
                                                                                        >   183  
                                                                                        >   184  const IME_CMODE_ALPHANUMERIC=0;
                                                                                        >   185  const IME_CMODE_NATIVE=1;
                                                                                        >   186  const IME_CMODE_CHINESE=IME_CMODE_NATIVE;
                                                                                        >   187  const IME_CMODE_HANGEUL=IME_CMODE_NATIVE;
                                                                                        >   188  const IME_CMODE_HANGUL=IME_CMODE_NATIVE;
                                                                                        >   189  const IME_CMODE_JAPANESE=IME_CMODE_NATIVE;
                                                                                        >   190  const IME_CMODE_KATAKANA=2;
                                                                                        >   191  const IME_CMODE_LANGUAGE=3;
                                                                                        >   192  const IME_CMODE_FULLSHAPE=8;
                                                                                        >   193  const IME_CMODE_ROMAN=16;
                                                                                        >   194  const IME_CMODE_CHARCODE=32;
                                                                                        >   195  const IME_CMODE_HANJACONVERT=64;
                                                                                        >   196  const IME_CMODE_SOFTKBD=128;
                                                                                        >   197  const IME_CMODE_NOCONVERSION=256;
                                                                                        >   198  const IME_CMODE_EUDC=512;
                                                                                        >   199  const IME_CMODE_SYMBOL=1024;
                                                                                        >   200  const IME_CMODE_FIXED=2048;
                                                                                        >   201  const IME_SMODE_NONE=0;
                                                                                        >   202  const IME_SMODE_PLAURALCLAUSE=1;
                                                                                        >   203  const IME_SMODE_SINGLECONVERT=2;
                                                                                        >   204  const IME_SMODE_AUTOMATIC=4;
                                                                                        >   205  const IME_SMODE_PHRASEPREDICT=8;
                                                                                        >   206  const IME_CAND_UNKNOWN=0;
                                                                                        >   207  const IME_CAND_READ=1;
                                                                                        >   208  const IME_CAND_CODE=2;
                                                                                        >   209  const IME_CAND_MEANING=3;
                                                                                        >   210  const IME_CAND_RADICAL=4;
                                                                                        >   211  const IME_CAND_STROKE=5;
                                                                                        >   212  const IMM_ERROR_NODATA=(-1);
                                                                                        >   213  const IMM_ERROR_GENERAL=(-2);
                                                                                        >   214  const IME_CONFIG_GENERAL=1;
                                                                                        >   215  const IME_CONFIG_REGISTERWORD=2;
                                                                                        >   216  const IME_CONFIG_SELECTDICTIONARY=3;
                                                                                        >   217  const IME_ESC_QUERY_SUPPORT=3;
                                                                                        >   218  const IME_ESC_RESERVED_FIRST=4;
                                                                                        >   219  const IME_ESC_RESERVED_LAST=0x7FF;
                                                                                        >   220  const IME_ESC_PRIVATE_FIRST=0x800;
                                                                                        >   221  const IME_ESC_PRIVATE_LAST=0xFFF;
                                                                                        >   222  const IME_ESC_SEQUENCE_TO_INTERNAL=0x1001;
                                                                                        >   223  const IME_ESC_GET_EUDC_DICTIONARY=0x1003;
                                                                                        >   224  const IME_ESC_SET_EUDC_DICTIONARY=0x1004;
                                                                                        >   225  const IME_ESC_MAX_KEY=0x1005;
                                                                                        >   226  const IME_ESC_IME_NAME=0x1006;
                                                                                        >   227  const IME_ESC_SYNC_HOTKEY=0x1007;
                                                                                        >   228  const IME_ESC_HANJA_MODE=0x1008;
                                                                                        >   229  const IME_ESC_AUTOMATA=0x1009;
                                                                                        >   230  const IME_REGWORD_STYLE_EUDC=1;
                                                                                        >   231  const IME_REGWORD_STYLE_USER_FIRST=0x80000000;
                                                                                        >   232  const IME_REGWORD_STYLE_USER_LAST=0xFFFFFFFF;
                                                                                        >   233  
                                                                                        >   234  const SOFTKEYBOARD_TYPE_T1=1;
                                                                                        >   235  const SOFTKEYBOARD_TYPE_C1=2;
                                                                                        >   236  
                                                                                        >   237  const IMEMENUITEM_STRING_SIZE=80;
                                                                                        >   238  
                                                                                        >   239  const MOD_ALT=1;
                                                                                        >   240  const MOD_CONTROL=2;
                                                                                        >   241  const MOD_SHIFT=4;
                                                                                        >   242  const MOD_WIN=8;
                                                                                        >   243  const MOD_IGNORE_ALL_MODIFIER=1024;
                                                                                        >   244  const MOD_ON_KEYUP=2048;
                                                                                        >   245  const MOD_RIGHT=16384;
                                                                                        >   246  const MOD_LEFT=32768;
                                                                                        >   247  
                                                                                        >   248  const IACE_CHILDREN=1;
                                                                                        >   249  const IACE_DEFAULT=16;
                                                                                        >   250  const IACE_IGNORENOCONTEXT=32;
                                                                                        >   251  
                                                                                        >   252  const IGIMIF_RIGHTMENU=1;
                                                                                        >   253  
                                                                                        >   254  const IGIMII_CMODE=1;
                                                                                        >   255  const IGIMII_SMODE=2;
                                                                                        >   256  const IGIMII_CONFIGURE=4;
                                                                                        >   257  const IGIMII_TOOLS=8;
                                                                                        >   258  const IGIMII_HELP=16;
                                                                                        >   259  const IGIMII_OTHER=32;
                                                                                        >   260  const IGIMII_INPUTTOOLS=64;
                                                                                        >   261  
                                                                                        >   262  const IMFT_RADIOCHECK=1;
                                                                                        >   263  const IMFT_SEPARATOR=2;
                                                                                        >   264  const IMFT_SUBMENU=4;
                                                                                        >   265  
                                                                                        >   266  const IMFS_GRAYED=MFS_GRAYED;
                                                                                        >   267  const IMFS_DISABLED=MFS_DISABLED;
                                                                                        >   268  const IMFS_CHECKED=MFS_CHECKED;
                                                                                        >   269  const IMFS_HILITE=MFS_HILITE;
                                                                                        >   270  const IMFS_ENABLED=MFS_ENABLED;
                                                                                        >   271  const IMFS_UNCHECKED=MFS_UNCHECKED;
                                                                                        >   272  const IMFS_UNHILITE=MFS_UNHILITE;
                                                                                        >   273  const IMFS_DEFAULT=MFS_DEFAULT;
                                                                                        >   274  
                                                                                        >   275  const STYLE_DESCRIPTION_SIZE=32;
                                                                                        >   276  
                                                                                        >   277  alias DWORD HIMC;
                                                                                        >   278  alias DWORD HIMCC;
   26  alias HKL* LPHKL;                                                                    279  alias HKL* LPHKL;
   27  alias UINT* LPUINT;                                                              <
   28                                                                                       280  
   29  struct tagCOMPOSITIONFORM {                                                      |   281  struct COMPOSITIONFORM{
   30    DWORD dwStyle;                                                                 |   282          DWORD dwStyle;
   31    POINT ptCurrentPos;                                                            |   283          POINT ptCurrentPos;
   32    RECT rcArea;                                                                   |   284          RECT rcArea;
                                                                                        >   285  }
                                                                                        >   286  alias COMPOSITIONFORM* PCOMPOSITIONFORM, LPCOMPOSITIONFORM;
                                                                                        >   287  
                                                                                        >   288  struct CANDIDATEFORM{
                                                                                        >   289          DWORD dwIndex;
                                                                                        >   290          DWORD dwStyle;
                                                                                        >   291          POINT ptCurrentPos;
                                                                                        >   292          RECT rcArea;
                                                                                        >   293  }
                                                                                        >   294  alias CANDIDATEFORM* PCANDIDATEFORM, LPCANDIDATEFORM;
                                                                                        >   295  
                                                                                        >   296  struct CANDIDATELIST{
                                                                                        >   297          DWORD dwSize;
                                                                                        >   298          DWORD dwStyle;
                                                                                        >   299          DWORD dwCount;
                                                                                        >   300          DWORD dwSelection;
                                                                                        >   301          DWORD dwPageStart;
                                                                                        >   302          DWORD dwPageSize;
                                                                                        >   303          DWORD dwOffset[1];
                                                                                        >   304  }
                                                                                        >   305  alias CANDIDATELIST* PCANDIDATELIST, LPCANDIDATELIST;
                                                                                        >   306  
                                                                                        >   307  struct REGISTERWORDA{
                                                                                        >   308          LPSTR lpReading;
                                                                                        >   309          LPSTR lpWord;
                                                                                        >   310  }
                                                                                        >   311  alias REGISTERWORDA* PREGISTERWORDA, LPREGISTERWORDA;
                                                                                        >   312  
                                                                                        >   313  struct REGISTERWORDW{
                                                                                        >   314          LPWSTR lpReading;
                                                                                        >   315          LPWSTR lpWord;
   33  }                                                                                    316  }
   34  alias tagCOMPOSITIONFORM COMPOSITIONFORM;                                        |   317  alias REGISTERWORDW* PREGISTERWORDW, LPREGISTERWORDW;
   35  alias tagCOMPOSITIONFORM* PCOMPOSITIONFORM;                                      <
   36  alias tagCOMPOSITIONFORM* NPCOMPOSITIONFORM;                                     <
   37  alias tagCOMPOSITIONFORM* LPCOMPOSITIONFORM;                                     <
   38                                                                                       318  
   39  struct tagCANDIDATEFORM {                                                        |   319  struct STYLEBUFA{
   40    DWORD dwIndex;                                                                 <
   41    DWORD dwStyle;                                                                 |   320          DWORD dwStyle;
   42    POINT ptCurrentPos;                                                            <
   43    RECT rcArea;                                                                   <
                                                                                        >   321          CHAR szDescription[STYLE_DESCRIPTION_SIZE];
   44  }                                                                                    322  }
   45  alias tagCANDIDATEFORM CANDIDATEFORM;                                            |   323  alias STYLEBUFA* PSTYLEBUFA, LPSTYLEBUFA;
   46  alias tagCANDIDATEFORM* PCANDIDATEFORM;                                          <
   47  alias tagCANDIDATEFORM* NPCANDIDATEFORM;                                         <
   48  alias tagCANDIDATEFORM* LPCANDIDATEFORM;                                         <
   49                                                                                       324  
   50  struct tagCANDIDATELIST {                                                        |   325  struct STYLEBUFW{
   51    DWORD dwSize;                                                                  <
   52    DWORD dwStyle;                                                                 |   326          DWORD dwStyle;
   53    DWORD dwCount;                                                                 <
   54    DWORD dwSelection;                                                             <
   55    DWORD dwPageStart;                                                             <
   56    DWORD dwPageSize;                                                              <
   57    DWORD dwOffset[1];                                                             <
                                                                                        >   327          WCHAR szDescription[STYLE_DESCRIPTION_SIZE];
   58  }                                                                                    328  }
   59  alias tagCANDIDATELIST CANDIDATELIST;                                            |   329  alias STYLEBUFW* PSTYLEBUFW, LPSTYLEBUFW;
   60  alias tagCANDIDATELIST* PCANDIDATELIST;                                          <
   61  alias tagCANDIDATELIST* NPCANDIDATELIST;                                         <
   62  alias tagCANDIDATELIST* LPCANDIDATELIST;                                         <
   63                                                                                       330  
   64  struct tagREGISTERWORDA {                                                        |   331  struct IMEMENUITEMINFOA{
   65    LPSTR lpReading;                                                               |   332          UINT cbSize = this.sizeof;
   66    LPSTR lpWord;                                                                  |   333          UINT fType;
                                                                                        >   334          UINT fState;
                                                                                        >   335          UINT wID;
                                                                                        >   336          HBITMAP hbmpChecked;
                                                                                        >   337          HBITMAP hbmpUnchecked;
                                                                                        >   338          DWORD dwItemData;
                                                                                        >   339          CHAR szString[IMEMENUITEM_STRING_SIZE];
                                                                                        >   340          HBITMAP hbmpItem;
   67  }                                                                                    341  }
   68  alias tagREGISTERWORDA REGISTERWORDA;                                            |   342  alias IMEMENUITEMINFOA* PIMEMENUITEMINFOA, LPIMEMENUITEMINFOA;
   69  alias tagREGISTERWORDA* PREGISTERWORDA;                                          <
   70  alias tagREGISTERWORDA* NPREGISTERWORDA;                                         <
   71  alias tagREGISTERWORDA* LPREGISTERWORDA;                                         <
   72                                                                                   <
   73  struct tagREGISTERWORDW {                                                        <
   74    LPWSTR lpReading;                                                              <
   75    LPWSTR lpWord;                                                                 <
   76  }                                                                                <
   77  alias tagREGISTERWORDW REGISTERWORDW;                                            <
   78  alias tagREGISTERWORDW* PREGISTERWORDW;                                          <
   79  alias tagREGISTERWORDW* NPREGISTERWORDW;                                         <
   80  alias tagREGISTERWORDW* LPREGISTERWORDW;                                         <
   81                                                                                   <
   82  // #ifdef UNICODE                                                                <
   83  alias REGISTERWORDW REGISTERWORD;                                                <
   84  alias PREGISTERWORDW PREGISTERWORD;                                              <
   85  alias NPREGISTERWORDW NPREGISTERWORD;                                            <
   86  alias LPREGISTERWORDW LPREGISTERWORD;                                            <
   87  // #else                                                                         <
   88  // ...                                                                           <
   89  // #endif // UNICODE                                                             <
   90                                                                                       343  
   91  // #if (WINVER >= 0x040A)                                                        |   344  struct IMEMENUITEMINFOW{
   92                                                                                   <
                                                                                        >   345          UINT cbSize = this.sizeof;
   93  struct tagRECONVERTSTRING {                                                      |   346          UINT fType;
   94    DWORD dwSize;                                                                  |   347          UINT fState;
   95    DWORD dwVersion;                                                               |   348          UINT wID;
   96    DWORD dwStrLen;                                                                |   349          HBITMAP hbmpChecked;
   97    DWORD dwStrOffset;                                                             |   350          HBITMAP hbmpUnchecked;
   98    DWORD dwCompStrLen;                                                            |   351          DWORD dwItemData;
   99    DWORD dwCompStrOffset;                                                         |   352          WCHAR szString[IMEMENUITEM_STRING_SIZE];
  100    DWORD dwTargetStrLen;                                                          |   353          HBITMAP hbmpItem;
  101    DWORD dwTargetStrOffset;                                                       <
  102  }                                                                                <
  103  alias tagRECONVERTSTRING RECONVERTSTRING;                                        <
  104  alias tagRECONVERTSTRING* PRECONVERTSTRING;                                      <
  105  alias tagRECONVERTSTRING* NPRECONVERTSTRING;                                     <
  106  alias tagRECONVERTSTRING* LPRECONVERTSTRING;                                     <
  107                                                                                   <
  108  // #endif /* WINVER >= 0x040A */                                                 <
  109                                                                                   <
  110  enum : uint { STYLE_DESCRIPTION_SIZE = 32 }                                      <
  111                                                                                   <
  112  struct tagSTYLEBUFA {                                                            <
  113    DWORD dwStyle;                                                                 <
  114    CHAR szDescription[STYLE_DESCRIPTION_SIZE];                                    <
  115  }                                                                                    354  }
  116  alias tagSTYLEBUFA STYLEBUFA;                                                    |   355  alias IMEMENUITEMINFOW* PIMEMENUITEMINFOW, LPIMEMENUITEMINFOW;
  117  alias tagSTYLEBUFA* PSTYLEBUFA;                                                  <
  118  alias tagSTYLEBUFA* NPSTYLEBUFA;                                                 <
  119  alias tagSTYLEBUFA* LPSTYLEBUFA;                                                 <
  120                                                                                       356  
  121  struct tagSTYLEBUFW {                                                            |   357  alias int function (LPCSTR, DWORD, LPCSTR, LPVOID)  REGISTERWORDENUMPROCA;
  122    DWORD dwStyle;                                                                 |   358  alias int function (LPCWSTR, DWORD, LPCWSTR, LPVOID) REGISTERWORDENUMPROCW;
  123    WCHAR szDescription[STYLE_DESCRIPTION_SIZE];                                   <
  124  }                                                                                <
  125  alias tagSTYLEBUFW STYLEBUFW;                                                    <
  126  alias tagSTYLEBUFW* PSTYLEBUFW;                                                  <
  127  alias tagSTYLEBUFW* NPSTYLEBUFW;                                                 <
  128  alias tagSTYLEBUFW* LPSTYLEBUFW;                                                 <
  129                                                                                   <
  130  // #ifdef UNICODE                                                                <
  131  alias STYLEBUFW STYLEBUF;                                                        <
  132  alias PSTYLEBUFW PSTYLEBUF;                                                      <
  133  alias NPSTYLEBUFW NPSTYLEBUF;                                                    <
  134  alias LPSTYLEBUFW LPSTYLEBUF;                                                    <
  135  // #else                                                                         <
  136  // ...                                                                           <
  137  // #endif // UNICODE                                                             <
  138                                                                                       359  
  139  // #if (WINVER >= 0x040A)                                                        |   360  version(Unicode) {
  140                                                                                   <
                                                                                        >   361          alias REGISTERWORDENUMPROCW REGISTERWORDENUMPROC;
  141  enum : uint { IMEMENUITEM_STRING_SIZE = 80 }                                     |   362          alias REGISTERWORDW REGISTERWORD;
  142                                                                                   <
  143  struct tagIMEMENUITEMINFOA {                                                     <
  144    UINT cbSize;                                                                   <
  145    UINT fType;                                                                    <
  146    UINT fState;                                                                   <
  147    UINT wID;                                                                      <
  148    HBITMAP hbmpChecked;                                                           <
  149    HBITMAP hbmpUnchecked;                                                         <
  150    DWORD dwItemData;                                                              <
  151    CHAR szString[IMEMENUITEM_STRING_SIZE];                                        <
  152    HBITMAP hbmpItem;                                                              <
  153  }                                                                                <
  154  alias tagIMEMENUITEMINFOA IMEMENUITEMINFOA;                                      <
  155  alias tagIMEMENUITEMINFOA* PIMEMENUITEMINFOA;                                    <
  156  alias tagIMEMENUITEMINFOA* NPIMEMENUITEMINFOA;                                   <
  157  alias tagIMEMENUITEMINFOA* LPIMEMENUITEMINFOA;                                   <
  158                                                                                   <
  159  struct tagIMEMENUITEMINFOW {                                                     <
  160    UINT cbSize;                                                                   <
  161    UINT fType;                                                                    <
  162    UINT fState;                                                                   <
  163    UINT wID;                                                                      <
  164    HBITMAP hbmpChecked;                                                           <
  165    HBITMAP hbmpUnchecked;                                                         <
  166    DWORD dwItemData;                                                              <
  167    WCHAR szString[IMEMENUITEM_STRING_SIZE];                                       <
  168    HBITMAP hbmpItem;                                                              <
  169  }                                                                                <
  170  alias tagIMEMENUITEMINFOW IMEMENUITEMINFOW;                                      <
  171  alias tagIMEMENUITEMINFOW* PIMEMENUITEMINFOW;                                    <
  172  alias tagIMEMENUITEMINFOW* NPIMEMENUITEMINFOW;                                   <
  173  alias tagIMEMENUITEMINFOW* LPIMEMENUITEMINFOW;                                   <
  174                                                                                   <
  175  // #ifdef UNICODE                                                                <
  176  alias IMEMENUITEMINFOW IMEMENUITEMINFO;                                          |   363          alias IMEMENUITEMINFOW IMEMENUITEMINFO;
  177  alias PIMEMENUITEMINFOW PIMEMENUITEMINFO;                                        <
  178  alias NPIMEMENUITEMINFOW NPIMEMENUITEMINFO;                                      <
  179  alias LPIMEMENUITEMINFOW LPIMEMENUITEMINFO;                                      <
                                                                                        >   364          alias STYLEBUFW STYLEBUF;
  180  // #else                                                                         |   365  } else {
  181  // ...                                                                           <
  182  // #endif // UNICODE                                                             <
  183                                                                                   <
  184  struct tagIMECHARPOSITION {                                                      <
  185    DWORD dwSize;                                                                  <
  186    DWORD dwCharPos;                                                               <
  187    POINT pt;                                                                      <
  188    UINT cLineHeight;                                                              <
  189    RECT rcDocument;                                                               <
                                                                                        >   366          alias REGISTERWORDENUMPROCA REGISTERWORDENUMPROC;
                                                                                        >   367          alias REGISTERWORDA REGISTERWORD;
                                                                                        >   368          alias IMEMENUITEMINFOA IMEMENUITEMINFO;
                                                                                        >   369          alias STYLEBUFA STYLEBUF;
  190  }                                                                                    370  }
  191  alias tagIMECHARPOSITION IMECHARPOSITION;                                        <
  192  alias tagIMECHARPOSITION* PIMECHARPOSITION;                                      <
  193  alias tagIMECHARPOSITION* NPIMECHARPOSITION;                                     <
  194  alias tagIMECHARPOSITION* LPIMECHARPOSITION;                                     <
  195                                                                                       371  
  196  extern(Windows) alias BOOL function(HIMC, LPARAM) IMCENUMPROC;                   |   372  alias STYLEBUF* PSTYLEBUF, LPSTYLEBUF;
                                                                                        >   373  alias REGISTERWORD* PREGISTERWORD, LPREGISTERWORD;
                                                                                        >   374  alias IMEMENUITEMINFO* PIMEMENUITEMINFO, LPIMEMENUITEMINFO;
  197                                                                                       375  
  198  // #endif /* WINVER >= 0x040A */                                                 <
  199                                                                                       376  
  200  extern(Windows) export HKL ImmInstallIMEA( LPCSTR lpszIMEFileName,  LPCSTR lpszL |   377  extern (Windows):
  201  extern(Windows) export HKL ImmInstallIMEW( LPCWSTR lpszIMEFileName,  LPCWSTR lps |   378  HKL ImmInstallIMEA(LPCSTR, LPCSTR);
  202  // #ifdef UNICODE                                                                <
  203  alias ImmInstallIMEW ImmInstallIME;                                              |   379  HKL ImmInstallIMEW(LPCWSTR, LPCWSTR);
  204  // #else                                                                         <
  205  // #...                                                                          <
  206  // #endif // !UNICODE                                                            <
  207                                                                                   <
  208  extern(Windows) export HWND ImmGetDefaultIMEWnd( HWND);                          |   380  HWND ImmGetDefaultIMEWnd(HWND);
  209                                                                                   <
  210  extern(Windows) export UINT ImmGetDescriptionA( HKL,  LPSTR,  UINT uBufLen);     |   381  UINT ImmGetDescriptionA(HKL, LPSTR, UINT);
  211  extern(Windows) export UINT ImmGetDescriptionW( HKL,  LPWSTR,  UINT uBufLen);    |   382  UINT ImmGetDescriptionW(HKL, LPWSTR, UINT);
                                                                                        >   383  UINT ImmGetIMEFileNameA(HKL, LPSTR, UINT);
                                                                                        >   384  UINT ImmGetIMEFileNameW(HKL, LPWSTR, UINT);
                                                                                        >   385  DWORD ImmGetProperty(HKL, DWORD);
                                                                                        >   386  BOOL ImmIsIME(HKL);
                                                                                        >   387  BOOL ImmSimulateHotKey(HWND, DWORD);
                                                                                        >   388  HIMC ImmCreateContext();
  212  // #ifdef UNICODE                                                                |   389  BOOL ImmDestroyContext(HIMC);
  213  alias ImmGetDescriptionW ImmGetDescription;                                      |   390  HIMC ImmGetContext(HWND);
  214  // #else                                                                         |   391  BOOL ImmReleaseContext(HWND, HIMC);
  215  // #...                                                                          |   392  HIMC ImmAssociateContext(HWND, HIMC);
  216  // #endif // !UNICODE                                                            |   393  LONG ImmGetCompositionStringA(HIMC, DWORD, PVOID, DWORD);
                                                                                        >   394  LONG ImmGetCompositionStringW(HIMC, DWORD, PVOID, DWORD);
                                                                                        >   395  BOOL ImmSetCompositionStringA(HIMC, DWORD, PCVOID, DWORD, PCVOID, DWORD);
                                                                                        >   396  BOOL ImmSetCompositionStringW(HIMC, DWORD, PCVOID, DWORD, PCVOID, DWORD);
                                                                                        >   397  DWORD ImmGetCandidateListCountA(HIMC, PDWORD);
                                                                                        >   398  DWORD ImmGetCandidateListCountW(HIMC, PDWORD);
                                                                                        >   399  DWORD ImmGetCandidateListA(HIMC, DWORD, PCANDIDATELIST, DWORD);
                                                                                        >   400  DWORD ImmGetCandidateListW(HIMC, DWORD, PCANDIDATELIST, DWORD);
                                                                                        >   401  DWORD ImmGetGuideLineA(HIMC, DWORD, LPSTR, DWORD);
                                                                                        >   402  DWORD ImmGetGuideLineW(HIMC, DWORD, LPWSTR, DWORD);
                                                                                        >   403  BOOL ImmGetConversionStatus(HIMC, LPDWORD, PDWORD);
                                                                                        >   404  BOOL ImmSetConversionStatus(HIMC, DWORD, DWORD);
                                                                                        >   405  BOOL ImmGetOpenStatus(HIMC);
                                                                                        >   406  BOOL ImmSetOpenStatus(HIMC, BOOL);
  217                                                                                       407  
  218  extern(Windows) export UINT ImmGetIMEFileNameA( HKL,  LPSTR,  UINT uBufLen);     |   408  BOOL ImmGetCompositionFontA(HIMC, LPLOGFONTA);
  219  extern(Windows) export UINT ImmGetIMEFileNameW( HKL,  LPWSTR,  UINT uBufLen);    |   409  BOOL ImmGetCompositionFontW(HIMC, LPLOGFONTW);
  220  // #ifdef UNICODE                                                                |   410  BOOL ImmSetCompositionFontA(HIMC, LPLOGFONTA);
  221  alias ImmGetIMEFileNameW ImmGetIMEFileName;                                      |   411  BOOL ImmSetCompositionFontW(HIMC, LPLOGFONTW);
  222  // #else                                                                         <
  223  // #...                                                                          <
  224  // #endif // !UNICODE                                                            <
  225                                                                                   <
  226  extern(Windows) export DWORD ImmGetProperty( HKL,  DWORD);                       <
  227                                                                                   <
  228  extern(Windows) export BOOL ImmIsIME( HKL);                                      <
  229                                                                                   <
  230  extern(Windows) export BOOL ImmSimulateHotKey( HWND,  DWORD);                    <
  231                                                                                   <
  232  extern(Windows) export HIMC ImmCreateContext();                                  <
  233  extern(Windows) export BOOL ImmDestroyContext( HIMC);                            <
  234  extern(Windows) export HIMC ImmGetContext( HWND);                                <
  235  extern(Windows) export BOOL ImmReleaseContext( HWND,  HIMC);                     <
  236  extern(Windows) export HIMC ImmAssociateContext( HWND,  HIMC);                   <
  237  // #if (WINVER >= 0x040A)                                                        <
  238  extern(Windows) export BOOL ImmAssociateContextEx( HWND,  HIMC,  DWORD);         <
  239  // #endif /* WINVER >= 0x040A */                                                 <
  240                                                                                       412  
  241  extern(Windows) export LONG ImmGetCompositionStringA( HIMC,  DWORD,  LPVOID,  DW <
  242  extern(Windows) export LONG ImmGetCompositionStringW( HIMC,  DWORD,  LPVOID,  DW <
  243  // #ifdef UNICODE                                                                <
  244  alias ImmGetCompositionStringW ImmGetCompositionString;                          <
  245  // #else                                                                         <
  246  // #...                                                                          <
  247  // #endif // !UNICODE                                                            <
  248                                                                                   <
  249  extern(Windows) export BOOL ImmSetCompositionStringA( HIMC,  DWORD dwIndex,  LPV <
  250  extern(Windows) export BOOL ImmSetCompositionStringW( HIMC,  DWORD dwIndex,  LPV <
  251  // #ifdef UNICODE                                                                <
  252  alias ImmSetCompositionStringW ImmSetCompositionString;                          <
  253  // #else                                                                         <
  254  // #...                                                                          <
  255  // #endif // !UNICODE                                                            <
  256                                                                                   <
  257  extern(Windows) export DWORD ImmGetCandidateListCountA( HIMC,  LPDWORD lpdwListC <
  258  extern(Windows) export DWORD ImmGetCandidateListCountW( HIMC,  LPDWORD lpdwListC <
  259  // #ifdef UNICODE                                                                <
  260  alias ImmGetCandidateListCountW ImmGetCandidateListCount;                        <
  261  // #else                                                                         <
  262  // #...                                                                          <
  263  // #endif // !UNICODE                                                            <
  264                                                                                   <
  265  extern(Windows) export DWORD ImmGetCandidateListA( HIMC,  DWORD deIndex,  LPCAND <
  266  extern(Windows) export DWORD ImmGetCandidateListW( HIMC,  DWORD deIndex,  LPCAND <
  267  // #ifdef UNICODE                                                                <
  268  alias ImmGetCandidateListW ImmGetCandidateList;                                  <
  269  // #else                                                                         <
  270  // #...                                                                          <
  271  // #endif // !UNICODE                                                            <
  272                                                                                   <
  273  extern(Windows) export DWORD ImmGetGuideLineA( HIMC,  DWORD dwIndex,  LPSTR,  DW <
  274  extern(Windows) export DWORD ImmGetGuideLineW( HIMC,  DWORD dwIndex,  LPWSTR,  D <
  275  // #ifdef UNICODE                                                                <
  276  alias ImmGetGuideLineW ImmGetGuideLine;                                          <
  277  // #else                                                                         <
  278  // #...                                                                          <
  279  // #endif // !UNICODE                                                            <
  280                                                                                   <
  281  extern(Windows) export BOOL ImmGetConversionStatus( HIMC,  LPDWORD,  LPDWORD);   <
  282  extern(Windows) export BOOL ImmSetConversionStatus( HIMC,  DWORD,  DWORD);       <
  283  extern(Windows) export BOOL ImmGetOpenStatus( HIMC);                             <
  284  extern(Windows) export BOOL ImmSetOpenStatus( HIMC,  BOOL);                      <
  285                                                                                   <
  286  // #if defined(_WINGDI_) && !defined(NOGDI)                                      <
  287  // ...                                                                           <
  288  // #ifdef UNICODE                                                                <
  289  // #...                                                                          <
  290  // #else                                                                         <
  291  // #...                                                                          <
  292  // #endif // !UNICODE                                                            <
  293                                                                                   <
  294  // ...                                                                           <
  295  // #ifdef UNICODE                                                                <
  296  // #...                                                                          <
  297  // #else                                                                         <
  298  // #...                                                                          <
  299  // #endif // !UNICODE                                                            <
  300  // #endif  // defined(_WINGDI_) && !defined(NOGDI)                               <
  301                                                                                   <
  302  extern(Windows) export BOOL ImmConfigureIMEA( HKL,  HWND,  DWORD,  LPVOID);      |   413  BOOL ImmConfigureIMEA(HKL, HWND, DWORD, PVOID);
  303  extern(Windows) export BOOL ImmConfigureIMEW( HKL,  HWND,  DWORD,  LPVOID);      <
  304  // #ifdef UNICODE                                                                <
  305  alias ImmConfigureIMEW ImmConfigureIME;                                          |   414  BOOL ImmConfigureIMEW(HKL, HWND, DWORD, PVOID);
  306  // #else                                                                         <
  307  // #...                                                                          <
  308  // #endif // !UNICODE                                                            <
  309                                                                                   <
  310  extern(Windows) export LRESULT ImmEscapeA( HKL,  HIMC,  UINT,  LPVOID);          <
  311  extern(Windows) export LRESULT ImmEscapeW( HKL,  HIMC,  UINT,  LPVOID);          <
  312  // #ifdef UNICODE                                                                <
  313  alias ImmEscapeW ImmEscape;                                                      <
  314  // #else                                                                         <
  315  // #...                                                                          <
  316  // #endif // !UNICODE                                                            <
  317                                                                                   <
  318  extern(Windows) export DWORD ImmGetConversionListA( HKL,  HIMC,  LPCSTR,  LPCAND <
  319  extern(Windows) export DWORD ImmGetConversionListW( HKL,  HIMC,  LPCWSTR,  LPCAN <
  320  // #ifdef UNICODE                                                                <
                                                                                        >   415  LRESULT ImmEscapeA(HKL, HIMC, UINT, PVOID);
                                                                                        >   416  LRESULT ImmEscapeW(HKL, HIMC, UINT, PVOID);
                                                                                        >   417  DWORD ImmGetConversionListA(HKL, HIMC, LPCSTR, PCANDIDATELIST, DWORD, UINT);
  321  alias ImmGetConversionListW ImmGetConversionList;                                |   418  DWORD ImmGetConversionListW(HKL, HIMC, LPCWSTR, PCANDIDATELIST, DWORD, UINT);
  322  // #else                                                                         <
  323  // #...                                                                          <
  324  // #endif // !UNICODE                                                            <
  325                                                                                   <
  326  extern(Windows) export BOOL ImmNotifyIME( HIMC,  DWORD dwAction,  DWORD dwIndex, <
  327                                                                                   <
                                                                                        >   419  BOOL ImmNotifyIME(HIMC, DWORD, DWORD, DWORD);
  328  extern(Windows) export BOOL ImmGetStatusWindowPos( HIMC,  LPPOINT);              |   420  BOOL ImmGetStatusWindowPos(HIMC, LPPOINT);
  329  extern(Windows) export BOOL ImmSetStatusWindowPos( HIMC,  LPPOINT);              |   421  BOOL ImmSetStatusWindowPos(HIMC, LPPOINT);
  330  extern(Windows) export BOOL ImmGetCompositionWindow( HIMC,  LPCOMPOSITIONFORM);  |   422  BOOL ImmGetCompositionWindow(HIMC, PCOMPOSITIONFORM);
  331  extern(Windows) export BOOL ImmSetCompositionWindow( HIMC,  LPCOMPOSITIONFORM);  |   423  BOOL ImmSetCompositionWindow(HIMC, PCOMPOSITIONFORM);
  332  extern(Windows) export BOOL ImmGetCandidateWindow( HIMC,  DWORD,  LPCANDIDATEFOR |   424  BOOL ImmGetCandidateWindow(HIMC, DWORD, PCANDIDATEFORM);
  333  extern(Windows) export BOOL ImmSetCandidateWindow( HIMC,  LPCANDIDATEFORM);      |   425  BOOL ImmSetCandidateWindow(HIMC, PCANDIDATEFORM);
  334                                                                                   <
  335  extern(Windows) export BOOL ImmIsUIMessageA( HWND,  UINT,  WPARAM,  LPARAM);     <
  336  extern(Windows) export BOOL ImmIsUIMessageW( HWND,  UINT,  WPARAM,  LPARAM);     <
  337  // #ifdef UNICODE                                                                <
                                                                                        >   426  BOOL ImmIsUIMessageA(HWND, UINT, WPARAM, LPARAM);
  338  alias ImmIsUIMessageW ImmIsUIMessage;                                            |   427  BOOL ImmIsUIMessageW(HWND, UINT, WPARAM, LPARAM);
  339  // #else                                                                         <
  340  // #...                                                                          <
  341  // #endif // !UNICODE                                                            <
  342                                                                                   <
  343  extern(Windows) export UINT ImmGetVirtualKey( HWND);                             |   428  UINT ImmGetVirtualKey(HWND);
  344                                                                                   <
  345  extern(Windows) alias int function(LPCSTR, DWORD, LPCSTR, LPVOID) REGISTERWORDEN <
  346  extern(Windows) alias int function(LPCWSTR, DWORD, LPCWSTR, LPVOID) REGISTERWORD <
  347  // #ifdef UNICODE                                                                <
  348  alias REGISTERWORDENUMPROCW REGISTERWORDENUMPROC;                                <
  349  // #else                                                                         <
  350  // #...                                                                          <
  351  // #endif // !UNICODE                                                            <
  352                                                                                   <
  353  extern(Windows) export BOOL ImmRegisterWordA( HKL,  LPCSTR lpszReading,  DWORD,  <
  354  extern(Windows) export BOOL ImmRegisterWordW( HKL,  LPCWSTR lpszReading,  DWORD, <
  355  // #ifdef UNICODE                                                                <
                                                                                        >   429  BOOL ImmRegisterWordA(HKL, LPCSTR, DWORD, LPCSTR);
  356  alias ImmRegisterWordW ImmRegisterWord;                                          |   430  BOOL ImmRegisterWordW(HKL, LPCWSTR, DWORD, LPCWSTR);
  357  // #else                                                                         <
  358  // #...                                                                          <
  359  // #endif // !UNICODE                                                            <
                                                                                        >   431  BOOL ImmUnregisterWordA(HKL, LPCSTR, DWORD, LPCSTR);
                                                                                        >   432  BOOL ImmUnregisterWordW(HKL, LPCWSTR, DWORD, LPCWSTR);
                                                                                        >   433  UINT ImmGetRegisterWordStyleA(HKL, UINT, PSTYLEBUFA);
                                                                                        >   434  UINT ImmGetRegisterWordStyleW(HKL, UINT, PSTYLEBUFW);
                                                                                        >   435  UINT ImmEnumRegisterWordA(HKL, REGISTERWORDENUMPROCA, LPCSTR, DWORD, LPCSTR, PVO
                                                                                        >   436  UINT ImmEnumRegisterWordW(HKL, REGISTERWORDENUMPROCW, LPCWSTR, DWORD, LPCWSTR, P
                                                                                        >   437  BOOL EnableEUDC(BOOL);
                                                                                        >   438  BOOL ImmDisableIME(DWORD);
                                                                                        >   439  DWORD ImmGetImeMenuItemsA(HIMC, DWORD, DWORD, LPIMEMENUITEMINFOA, LPIMEMENUITEMI
                                                                                        >   440  DWORD ImmGetImeMenuItemsW(HIMC, DWORD, DWORD, LPIMEMENUITEMINFOW, LPIMEMENUITEMI
  360                                                                                       441  
  361  extern(Windows) export BOOL ImmUnregisterWordA( HKL,  LPCSTR lpszReading,  DWORD |   442  version(Unicode) {
  362  extern(Windows) export BOOL ImmUnregisterWordW( HKL,  LPCWSTR lpszReading,  DWOR |   443          alias ImmEnumRegisterWordW ImmEnumRegisterWord;
  363  // #ifdef UNICODE                                                                |   444          alias ImmGetRegisterWordStyleW ImmGetRegisterWordStyle;
  364  alias ImmUnregisterWordW ImmUnregisterWord;                                      |   445          alias ImmUnregisterWordW ImmUnregisterWord;
  365  // #else                                                                         |   446          alias ImmRegisterWordW ImmRegisterWord;
  366  // #...                                                                          |   447          alias ImmInstallIMEW ImmInstallIME;
  367  // #endif // !UNICODE                                                            |   448          alias ImmIsUIMessageW ImmIsUIMessage;
  368                                                                                   <
                                                                                        >   449          alias ImmGetConversionListW ImmGetConversionList;
  369  extern(Windows) export UINT ImmGetRegisterWordStyleA( HKL,  UINT nItem,  LPSTYLE |   450          alias ImmEscapeW ImmEscape;
  370  extern(Windows) export UINT ImmGetRegisterWordStyleW( HKL,  UINT nItem,  LPSTYLE |   451          alias ImmConfigureIMEW ImmConfigureIME;
  371  // #ifdef UNICODE                                                                |   452          alias ImmSetCompositionFontW ImmSetCompositionFont;
  372  alias ImmGetRegisterWordStyleW ImmGetRegisterWordStyle;                          |   453          alias ImmGetCompositionFontW ImmGetCompositionFont;
  373  // #else                                                                         |   454          alias ImmGetGuideLineW ImmGetGuideLine;
  374  // #...                                                                          |   455          alias ImmGetCandidateListW ImmGetCandidateList;
  375  // #endif // !UNICODE                                                            |   456          alias ImmGetCandidateListCountW ImmGetCandidateListCount;
  376                                                                                   <
                                                                                        >   457          alias ImmSetCompositionStringW ImmSetCompositionString;
  377  extern(Windows) export UINT ImmEnumRegisterWordA( HKL,  REGISTERWORDENUMPROCA,   |   458          alias ImmGetCompositionStringW ImmGetCompositionString;
  378  extern(Windows) export UINT ImmEnumRegisterWordW( HKL,  REGISTERWORDENUMPROCW,   |   459          alias ImmGetDescriptionW ImmGetDescription;
  379  // #ifdef UNICODE                                                                |   460          alias ImmGetIMEFileNameW ImmGetIMEFileName;
  380  alias ImmEnumRegisterWordW ImmEnumRegisterWord;                                  |   461          alias ImmGetImeMenuItemsW ImmGetImeMenuItems;
  381  // #else                                                                         |   462  } else {
  382  // #...                                                                          |   463          alias ImmEnumRegisterWordA ImmEnumRegisterWord;
  383  // #endif // !UNICODE                                                            |   464          alias ImmGetRegisterWordStyleA ImmGetRegisterWordStyle;
  384                                                                                   <
                                                                                        >   465          alias ImmUnregisterWordA ImmUnregisterWord;
  385  // #if (WINVER >= 0x040A)                                                        |   466          alias ImmRegisterWordA ImmRegisterWord;
  386  extern(Windows) export BOOL ImmDisableIME( DWORD);                               |   467          alias ImmInstallIMEA ImmInstallIME;
  387  extern(Windows) export BOOL ImmEnumInputContext(DWORD idThread, IMCENUMPROC lpfn |   468          alias ImmIsUIMessageA ImmIsUIMessage;
  388  extern(Windows) export DWORD ImmGetImeMenuItemsA( HIMC,  DWORD,  DWORD,  LPIMEME |   469          alias ImmGetConversionListA ImmGetConversionList;
  389  extern(Windows) export DWORD ImmGetImeMenuItemsW( HIMC,  DWORD,  DWORD,  LPIMEME |   470          alias ImmEscapeA ImmEscape;
  390  // #ifdef UNICODE                                                                |   471          alias ImmConfigureIMEA ImmConfigureIME;
                                                                                        >   472          alias ImmSetCompositionFontA ImmSetCompositionFont;
                                                                                        >   473          alias ImmGetCompositionFontA ImmGetCompositionFont;
                                                                                        >   474          alias ImmGetGuideLineA ImmGetGuideLine;
                                                                                        >   475          alias ImmGetCandidateListA ImmGetCandidateList;
                                                                                        >   476          alias ImmGetCandidateListCountA ImmGetCandidateListCount;
                                                                                        >   477          alias ImmSetCompositionStringA ImmSetCompositionString;
                                                                                        >   478          alias ImmGetCompositionStringA ImmGetCompositionString;
                                                                                        >   479          alias ImmGetDescriptionA ImmGetDescription;
                                                                                        >   480          alias ImmGetIMEFileNameA ImmGetIMEFileName;
  391  alias ImmGetImeMenuItemsW ImmGetImeMenuItems;                                    |   481          alias ImmGetImeMenuItemsW ImmGetImeMenuItems;
  392  // #else                                                                         <
  393  // #...                                                                          <
  394  // #endif // !UNICODE                                                            <
  395  // #endif /* WINVER >= 0x040A */                                                 <
  396                                                                                   |   482  }
  397  enum : uint { IMC_GETCANDIDATEPOS = 0x0007 }                                     <
  398  enum : uint { IMC_SETCANDIDATEPOS = 0x0008 }                                     <
  399  enum : uint { IMC_GETCOMPOSITIONFONT = 0x0009 }                                  <
  400  enum : uint { IMC_SETCOMPOSITIONFONT = 0x000A }                                  <
  401  enum : uint { IMC_GETCOMPOSITIONWINDOW = 0x000B }                                <
  402  enum : uint { IMC_SETCOMPOSITIONWINDOW = 0x000C }                                <
  403  enum : uint { IMC_GETSTATUSWINDOWPOS = 0x000F }                                  <
  404  enum : uint { IMC_SETSTATUSWINDOWPOS = 0x0010 }                                  <
  405  enum : uint { IMC_CLOSESTATUSWINDOW = 0x0021 }                                   <
  406  enum : uint { IMC_OPENSTATUSWINDOW = 0x0022 }                                    <
  407                                                                                   <
  408  enum : uint { NI_OPENCANDIDATE = 0x0010 }                                        <
  409  enum : uint { NI_CLOSECANDIDATE = 0x0011 }                                       <
  410  enum : uint { NI_SELECTCANDIDATESTR = 0x0012 }                                   <
  411  enum : uint { NI_CHANGECANDIDATELIST = 0x0013 }                                  <
  412  enum : uint { NI_FINALIZECONVERSIONRESULT = 0x0014 }                             <
  413  enum : uint { NI_COMPOSITIONSTR = 0x0015 }                                       <
  414  enum : uint { NI_SETCANDIDATE_PAGESTART = 0x0016 }                               <
  415  enum : uint { NI_SETCANDIDATE_PAGESIZE = 0x0017 }                                <
  416  enum : uint { NI_IMEMENUSELECTED = 0x0018 }                                      <
  417                                                                                   <
  418  enum : uint { ISC_SHOWUICANDIDATEWINDOW = 0x00000001 }                           <
  419  enum : uint { ISC_SHOWUICOMPOSITIONWINDOW = 0x80000000 }                         <
  420  enum : uint { ISC_SHOWUIGUIDELINE = 0x40000000 }                                 <
  421  enum : uint { ISC_SHOWUIALLCANDIDATEWINDOW = 0x0000000F }                        <
  422  enum : uint { ISC_SHOWUIALL = 0xC000000F }                                       <
  423                                                                                   <
  424  enum : uint { CPS_COMPLETE = 0x0001 }                                            <
  425  enum : uint { CPS_CONVERT = 0x0002 }                                             <
  426  enum : uint { CPS_REVERT = 0x0003 }                                              <
  427  enum : uint { CPS_CANCEL = 0x0004 }                                              <
  428                                                                                   <
  429  enum : uint { MOD_ALT = 0x0001 }                                                 <
  430  enum : uint { MOD_CONTROL = 0x0002 }                                             <
  431  enum : uint { MOD_SHIFT = 0x0004 }                                               <
  432                                                                                   <
  433  enum : uint { MOD_LEFT = 0x8000 }                                                <
  434  enum : uint { MOD_RIGHT = 0x4000 }                                               <
  435                                                                                   <
  436  enum : uint { MOD_ON_KEYUP = 0x0800 }                                            <
  437  enum : uint { MOD_IGNORE_ALL_MODIFIER = 0x0400 }                                 <
  438                                                                                   <
  439  enum : uint { IME_CHOTKEY_IME_NONIME_TOGGLE = 0x10 }                             <
  440  enum : uint { IME_CHOTKEY_SHAPE_TOGGLE = 0x11 }                                  <
  441  enum : uint { IME_CHOTKEY_SYMBOL_TOGGLE = 0x12 }                                 <
  442                                                                                   <
  443  enum : uint { IME_JHOTKEY_CLOSE_OPEN = 0x30 }                                    <
  444                                                                                   <
  445  enum : uint { IME_KHOTKEY_SHAPE_TOGGLE = 0x50 }                                  <
  446  enum : uint { IME_KHOTKEY_HANJACONVERT = 0x51 }                                  <
  447  enum : uint { IME_KHOTKEY_ENGLISH = 0x52 }                                       <
  448                                                                                   <
  449  enum : uint { IME_THOTKEY_IME_NONIME_TOGGLE = 0x70 }                             <
  450  enum : uint { IME_THOTKEY_SHAPE_TOGGLE = 0x71 }                                  <
  451  enum : uint { IME_THOTKEY_SYMBOL_TOGGLE = 0x72 }                                 <
  452                                                                                   <
  453  enum : uint { IME_HOTKEY_DSWITCH_FIRST = 0x100 }                                 <
  454  enum : uint { IME_HOTKEY_DSWITCH_LAST = 0x11F }                                  <
  455                                                                                   <
  456  enum : uint { IME_HOTKEY_PRIVATE_FIRST = 0x200 }                                 <
  457  enum : uint { IME_ITHOTKEY_RESEND_RESULTSTR = 0x200 }                            <
  458  enum : uint { IME_ITHOTKEY_PREVIOUS_COMPOSITION = 0x201 }                        <
  459  enum : uint { IME_ITHOTKEY_UISTYLE_TOGGLE = 0x202 }                              <
  460  enum : uint { IME_ITHOTKEY_RECONVERTSTRING = 0x203 }                             <
  461  enum : uint { IME_HOTKEY_PRIVATE_LAST = 0x21F }                                  <
  462                                                                                   <
  463  enum : uint { GCS_COMPREADSTR = 0x0001 }                                         <
  464  enum : uint { GCS_COMPREADATTR = 0x0002 }                                        <
  465  enum : uint { GCS_COMPREADCLAUSE = 0x0004 }                                      <
  466  enum : uint { GCS_COMPSTR = 0x0008 }                                             <
  467  enum : uint { GCS_COMPATTR = 0x0010 }                                            <
  468  enum : uint { GCS_COMPCLAUSE = 0x0020 }                                          <
  469  enum : uint { GCS_CURSORPOS = 0x0080 }                                           <
  470  enum : uint { GCS_DELTASTART = 0x0100 }                                          <
  471  enum : uint { GCS_RESULTREADSTR = 0x0200 }                                       <
  472  enum : uint { GCS_RESULTREADCLAUSE = 0x0400 }                                    <
  473  enum : uint { GCS_RESULTSTR = 0x0800 }                                           <
  474  enum : uint { GCS_RESULTCLAUSE = 0x1000 }                                        <
  475                                                                                   <
  476  enum : uint { CS_INSERTCHAR = 0x2000 }                                           <
  477  enum : uint { CS_NOMOVECARET = 0x4000 }                                          <
  478                                                                                   <
  479  enum : uint { IMEVER_0310 = 0x0003000A }                                         <
  480  enum : uint { IMEVER_0400 = 0x00040000 }                                         <
  481                                                                                   <
  482  enum : uint { IME_PROP_AT_CARET = 0x00010000 }                                   <
  483  enum : uint { IME_PROP_SPECIAL_UI = 0x00020000 }                                 <
  484  enum : uint { IME_PROP_CANDLIST_START_FROM_1 = 0x00040000 }                      <
  485  enum : uint { IME_PROP_UNICODE = 0x00080000 }                                    <
  486  enum : uint { IME_PROP_COMPLETE_ON_UNSELECT = 0x00100000 }                       <
  487                                                                                   <
  488  enum : uint { UI_CAP_2700 = 0x00000001 }                                         <
  489  enum : uint { UI_CAP_ROT90 = 0x00000002 }                                        <
  490  enum : uint { UI_CAP_ROTANY = 0x00000004 }                                       <
  491                                                                                   <
  492  enum : uint { SCS_CAP_COMPSTR = 0x00000001 }                                     <
  493  enum : uint { SCS_CAP_MAKEREAD = 0x00000002 }                                    <
  494  enum : uint { SCS_CAP_SETRECONVERTSTRING = 0x00000004 }                          <
  495                                                                                   <
  496  enum : uint { SELECT_CAP_CONVERSION = 0x00000001 }                               <
  497  enum : uint { SELECT_CAP_SENTENCE = 0x00000002 }                                 <
  498                                                                                   <
  499  enum : uint { GGL_LEVEL = 0x00000001 }                                           <
  500  enum : uint { GGL_INDEX = 0x00000002 }                                           <
  501  enum : uint { GGL_STRING = 0x00000003 }                                          <
  502  enum : uint { GGL_PRIVATE = 0x00000004 }                                         <
  503                                                                                   <
  504  enum : uint { GL_LEVEL_NOGUIDELINE = 0x00000000 }                                <
  505  enum : uint { GL_LEVEL_FATAL = 0x00000001 }                                      <
  506  enum : uint { GL_LEVEL_ERROR = 0x00000002 }                                      <
  507  enum : uint { GL_LEVEL_WARNING = 0x00000003 }                                    <
  508  enum : uint { GL_LEVEL_INFORMATION = 0x00000004 }                                <
  509                                                                                   <
  510  enum : uint { GL_ID_UNKNOWN = 0x00000000 }                                       <
  511  enum : uint { GL_ID_NOMODULE = 0x00000001 }                                      <
  512  enum : uint { GL_ID_NODICTIONARY = 0x00000010 }                                  <
  513  enum : uint { GL_ID_CANNOTSAVE = 0x00000011 }                                    <
  514  enum : uint { GL_ID_NOCONVERT = 0x00000020 }                                     <
  515  enum : uint { GL_ID_TYPINGERROR = 0x00000021 }                                   <
  516  enum : uint { GL_ID_TOOMANYSTROKE = 0x00000022 }                                 <
  517  enum : uint { GL_ID_READINGCONFLICT = 0x00000023 }                               <
  518  enum : uint { GL_ID_INPUTREADING = 0x00000024 }                                  <
  519  enum : uint { GL_ID_INPUTRADICAL = 0x00000025 }                                  <
  520  enum : uint { GL_ID_INPUTCODE = 0x00000026 }                                     <
  521  enum : uint { GL_ID_INPUTSYMBOL = 0x00000027 }                                   <
  522  enum : uint { GL_ID_CHOOSECANDIDATE = 0x00000028 }                               <
  523  enum : uint { GL_ID_REVERSECONVERSION = 0x00000029 }                             <
  524  enum : uint { GL_ID_PRIVATE_FIRST = 0x00008000 }                                 <
  525  enum : uint { GL_ID_PRIVATE_LAST = 0x0000FFFF }                                  <
  526                                                                                   <
  527  const DWORD IGP_GETIMEVERSION = cast(DWORD)-4;                                   <
  528  enum : uint { IGP_PROPERTY = 0x00000004 }                                        <
  529  enum : uint { IGP_CONVERSION = 0x00000008 }                                      <
  530  enum : uint { IGP_SENTENCE = 0x0000000c }                                        <
  531  enum : uint { IGP_UI = 0x00000010 }                                              <
  532  enum : uint { IGP_SETCOMPSTR = 0x00000014 }                                      <
  533  enum : uint { IGP_SELECT = 0x00000018 }                                          <
  534                                                                                   <
  535  const uint SCS_SETSTR = GCS_COMPREADSTR|GCS_COMPSTR;                             <
  536  const uint SCS_CHANGEATTR = GCS_COMPREADATTR|GCS_COMPATTR;                       <
  537  const uint SCS_CHANGECLAUSE = GCS_COMPREADCLAUSE|GCS_COMPCLAUSE;                 <
  538  enum : uint { SCS_SETRECONVERTSTRING = 0x00010000 }                              <
  539  enum : uint { SCS_QUERYRECONVERTSTRING = 0x00020000 }                            <
  540                                                                                   <
  541  enum : uint { ATTR_INPUT = 0x00 }                                                <
  542  enum : uint { ATTR_TARGET_CONVERTED = 0x01 }                                     <
  543  enum : uint { ATTR_CONVERTED = 0x02 }                                            <
  544  enum : uint { ATTR_TARGET_NOTCONVERTED = 0x03 }                                  <
  545  enum : uint { ATTR_INPUT_ERROR = 0x04 }                                          <
  546  enum : uint { ATTR_FIXEDCONVERTED = 0x05 }                                       <
  547                                                                                   <
  548  enum : uint { CFS_DEFAULT = 0x0000 }                                             <
  549  enum : uint { CFS_RECT = 0x0001 }                                                <
  550  enum : uint { CFS_POINT = 0x0002 }                                               <
  551  enum : uint { CFS_FORCE_POSITION = 0x0020 }                                      <
  552  enum : uint { CFS_CANDIDATEPOS = 0x0040 }                                        <
  553  enum : uint { CFS_EXCLUDE = 0x0080 }                                             <
  554                                                                                   <
  555  enum : uint { GCL_CONVERSION = 0x0001 }                                          <
  556  enum : uint { GCL_REVERSECONVERSION = 0x0002 }                                   <
  557  enum : uint { GCL_REVERSE_LENGTH = 0x0003 }                                      <
  558                                                                                   <
  559  enum : uint { IME_CMODE_ALPHANUMERIC = 0x0000 }                                  <
  560  enum : uint { IME_CMODE_NATIVE = 0x0001 }                                        <
  561  alias IME_CMODE_NATIVE IME_CMODE_CHINESE;                                        <
  562                                                                                   <
  563  alias IME_CMODE_NATIVE IME_CMODE_HANGEUL;                                        <
  564  alias IME_CMODE_NATIVE IME_CMODE_HANGUL;                                         <
  565  alias IME_CMODE_NATIVE IME_CMODE_JAPANESE;                                       <
  566  enum : uint { IME_CMODE_KATAKANA = 0x0002 }                                      <
  567  enum : uint { IME_CMODE_LANGUAGE = 0x0003 }                                      <
  568  enum : uint { IME_CMODE_FULLSHAPE = 0x0008 }                                     <
  569  enum : uint { IME_CMODE_ROMAN = 0x0010 }                                         <
  570  enum : uint { IME_CMODE_CHARCODE = 0x0020 }                                      <
  571  enum : uint { IME_CMODE_HANJACONVERT = 0x0040 }                                  <
  572  enum : uint { IME_CMODE_SOFTKBD = 0x0080 }                                       <
  573  enum : uint { IME_CMODE_NOCONVERSION = 0x0100 }                                  <
  574  enum : uint { IME_CMODE_EUDC = 0x0200 }                                          <
  575  enum : uint { IME_CMODE_SYMBOL = 0x0400 }                                        <
  576  enum : uint { IME_CMODE_FIXED = 0x0800 }                                         <
  577                                                                                   <
  578  enum : uint { IME_SMODE_NONE = 0x0000 }                                          <
  579  enum : uint { IME_SMODE_PLAURALCLAUSE = 0x0001 }                                 <
  580  enum : uint { IME_SMODE_SINGLECONVERT = 0x0002 }                                 <
  581  enum : uint { IME_SMODE_AUTOMATIC = 0x0004 }                                     <
  582  enum : uint { IME_SMODE_PHRASEPREDICT = 0x0008 }                                 <
  583  enum : uint { IME_SMODE_CONVERSATION = 0x0010 }                                  <
  584                                                                                   <
  585  enum : uint { IME_CAND_UNKNOWN = 0x0000 }                                        <
  586  enum : uint { IME_CAND_READ = 0x0001 }                                           <
  587  enum : uint { IME_CAND_CODE = 0x0002 }                                           <
  588  enum : uint { IME_CAND_MEANING = 0x0003 }                                        <
  589  enum : uint { IME_CAND_RADICAL = 0x0004 }                                        <
  590  enum : uint { IME_CAND_STROKE = 0x0005 }                                         <
  591                                                                                   <
  592  enum : uint { IMN_CLOSESTATUSWINDOW = 0x0001 }                                   <
  593  enum : uint { IMN_OPENSTATUSWINDOW = 0x0002 }                                    <
  594  enum : uint { IMN_CHANGECANDIDATE = 0x0003 }                                     <
  595  enum : uint { IMN_CLOSECANDIDATE = 0x0004 }                                      <
  596  enum : uint { IMN_OPENCANDIDATE = 0x0005 }                                       <
  597  enum : uint { IMN_SETCONVERSIONMODE = 0x0006 }                                   <
  598  enum : uint { IMN_SETSENTENCEMODE = 0x0007 }                                     <
  599  enum : uint { IMN_SETOPENSTATUS = 0x0008 }                                       <
  600  enum : uint { IMN_SETCANDIDATEPOS = 0x0009 }                                     <
  601  enum : uint { IMN_SETCOMPOSITIONFONT = 0x000A }                                  <
  602  enum : uint { IMN_SETCOMPOSITIONWINDOW = 0x000B }                                <
  603  enum : uint { IMN_SETSTATUSWINDOWPOS = 0x000C }                                  <
  604  enum : uint { IMN_GUIDELINE = 0x000D }                                           <
  605  enum : uint { IMN_PRIVATE = 0x000E }                                             <
  606                                                                                   <
  607  // #if (WINVER >= 0x040A)                                                        <
  608                                                                                   <
  609  enum : uint { IMR_COMPOSITIONWINDOW = 0x0001 }                                   <
  610  enum : uint { IMR_CANDIDATEWINDOW = 0x0002 }                                     <
  611  enum : uint { IMR_COMPOSITIONFONT = 0x0003 }                                     <
  612  enum : uint { IMR_RECONVERTSTRING = 0x0004 }                                     <
  613  enum : uint { IMR_CONFIRMRECONVERTSTRING = 0x0005 }                              <
  614  enum : uint { IMR_QUERYCHARPOSITION = 0x0006 }                                   <
  615  enum : uint { IMR_DOCUMENTFEED = 0x0007 }                                        <
  616  // #endif /* WINVER >= 0x040A */                                                 <
  617                                                                                   <
  618  enum { IMM_ERROR_NODATA = -1 }                                                   <
  619  enum { IMM_ERROR_GENERAL = -2 }                                                  <
  620                                                                                   <
  621  enum : uint { IME_CONFIG_GENERAL = 1 }                                           <
  622  enum : uint { IME_CONFIG_REGISTERWORD = 2 }                                      <
  623  enum : uint { IME_CONFIG_SELECTDICTIONARY = 3 }                                  <
  624                                                                                   <
  625  enum : uint { IME_ESC_QUERY_SUPPORT = 0x0003 }                                   <
  626  enum : uint { IME_ESC_RESERVED_FIRST = 0x0004 }                                  <
  627  enum : uint { IME_ESC_RESERVED_LAST = 0x07FF }                                   <
  628  enum : uint { IME_ESC_PRIVATE_FIRST = 0x0800 }                                   <
  629  enum : uint { IME_ESC_PRIVATE_LAST = 0x0FFF }                                    <
  630                                                                                   <
  631  enum : uint { IME_ESC_SEQUENCE_TO_INTERNAL = 0x1001 }                            <
  632  enum : uint { IME_ESC_GET_EUDC_DICTIONARY = 0x1003 }                             <
  633  enum : uint { IME_ESC_SET_EUDC_DICTIONARY = 0x1004 }                             <
  634  enum : uint { IME_ESC_MAX_KEY = 0x1005 }                                         <
  635  enum : uint { IME_ESC_IME_NAME = 0x1006 }                                        <
  636  enum : uint { IME_ESC_SYNC_HOTKEY = 0x1007 }                                     <
  637  enum : uint { IME_ESC_HANJA_MODE = 0x1008 }                                      <
  638  enum : uint { IME_ESC_AUTOMATA = 0x1009 }                                        <
  639  enum : uint { IME_ESC_PRIVATE_HOTKEY = 0x100a }                                  <
  640  enum : uint { IME_ESC_GETHELPFILENAME = 0x100b }                                 <
  641                                                                                   <
  642  enum : uint { IME_REGWORD_STYLE_EUDC = 0x00000001 }                              <
  643  enum : uint { IME_REGWORD_STYLE_USER_FIRST = 0x80000000 }                        <
  644  enum : uint { IME_REGWORD_STYLE_USER_LAST = 0xFFFFFFFF }                         <
  645                                                                                   <
  646  // #if (WINVER >= 0x040A)                                                        <
  647                                                                                   <
  648  enum : uint { IACE_CHILDREN = 0x0001 }                                           <
  649  enum : uint { IACE_DEFAULT = 0x0010 }                                            <
  650  enum : uint { IACE_IGNORENOCONTEXT = 0x0020 }                                    <
  651                                                                                   <
  652  enum : uint { IGIMIF_RIGHTMENU = 0x0001 }                                        <
  653                                                                                   <
  654  enum : uint { IGIMII_CMODE = 0x0001 }                                            <
  655  enum : uint { IGIMII_SMODE = 0x0002 }                                            <
  656  enum : uint { IGIMII_CONFIGURE = 0x0004 }                                        <
  657  enum : uint { IGIMII_TOOLS = 0x0008 }                                            <
  658  enum : uint { IGIMII_HELP = 0x0010 }                                             <
  659  enum : uint { IGIMII_OTHER = 0x0020 }                                            <
  660  enum : uint { IGIMII_INPUTTOOLS = 0x0040 }                                       <
  661                                                                                   <
  662  enum : uint { IMFT_RADIOCHECK = 0x00001 }                                        <
  663  enum : uint { IMFT_SEPARATOR = 0x00002 }                                         <
  664  enum : uint { IMFT_SUBMENU = 0x00004 }                                           <
  665                                                                                   <
  666  alias MFS_GRAYED IMFS_GRAYED;                                                    <
  667  alias MFS_DISABLED IMFS_DISABLED;                                                <
  668  alias MFS_CHECKED IMFS_CHECKED;                                                  <
  669  alias MFS_HILITE IMFS_HILITE;                                                    <
  670  alias MFS_ENABLED IMFS_ENABLED;                                                  <
  671  alias MFS_UNCHECKED IMFS_UNCHECKED;                                              <
  672  alias MFS_UNHILITE IMFS_UNHILITE;                                                <
  673  alias MFS_DEFAULT IMFS_DEFAULT;                                                  <
  674                                                                                   <
  675  // #endif /* WINVER >= 0x040A */                                                 <
  676                                                                                   <
  677  enum : uint { SOFTKEYBOARD_TYPE_T1 = 0x0001 }                                    <
  678                                                                                   <
  679  enum : uint { SOFTKEYBOARD_TYPE_C1 = 0x0002 }                                    <
  680                                                                                   <
  681  // #endif  // _IMM_SDK_DEFINED_                                                  <
  682                                                                                   <
  683  // #ifdef __cplusplus                                                            <
  684  // }                                                                             <
  685  // #endif                                                                        <
  686                                                                                   <
  687  // #endif  // _IMM_                                                              <