zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

dimm.h (150504B) - Raw


      1 /*** Autogenerated by WIDL 10.4 from include/dimm.idl - Do not edit ***/
      2 
      3 #ifdef _WIN32
      4 #ifndef __REQUIRED_RPCNDR_H_VERSION__
      5 #define __REQUIRED_RPCNDR_H_VERSION__ 475
      6 #endif
      7 #include <rpc.h>
      8 #include <rpcndr.h>
      9 #endif
     10 
     11 #ifndef COM_NO_WINDOWS_H
     12 #include <windows.h>
     13 #include <ole2.h>
     14 #endif
     15 
     16 #ifndef __dimm_h__
     17 #define __dimm_h__
     18 
     19 /* Forward declarations */
     20 
     21 #ifndef __IEnumInputContext_FWD_DEFINED__
     22 #define __IEnumInputContext_FWD_DEFINED__
     23 typedef interface IEnumInputContext IEnumInputContext;
     24 #ifdef __cplusplus
     25 interface IEnumInputContext;
     26 #endif /* __cplusplus */
     27 #endif
     28 
     29 #ifndef __IActiveIMMRegistrar_FWD_DEFINED__
     30 #define __IActiveIMMRegistrar_FWD_DEFINED__
     31 typedef interface IActiveIMMRegistrar IActiveIMMRegistrar;
     32 #ifdef __cplusplus
     33 interface IActiveIMMRegistrar;
     34 #endif /* __cplusplus */
     35 #endif
     36 
     37 #ifndef __IActiveIMMMessagePumpOwner_FWD_DEFINED__
     38 #define __IActiveIMMMessagePumpOwner_FWD_DEFINED__
     39 typedef interface IActiveIMMMessagePumpOwner IActiveIMMMessagePumpOwner;
     40 #ifdef __cplusplus
     41 interface IActiveIMMMessagePumpOwner;
     42 #endif /* __cplusplus */
     43 #endif
     44 
     45 #ifndef __IActiveIMMApp_FWD_DEFINED__
     46 #define __IActiveIMMApp_FWD_DEFINED__
     47 typedef interface IActiveIMMApp IActiveIMMApp;
     48 #ifdef __cplusplus
     49 interface IActiveIMMApp;
     50 #endif /* __cplusplus */
     51 #endif
     52 
     53 #ifndef __IActiveIMMIME_FWD_DEFINED__
     54 #define __IActiveIMMIME_FWD_DEFINED__
     55 typedef interface IActiveIMMIME IActiveIMMIME;
     56 #ifdef __cplusplus
     57 interface IActiveIMMIME;
     58 #endif /* __cplusplus */
     59 #endif
     60 
     61 #ifndef __IActiveIME_FWD_DEFINED__
     62 #define __IActiveIME_FWD_DEFINED__
     63 typedef interface IActiveIME IActiveIME;
     64 #ifdef __cplusplus
     65 interface IActiveIME;
     66 #endif /* __cplusplus */
     67 #endif
     68 
     69 #ifndef __IActiveIME2_FWD_DEFINED__
     70 #define __IActiveIME2_FWD_DEFINED__
     71 typedef interface IActiveIME2 IActiveIME2;
     72 #ifdef __cplusplus
     73 interface IActiveIME2;
     74 #endif /* __cplusplus */
     75 #endif
     76 
     77 #ifndef __IEnumRegisterWordA_FWD_DEFINED__
     78 #define __IEnumRegisterWordA_FWD_DEFINED__
     79 typedef interface IEnumRegisterWordA IEnumRegisterWordA;
     80 #ifdef __cplusplus
     81 interface IEnumRegisterWordA;
     82 #endif /* __cplusplus */
     83 #endif
     84 
     85 #ifndef __IEnumRegisterWordW_FWD_DEFINED__
     86 #define __IEnumRegisterWordW_FWD_DEFINED__
     87 typedef interface IEnumRegisterWordW IEnumRegisterWordW;
     88 #ifdef __cplusplus
     89 interface IEnumRegisterWordW;
     90 #endif /* __cplusplus */
     91 #endif
     92 
     93 #ifndef __CActiveIMM_FWD_DEFINED__
     94 #define __CActiveIMM_FWD_DEFINED__
     95 #ifdef __cplusplus
     96 typedef class CActiveIMM CActiveIMM;
     97 #else
     98 typedef struct CActiveIMM CActiveIMM;
     99 #endif /* defined __cplusplus */
    100 #endif /* defined __CActiveIMM_FWD_DEFINED__ */
    101 
    102 /* Headers for imported files */
    103 
    104 #include <unknwn.h>
    105 
    106 #ifdef __cplusplus
    107 extern "C" {
    108 #endif
    109 
    110 /**
    111  * This file is part of the mingw-w64 runtime package.
    112  * No warranty is given; refer to the file DISCLAIMER within this package.
    113  */
    114 
    115 #ifndef __IEnumRegisterWordA_FWD_DEFINED__
    116 #define __IEnumRegisterWordA_FWD_DEFINED__
    117 typedef interface IEnumRegisterWordA IEnumRegisterWordA;
    118 #ifdef __cplusplus
    119 interface IEnumRegisterWordA;
    120 #endif /* __cplusplus */
    121 #endif
    122 
    123 #ifndef __IEnumRegisterWordW_FWD_DEFINED__
    124 #define __IEnumRegisterWordW_FWD_DEFINED__
    125 typedef interface IEnumRegisterWordW IEnumRegisterWordW;
    126 #ifdef __cplusplus
    127 interface IEnumRegisterWordW;
    128 #endif /* __cplusplus */
    129 #endif
    130 
    131 #include <winapifamily.h>
    132 
    133 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
    134 #ifndef __ActiveIMM_LIBRARY_DEFINED__
    135 #define __ActiveIMM_LIBRARY_DEFINED__
    136 
    137 DEFINE_GUID(LIBID_ActiveIMM, 0x4955dd30, 0xb159, 0x11d0, 0x8f,0xcf, 0x00,0xaa,0x00,0x6b,0xcc,0x59);
    138 
    139 #include <imm.h>
    140 #if 0
    141 typedef WORD LANGID;
    142 typedef struct __WIDL_dimm_generated_name_0000000C {
    143     LPSTR lpReading;
    144     LPSTR lpWord;
    145 } REGISTERWORDA;
    146 typedef struct __WIDL_dimm_generated_name_0000000D {
    147     LPWSTR lpReading;
    148     LPWSTR lpWord;
    149 } REGISTERWORDW;
    150 typedef struct __WIDL_dimm_generated_name_0000000E {
    151     LONG lfHeight;
    152     LONG lfWidth;
    153     LONG lfEscapement;
    154     LONG lfOrientation;
    155     LONG lfWeight;
    156     BYTE lfItalic;
    157     BYTE lfUnderline;
    158     BYTE lfStrikeOut;
    159     BYTE lfCharSet;
    160     BYTE lfOutPrecision;
    161     BYTE lfClipPrecision;
    162     BYTE lfQuality;
    163     BYTE lfPitchAndFamily;
    164     CHAR lfFaceName[32];
    165 } LOGFONTA;
    166 typedef struct __WIDL_dimm_generated_name_0000000F {
    167     LONG lfHeight;
    168     LONG lfWidth;
    169     LONG lfEscapement;
    170     LONG lfOrientation;
    171     LONG lfWeight;
    172     BYTE lfItalic;
    173     BYTE lfUnderline;
    174     BYTE lfStrikeOut;
    175     BYTE lfCharSet;
    176     BYTE lfOutPrecision;
    177     BYTE lfClipPrecision;
    178     BYTE lfQuality;
    179     BYTE lfPitchAndFamily;
    180     WCHAR lfFaceName[32];
    181 } LOGFONTW;
    182 typedef DWORD HIMC;
    183 typedef DWORD HIMCC;
    184 typedef struct __WIDL_dimm_generated_name_00000010 {
    185     DWORD dwIndex;
    186     DWORD dwStyle;
    187     POINT ptCurrentPos;
    188     RECT rcArea;
    189 } CANDIDATEFORM;
    190 typedef struct __WIDL_dimm_generated_name_00000011 {
    191     DWORD dwStyle;
    192     POINT ptCurrentPos;
    193     RECT rcArea;
    194 } COMPOSITIONFORM;
    195 typedef struct __WIDL_dimm_generated_name_00000012 {
    196     DWORD dwSize;
    197     DWORD dwStyle;
    198     DWORD dwCount;
    199     DWORD dwSelection;
    200     DWORD dwPageStart;
    201     DWORD dwPageSize;
    202     DWORD dwOffset[1];
    203 } CANDIDATELIST;
    204 typedef struct __WIDL_dimm_generated_name_00000013 {
    205     DWORD dwStyle;
    206     CHAR szDescription[32];
    207 } STYLEBUFA;
    208 typedef struct __WIDL_dimm_generated_name_00000014 {
    209     DWORD dwStyle;
    210     WCHAR szDescription[32];
    211 } STYLEBUFW;
    212 typedef WORD ATOM;
    213 typedef struct __WIDL_dimm_generated_name_00000015 {
    214     UINT cbSize;
    215     UINT fType;
    216     UINT fState;
    217     UINT wID;
    218     HBITMAP hbmpChecked;
    219     HBITMAP hbmpUnchecked;
    220     DWORD dwItemData;
    221     CHAR szString[80];
    222     HBITMAP hbmpItem;
    223 } IMEMENUITEMINFOA;
    224 typedef struct __WIDL_dimm_generated_name_00000016 {
    225     UINT cbSize;
    226     UINT fType;
    227     UINT fState;
    228     UINT wID;
    229     HBITMAP hbmpChecked;
    230     HBITMAP hbmpUnchecked;
    231     DWORD dwItemData;
    232     WCHAR szString[80];
    233     HBITMAP hbmpItem;
    234 } IMEMENUITEMINFOW;
    235 #endif
    236 #ifndef _DDKIMM_H_
    237 typedef struct __WIDL_dimm_generated_name_00000017 {
    238     HWND hWnd;
    239     WINBOOL fOpen;
    240     POINT ptStatusWndPos;
    241     POINT ptSoftKbdPos;
    242     DWORD fdwConversion;
    243     DWORD fdwSentence;
    244     union {
    245         LOGFONTA A;
    246         LOGFONTW W;
    247     } lfFont;
    248     COMPOSITIONFORM cfCompForm;
    249     CANDIDATEFORM cfCandForm[4];
    250     HIMCC hCompStr;
    251     HIMCC hCandInfo;
    252     HIMCC hGuideLine;
    253     HIMCC hPrivate;
    254     DWORD dwNumMsgBuf;
    255     HIMCC hMsgBuf;
    256     DWORD fdwInit;
    257     DWORD dwReserve[3];
    258 } INPUTCONTEXT;
    259 typedef struct __WIDL_dimm_generated_name_00000018 {
    260     DWORD dwPrivateDataSize;
    261     DWORD fdwProperty;
    262     DWORD fdwConversionCaps;
    263     DWORD fdwSentenceCaps;
    264     DWORD fdwUICaps;
    265     DWORD fdwSCSCaps;
    266     DWORD fdwSelectCaps;
    267 } IMEINFO;
    268 #endif
    269 /*****************************************************************************
    270  * IEnumInputContext interface
    271  */
    272 #ifndef __IEnumInputContext_INTERFACE_DEFINED__
    273 #define __IEnumInputContext_INTERFACE_DEFINED__
    274 
    275 DEFINE_GUID(IID_IEnumInputContext, 0x09b5eab0, 0xf997, 0x11d1, 0x93,0xd4, 0x00,0x60,0xb0,0x67,0xb8,0x6e);
    276 #if defined(__cplusplus) && !defined(CINTERFACE)
    277 MIDL_INTERFACE("09b5eab0-f997-11d1-93d4-0060b067b86e")
    278 IEnumInputContext : public IUnknown
    279 {
    280     virtual HRESULT STDMETHODCALLTYPE Clone(
    281         IEnumInputContext **ppEnum) = 0;
    282 
    283     virtual HRESULT STDMETHODCALLTYPE Next(
    284         ULONG ulCount,
    285         HIMC *rgInputContext,
    286         ULONG *pcFetched) = 0;
    287 
    288     virtual HRESULT STDMETHODCALLTYPE Reset(
    289         ) = 0;
    290 
    291     virtual HRESULT STDMETHODCALLTYPE Skip(
    292         ULONG ulCount) = 0;
    293 
    294 };
    295 #ifdef __CRT_UUID_DECL
    296 __CRT_UUID_DECL(IEnumInputContext, 0x09b5eab0, 0xf997, 0x11d1, 0x93,0xd4, 0x00,0x60,0xb0,0x67,0xb8,0x6e)
    297 #endif
    298 #else
    299 typedef struct IEnumInputContextVtbl {
    300     BEGIN_INTERFACE
    301 
    302     /*** IUnknown methods ***/
    303     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    304         IEnumInputContext *This,
    305         REFIID riid,
    306         void **ppvObject);
    307 
    308     ULONG (STDMETHODCALLTYPE *AddRef)(
    309         IEnumInputContext *This);
    310 
    311     ULONG (STDMETHODCALLTYPE *Release)(
    312         IEnumInputContext *This);
    313 
    314     /*** IEnumInputContext methods ***/
    315     HRESULT (STDMETHODCALLTYPE *Clone)(
    316         IEnumInputContext *This,
    317         IEnumInputContext **ppEnum);
    318 
    319     HRESULT (STDMETHODCALLTYPE *Next)(
    320         IEnumInputContext *This,
    321         ULONG ulCount,
    322         HIMC *rgInputContext,
    323         ULONG *pcFetched);
    324 
    325     HRESULT (STDMETHODCALLTYPE *Reset)(
    326         IEnumInputContext *This);
    327 
    328     HRESULT (STDMETHODCALLTYPE *Skip)(
    329         IEnumInputContext *This,
    330         ULONG ulCount);
    331 
    332     END_INTERFACE
    333 } IEnumInputContextVtbl;
    334 
    335 interface IEnumInputContext {
    336     CONST_VTBL IEnumInputContextVtbl* lpVtbl;
    337 };
    338 
    339 #ifdef COBJMACROS
    340 #ifndef WIDL_C_INLINE_WRAPPERS
    341 /*** IUnknown methods ***/
    342 #define IEnumInputContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    343 #define IEnumInputContext_AddRef(This) (This)->lpVtbl->AddRef(This)
    344 #define IEnumInputContext_Release(This) (This)->lpVtbl->Release(This)
    345 /*** IEnumInputContext methods ***/
    346 #define IEnumInputContext_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
    347 #define IEnumInputContext_Next(This,ulCount,rgInputContext,pcFetched) (This)->lpVtbl->Next(This,ulCount,rgInputContext,pcFetched)
    348 #define IEnumInputContext_Reset(This) (This)->lpVtbl->Reset(This)
    349 #define IEnumInputContext_Skip(This,ulCount) (This)->lpVtbl->Skip(This,ulCount)
    350 #else
    351 /*** IUnknown methods ***/
    352 static inline HRESULT IEnumInputContext_QueryInterface(IEnumInputContext* This,REFIID riid,void **ppvObject) {
    353     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    354 }
    355 static inline ULONG IEnumInputContext_AddRef(IEnumInputContext* This) {
    356     return This->lpVtbl->AddRef(This);
    357 }
    358 static inline ULONG IEnumInputContext_Release(IEnumInputContext* This) {
    359     return This->lpVtbl->Release(This);
    360 }
    361 /*** IEnumInputContext methods ***/
    362 static inline HRESULT IEnumInputContext_Clone(IEnumInputContext* This,IEnumInputContext **ppEnum) {
    363     return This->lpVtbl->Clone(This,ppEnum);
    364 }
    365 static inline HRESULT IEnumInputContext_Next(IEnumInputContext* This,ULONG ulCount,HIMC *rgInputContext,ULONG *pcFetched) {
    366     return This->lpVtbl->Next(This,ulCount,rgInputContext,pcFetched);
    367 }
    368 static inline HRESULT IEnumInputContext_Reset(IEnumInputContext* This) {
    369     return This->lpVtbl->Reset(This);
    370 }
    371 static inline HRESULT IEnumInputContext_Skip(IEnumInputContext* This,ULONG ulCount) {
    372     return This->lpVtbl->Skip(This,ulCount);
    373 }
    374 #endif
    375 #endif
    376 
    377 #endif
    378 
    379 
    380 #endif  /* __IEnumInputContext_INTERFACE_DEFINED__ */
    381 
    382 /*****************************************************************************
    383  * IActiveIMMRegistrar interface
    384  */
    385 #ifndef __IActiveIMMRegistrar_INTERFACE_DEFINED__
    386 #define __IActiveIMMRegistrar_INTERFACE_DEFINED__
    387 
    388 DEFINE_GUID(IID_IActiveIMMRegistrar, 0xb3458082, 0xbd00, 0x11d1, 0x93,0x9b, 0x00,0x60,0xb0,0x67,0xb8,0x6e);
    389 #if defined(__cplusplus) && !defined(CINTERFACE)
    390 MIDL_INTERFACE("b3458082-bd00-11d1-939b-0060b067b86e")
    391 IActiveIMMRegistrar : public IUnknown
    392 {
    393     virtual HRESULT STDMETHODCALLTYPE RegisterIME(
    394         REFCLSID rclsid,
    395         LANGID lgid,
    396         LPCWSTR pszIconFile,
    397         LPCWSTR pszDesc) = 0;
    398 
    399     virtual HRESULT STDMETHODCALLTYPE UnregisterIME(
    400         REFCLSID rclsid) = 0;
    401 
    402 };
    403 #ifdef __CRT_UUID_DECL
    404 __CRT_UUID_DECL(IActiveIMMRegistrar, 0xb3458082, 0xbd00, 0x11d1, 0x93,0x9b, 0x00,0x60,0xb0,0x67,0xb8,0x6e)
    405 #endif
    406 #else
    407 typedef struct IActiveIMMRegistrarVtbl {
    408     BEGIN_INTERFACE
    409 
    410     /*** IUnknown methods ***/
    411     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    412         IActiveIMMRegistrar *This,
    413         REFIID riid,
    414         void **ppvObject);
    415 
    416     ULONG (STDMETHODCALLTYPE *AddRef)(
    417         IActiveIMMRegistrar *This);
    418 
    419     ULONG (STDMETHODCALLTYPE *Release)(
    420         IActiveIMMRegistrar *This);
    421 
    422     /*** IActiveIMMRegistrar methods ***/
    423     HRESULT (STDMETHODCALLTYPE *RegisterIME)(
    424         IActiveIMMRegistrar *This,
    425         REFCLSID rclsid,
    426         LANGID lgid,
    427         LPCWSTR pszIconFile,
    428         LPCWSTR pszDesc);
    429 
    430     HRESULT (STDMETHODCALLTYPE *UnregisterIME)(
    431         IActiveIMMRegistrar *This,
    432         REFCLSID rclsid);
    433 
    434     END_INTERFACE
    435 } IActiveIMMRegistrarVtbl;
    436 
    437 interface IActiveIMMRegistrar {
    438     CONST_VTBL IActiveIMMRegistrarVtbl* lpVtbl;
    439 };
    440 
    441 #ifdef COBJMACROS
    442 #ifndef WIDL_C_INLINE_WRAPPERS
    443 /*** IUnknown methods ***/
    444 #define IActiveIMMRegistrar_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    445 #define IActiveIMMRegistrar_AddRef(This) (This)->lpVtbl->AddRef(This)
    446 #define IActiveIMMRegistrar_Release(This) (This)->lpVtbl->Release(This)
    447 /*** IActiveIMMRegistrar methods ***/
    448 #define IActiveIMMRegistrar_RegisterIME(This,rclsid,lgid,pszIconFile,pszDesc) (This)->lpVtbl->RegisterIME(This,rclsid,lgid,pszIconFile,pszDesc)
    449 #define IActiveIMMRegistrar_UnregisterIME(This,rclsid) (This)->lpVtbl->UnregisterIME(This,rclsid)
    450 #else
    451 /*** IUnknown methods ***/
    452 static inline HRESULT IActiveIMMRegistrar_QueryInterface(IActiveIMMRegistrar* This,REFIID riid,void **ppvObject) {
    453     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    454 }
    455 static inline ULONG IActiveIMMRegistrar_AddRef(IActiveIMMRegistrar* This) {
    456     return This->lpVtbl->AddRef(This);
    457 }
    458 static inline ULONG IActiveIMMRegistrar_Release(IActiveIMMRegistrar* This) {
    459     return This->lpVtbl->Release(This);
    460 }
    461 /*** IActiveIMMRegistrar methods ***/
    462 static inline HRESULT IActiveIMMRegistrar_RegisterIME(IActiveIMMRegistrar* This,REFCLSID rclsid,LANGID lgid,LPCWSTR pszIconFile,LPCWSTR pszDesc) {
    463     return This->lpVtbl->RegisterIME(This,rclsid,lgid,pszIconFile,pszDesc);
    464 }
    465 static inline HRESULT IActiveIMMRegistrar_UnregisterIME(IActiveIMMRegistrar* This,REFCLSID rclsid) {
    466     return This->lpVtbl->UnregisterIME(This,rclsid);
    467 }
    468 #endif
    469 #endif
    470 
    471 #endif
    472 
    473 
    474 #endif  /* __IActiveIMMRegistrar_INTERFACE_DEFINED__ */
    475 
    476 /*****************************************************************************
    477  * IActiveIMMMessagePumpOwner interface
    478  */
    479 #ifndef __IActiveIMMMessagePumpOwner_INTERFACE_DEFINED__
    480 #define __IActiveIMMMessagePumpOwner_INTERFACE_DEFINED__
    481 
    482 DEFINE_GUID(IID_IActiveIMMMessagePumpOwner, 0xb5cf2cfa, 0x8aeb, 0x11d1, 0x93,0x64, 0x00,0x60,0xb0,0x67,0xb8,0x6e);
    483 #if defined(__cplusplus) && !defined(CINTERFACE)
    484 MIDL_INTERFACE("b5cf2cfa-8aeb-11d1-9364-0060b067b86e")
    485 IActiveIMMMessagePumpOwner : public IUnknown
    486 {
    487     virtual HRESULT STDMETHODCALLTYPE Start(
    488         ) = 0;
    489 
    490     virtual HRESULT STDMETHODCALLTYPE End(
    491         ) = 0;
    492 
    493     virtual HRESULT STDMETHODCALLTYPE OnTranslateMessage(
    494         const MSG *pMsg) = 0;
    495 
    496     virtual HRESULT STDMETHODCALLTYPE Pause(
    497         DWORD *pdwCookie) = 0;
    498 
    499     virtual HRESULT STDMETHODCALLTYPE Resume(
    500         DWORD dwCookie) = 0;
    501 
    502 };
    503 #ifdef __CRT_UUID_DECL
    504 __CRT_UUID_DECL(IActiveIMMMessagePumpOwner, 0xb5cf2cfa, 0x8aeb, 0x11d1, 0x93,0x64, 0x00,0x60,0xb0,0x67,0xb8,0x6e)
    505 #endif
    506 #else
    507 typedef struct IActiveIMMMessagePumpOwnerVtbl {
    508     BEGIN_INTERFACE
    509 
    510     /*** IUnknown methods ***/
    511     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    512         IActiveIMMMessagePumpOwner *This,
    513         REFIID riid,
    514         void **ppvObject);
    515 
    516     ULONG (STDMETHODCALLTYPE *AddRef)(
    517         IActiveIMMMessagePumpOwner *This);
    518 
    519     ULONG (STDMETHODCALLTYPE *Release)(
    520         IActiveIMMMessagePumpOwner *This);
    521 
    522     /*** IActiveIMMMessagePumpOwner methods ***/
    523     HRESULT (STDMETHODCALLTYPE *Start)(
    524         IActiveIMMMessagePumpOwner *This);
    525 
    526     HRESULT (STDMETHODCALLTYPE *End)(
    527         IActiveIMMMessagePumpOwner *This);
    528 
    529     HRESULT (STDMETHODCALLTYPE *OnTranslateMessage)(
    530         IActiveIMMMessagePumpOwner *This,
    531         const MSG *pMsg);
    532 
    533     HRESULT (STDMETHODCALLTYPE *Pause)(
    534         IActiveIMMMessagePumpOwner *This,
    535         DWORD *pdwCookie);
    536 
    537     HRESULT (STDMETHODCALLTYPE *Resume)(
    538         IActiveIMMMessagePumpOwner *This,
    539         DWORD dwCookie);
    540 
    541     END_INTERFACE
    542 } IActiveIMMMessagePumpOwnerVtbl;
    543 
    544 interface IActiveIMMMessagePumpOwner {
    545     CONST_VTBL IActiveIMMMessagePumpOwnerVtbl* lpVtbl;
    546 };
    547 
    548 #ifdef COBJMACROS
    549 #ifndef WIDL_C_INLINE_WRAPPERS
    550 /*** IUnknown methods ***/
    551 #define IActiveIMMMessagePumpOwner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    552 #define IActiveIMMMessagePumpOwner_AddRef(This) (This)->lpVtbl->AddRef(This)
    553 #define IActiveIMMMessagePumpOwner_Release(This) (This)->lpVtbl->Release(This)
    554 /*** IActiveIMMMessagePumpOwner methods ***/
    555 #define IActiveIMMMessagePumpOwner_Start(This) (This)->lpVtbl->Start(This)
    556 #define IActiveIMMMessagePumpOwner_End(This) (This)->lpVtbl->End(This)
    557 #define IActiveIMMMessagePumpOwner_OnTranslateMessage(This,pMsg) (This)->lpVtbl->OnTranslateMessage(This,pMsg)
    558 #define IActiveIMMMessagePumpOwner_Pause(This,pdwCookie) (This)->lpVtbl->Pause(This,pdwCookie)
    559 #define IActiveIMMMessagePumpOwner_Resume(This,dwCookie) (This)->lpVtbl->Resume(This,dwCookie)
    560 #else
    561 /*** IUnknown methods ***/
    562 static inline HRESULT IActiveIMMMessagePumpOwner_QueryInterface(IActiveIMMMessagePumpOwner* This,REFIID riid,void **ppvObject) {
    563     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    564 }
    565 static inline ULONG IActiveIMMMessagePumpOwner_AddRef(IActiveIMMMessagePumpOwner* This) {
    566     return This->lpVtbl->AddRef(This);
    567 }
    568 static inline ULONG IActiveIMMMessagePumpOwner_Release(IActiveIMMMessagePumpOwner* This) {
    569     return This->lpVtbl->Release(This);
    570 }
    571 /*** IActiveIMMMessagePumpOwner methods ***/
    572 static inline HRESULT IActiveIMMMessagePumpOwner_Start(IActiveIMMMessagePumpOwner* This) {
    573     return This->lpVtbl->Start(This);
    574 }
    575 static inline HRESULT IActiveIMMMessagePumpOwner_End(IActiveIMMMessagePumpOwner* This) {
    576     return This->lpVtbl->End(This);
    577 }
    578 static inline HRESULT IActiveIMMMessagePumpOwner_OnTranslateMessage(IActiveIMMMessagePumpOwner* This,const MSG *pMsg) {
    579     return This->lpVtbl->OnTranslateMessage(This,pMsg);
    580 }
    581 static inline HRESULT IActiveIMMMessagePumpOwner_Pause(IActiveIMMMessagePumpOwner* This,DWORD *pdwCookie) {
    582     return This->lpVtbl->Pause(This,pdwCookie);
    583 }
    584 static inline HRESULT IActiveIMMMessagePumpOwner_Resume(IActiveIMMMessagePumpOwner* This,DWORD dwCookie) {
    585     return This->lpVtbl->Resume(This,dwCookie);
    586 }
    587 #endif
    588 #endif
    589 
    590 #endif
    591 
    592 
    593 #endif  /* __IActiveIMMMessagePumpOwner_INTERFACE_DEFINED__ */
    594 
    595 /*****************************************************************************
    596  * IActiveIMMApp interface
    597  */
    598 #ifndef __IActiveIMMApp_INTERFACE_DEFINED__
    599 #define __IActiveIMMApp_INTERFACE_DEFINED__
    600 
    601 DEFINE_GUID(IID_IActiveIMMApp, 0x08c0e040, 0x62d1, 0x11d1, 0x93,0x26, 0x00,0x60,0xb0,0x67,0xb8,0x6e);
    602 #if defined(__cplusplus) && !defined(CINTERFACE)
    603 MIDL_INTERFACE("08c0e040-62d1-11d1-9326-0060b067b86e")
    604 IActiveIMMApp : public IUnknown
    605 {
    606     virtual HRESULT STDMETHODCALLTYPE AssociateContext(
    607         HWND hWnd,
    608         HIMC hIME,
    609         HIMC *phPrev) = 0;
    610 
    611     virtual HRESULT STDMETHODCALLTYPE ConfigureIMEA(
    612         HKL hKL,
    613         HWND hWnd,
    614         DWORD dwMode,
    615         REGISTERWORDA *pData) = 0;
    616 
    617     virtual HRESULT STDMETHODCALLTYPE ConfigureIMEW(
    618         HKL hKL,
    619         HWND hWnd,
    620         DWORD dwMode,
    621         REGISTERWORDW *pData) = 0;
    622 
    623     virtual HRESULT STDMETHODCALLTYPE CreateContext(
    624         HIMC *phIMC) = 0;
    625 
    626     virtual HRESULT STDMETHODCALLTYPE DestroyContext(
    627         HIMC hIME) = 0;
    628 
    629     virtual HRESULT STDMETHODCALLTYPE EnumRegisterWordA(
    630         HKL hKL,
    631         LPSTR szReading,
    632         DWORD dwStyle,
    633         LPSTR szRegister,
    634         LPVOID pData,
    635         IEnumRegisterWordA **pEnum) = 0;
    636 
    637     virtual HRESULT STDMETHODCALLTYPE EnumRegisterWordW(
    638         HKL hKL,
    639         LPWSTR szReading,
    640         DWORD dwStyle,
    641         LPWSTR szRegister,
    642         LPVOID pData,
    643         IEnumRegisterWordW **pEnum) = 0;
    644 
    645     virtual HRESULT STDMETHODCALLTYPE EscapeA(
    646         HKL hKL,
    647         HIMC hIMC,
    648         UINT uEscape,
    649         LPVOID pData,
    650         LRESULT *plResult) = 0;
    651 
    652     virtual HRESULT STDMETHODCALLTYPE EscapeW(
    653         HKL hKL,
    654         HIMC hIMC,
    655         UINT uEscape,
    656         LPVOID pData,
    657         LRESULT *plResult) = 0;
    658 
    659     virtual HRESULT STDMETHODCALLTYPE GetCandidateListA(
    660         HIMC hIMC,
    661         DWORD dwIndex,
    662         UINT uBufLen,
    663         CANDIDATELIST *pCandList,
    664         UINT *puCopied) = 0;
    665 
    666     virtual HRESULT STDMETHODCALLTYPE GetCandidateListW(
    667         HIMC hIMC,
    668         DWORD dwIndex,
    669         UINT uBufLen,
    670         CANDIDATELIST *pCandList,
    671         UINT *puCopied) = 0;
    672 
    673     virtual HRESULT STDMETHODCALLTYPE GetCandidateListCountA(
    674         HIMC hIMC,
    675         DWORD *pdwListSize,
    676         DWORD *pdwBufLen) = 0;
    677 
    678     virtual HRESULT STDMETHODCALLTYPE GetCandidateListCountW(
    679         HIMC hIMC,
    680         DWORD *pdwListSize,
    681         DWORD *pdwBufLen) = 0;
    682 
    683     virtual HRESULT STDMETHODCALLTYPE GetCandidateWindow(
    684         HIMC hIMC,
    685         DWORD dwIndex,
    686         CANDIDATEFORM *pCandidate) = 0;
    687 
    688     virtual HRESULT STDMETHODCALLTYPE GetCompositionFontA(
    689         HIMC hIMC,
    690         LOGFONTA *plf) = 0;
    691 
    692     virtual HRESULT STDMETHODCALLTYPE GetCompositionFontW(
    693         HIMC hIMC,
    694         LOGFONTW *plf) = 0;
    695 
    696     virtual HRESULT STDMETHODCALLTYPE GetCompositionStringA(
    697         HIMC hIMC,
    698         DWORD dwIndex,
    699         DWORD dwBufLen,
    700         LONG *plCopied,
    701         LPVOID pBuf) = 0;
    702 
    703     virtual HRESULT STDMETHODCALLTYPE GetCompositionStringW(
    704         HIMC hIMC,
    705         DWORD dwIndex,
    706         DWORD dwBufLen,
    707         LONG *plCopied,
    708         LPVOID pBuf) = 0;
    709 
    710     virtual HRESULT STDMETHODCALLTYPE GetCompositionWindow(
    711         HIMC hIMC,
    712         COMPOSITIONFORM *pCompForm) = 0;
    713 
    714     virtual HRESULT STDMETHODCALLTYPE GetContext(
    715         HWND hWnd,
    716         HIMC *phIMC) = 0;
    717 
    718     virtual HRESULT STDMETHODCALLTYPE GetConversionListA(
    719         HKL hKL,
    720         HIMC hIMC,
    721         LPSTR pSrc,
    722         UINT uBufLen,
    723         UINT uFlag,
    724         CANDIDATELIST *pDst,
    725         UINT *puCopied) = 0;
    726 
    727     virtual HRESULT STDMETHODCALLTYPE GetConversionListW(
    728         HKL hKL,
    729         HIMC hIMC,
    730         LPWSTR pSrc,
    731         UINT uBufLen,
    732         UINT uFlag,
    733         CANDIDATELIST *pDst,
    734         UINT *puCopied) = 0;
    735 
    736     virtual HRESULT STDMETHODCALLTYPE GetConversionStatus(
    737         HIMC hIMC,
    738         DWORD *pfdwConversion,
    739         DWORD *pfdwSentence) = 0;
    740 
    741     virtual HRESULT STDMETHODCALLTYPE GetDefaultIMEWnd(
    742         HWND hWnd,
    743         HWND *phDefWnd) = 0;
    744 
    745     virtual HRESULT STDMETHODCALLTYPE GetDescriptionA(
    746         HKL hKL,
    747         UINT uBufLen,
    748         LPSTR szDescription,
    749         UINT *puCopied) = 0;
    750 
    751     virtual HRESULT STDMETHODCALLTYPE GetDescriptionW(
    752         HKL hKL,
    753         UINT uBufLen,
    754         LPWSTR szDescription,
    755         UINT *puCopied) = 0;
    756 
    757     virtual HRESULT STDMETHODCALLTYPE GetGuideLineA(
    758         HIMC hIMC,
    759         DWORD dwIndex,
    760         DWORD dwBufLen,
    761         LPSTR pBuf,
    762         DWORD *pdwResult) = 0;
    763 
    764     virtual HRESULT STDMETHODCALLTYPE GetGuideLineW(
    765         HIMC hIMC,
    766         DWORD dwIndex,
    767         DWORD dwBufLen,
    768         LPWSTR pBuf,
    769         DWORD *pdwResult) = 0;
    770 
    771     virtual HRESULT STDMETHODCALLTYPE GetIMEFileNameA(
    772         HKL hKL,
    773         UINT uBufLen,
    774         LPSTR szFileName,
    775         UINT *puCopied) = 0;
    776 
    777     virtual HRESULT STDMETHODCALLTYPE GetIMEFileNameW(
    778         HKL hKL,
    779         UINT uBufLen,
    780         LPWSTR szFileName,
    781         UINT *puCopied) = 0;
    782 
    783     virtual HRESULT STDMETHODCALLTYPE GetOpenStatus(
    784         HIMC hIMC) = 0;
    785 
    786     virtual HRESULT STDMETHODCALLTYPE GetProperty(
    787         HKL hKL,
    788         DWORD fdwIndex,
    789         DWORD *pdwProperty) = 0;
    790 
    791     virtual HRESULT STDMETHODCALLTYPE GetRegisterWordStyleA(
    792         HKL hKL,
    793         UINT nItem,
    794         STYLEBUFA *pStyleBuf,
    795         UINT *puCopied) = 0;
    796 
    797     virtual HRESULT STDMETHODCALLTYPE GetRegisterWordStyleW(
    798         HKL hKL,
    799         UINT nItem,
    800         STYLEBUFW *pStyleBuf,
    801         UINT *puCopied) = 0;
    802 
    803     virtual HRESULT STDMETHODCALLTYPE GetStatusWindowPos(
    804         HIMC hIMC,
    805         POINT *pptPos) = 0;
    806 
    807     virtual HRESULT STDMETHODCALLTYPE GetVirtualKey(
    808         HWND hWnd,
    809         UINT *puVirtualKey) = 0;
    810 
    811     virtual HRESULT STDMETHODCALLTYPE InstallIMEA(
    812         LPSTR szIMEFileName,
    813         LPSTR szLayoutText,
    814         HKL *phKL) = 0;
    815 
    816     virtual HRESULT STDMETHODCALLTYPE InstallIMEW(
    817         LPWSTR szIMEFileName,
    818         LPWSTR szLayoutText,
    819         HKL *phKL) = 0;
    820 
    821     virtual HRESULT STDMETHODCALLTYPE IsIME(
    822         HKL hKL) = 0;
    823 
    824     virtual HRESULT STDMETHODCALLTYPE IsUIMessageA(
    825         HWND hWndIME,
    826         UINT msg,
    827         WPARAM wParam,
    828         LPARAM lParam) = 0;
    829 
    830     virtual HRESULT STDMETHODCALLTYPE IsUIMessageW(
    831         HWND hWndIME,
    832         UINT msg,
    833         WPARAM wParam,
    834         LPARAM lParam) = 0;
    835 
    836     virtual HRESULT STDMETHODCALLTYPE NotifyIME(
    837         HIMC hIMC,
    838         DWORD dwAction,
    839         DWORD dwIndex,
    840         DWORD dwValue) = 0;
    841 
    842     virtual HRESULT STDMETHODCALLTYPE RegisterWordA(
    843         HKL hKL,
    844         LPSTR szReading,
    845         DWORD dwStyle,
    846         LPSTR szRegister) = 0;
    847 
    848     virtual HRESULT STDMETHODCALLTYPE RegisterWordW(
    849         HKL hKL,
    850         LPWSTR szReading,
    851         DWORD dwStyle,
    852         LPWSTR szRegister) = 0;
    853 
    854     virtual HRESULT STDMETHODCALLTYPE ReleaseContext(
    855         HWND hWnd,
    856         HIMC hIMC) = 0;
    857 
    858     virtual HRESULT STDMETHODCALLTYPE SetCandidateWindow(
    859         HIMC hIMC,
    860         CANDIDATEFORM *pCandidate) = 0;
    861 
    862     virtual HRESULT STDMETHODCALLTYPE SetCompositionFontA(
    863         HIMC hIMC,
    864         LOGFONTA *plf) = 0;
    865 
    866     virtual HRESULT STDMETHODCALLTYPE SetCompositionFontW(
    867         HIMC hIMC,
    868         LOGFONTW *plf) = 0;
    869 
    870     virtual HRESULT STDMETHODCALLTYPE SetCompositionStringA(
    871         HIMC hIMC,
    872         DWORD dwIndex,
    873         LPVOID pComp,
    874         DWORD dwCompLen,
    875         LPVOID pRead,
    876         DWORD dwReadLen) = 0;
    877 
    878     virtual HRESULT STDMETHODCALLTYPE SetCompositionStringW(
    879         HIMC hIMC,
    880         DWORD dwIndex,
    881         LPVOID pComp,
    882         DWORD dwCompLen,
    883         LPVOID pRead,
    884         DWORD dwReadLen) = 0;
    885 
    886     virtual HRESULT STDMETHODCALLTYPE SetCompositionWindow(
    887         HIMC hIMC,
    888         COMPOSITIONFORM *pCompForm) = 0;
    889 
    890     virtual HRESULT STDMETHODCALLTYPE SetConversionStatus(
    891         HIMC hIMC,
    892         DWORD fdwConversion,
    893         DWORD fdwSentence) = 0;
    894 
    895     virtual HRESULT STDMETHODCALLTYPE SetOpenStatus(
    896         HIMC hIMC,
    897         WINBOOL fOpen) = 0;
    898 
    899     virtual HRESULT STDMETHODCALLTYPE SetStatusWindowPos(
    900         HIMC hIMC,
    901         POINT *pptPos) = 0;
    902 
    903     virtual HRESULT STDMETHODCALLTYPE SimulateHotKey(
    904         HWND hWnd,
    905         DWORD dwHotKeyID) = 0;
    906 
    907     virtual HRESULT STDMETHODCALLTYPE UnregisterWordA(
    908         HKL hKL,
    909         LPSTR szReading,
    910         DWORD dwStyle,
    911         LPSTR szUnregister) = 0;
    912 
    913     virtual HRESULT STDMETHODCALLTYPE UnregisterWordW(
    914         HKL hKL,
    915         LPWSTR szReading,
    916         DWORD dwStyle,
    917         LPWSTR szUnregister) = 0;
    918 
    919     virtual HRESULT STDMETHODCALLTYPE Activate(
    920         WINBOOL fRestoreLayout) = 0;
    921 
    922     virtual HRESULT STDMETHODCALLTYPE Deactivate(
    923         ) = 0;
    924 
    925     virtual HRESULT STDMETHODCALLTYPE OnDefWindowProc(
    926         HWND hWnd,
    927         UINT Msg,
    928         WPARAM wParam,
    929         LPARAM lParam,
    930         LRESULT *plResult) = 0;
    931 
    932     virtual HRESULT STDMETHODCALLTYPE FilterClientWindows(
    933         ATOM *aaClassList,
    934         UINT uSize) = 0;
    935 
    936     virtual HRESULT STDMETHODCALLTYPE GetCodePageA(
    937         HKL hKL,
    938         UINT *uCodePage) = 0;
    939 
    940     virtual HRESULT STDMETHODCALLTYPE GetLangId(
    941         HKL hKL,
    942         LANGID *plid) = 0;
    943 
    944     virtual HRESULT STDMETHODCALLTYPE AssociateContextEx(
    945         HWND hWnd,
    946         HIMC hIMC,
    947         DWORD dwFlags) = 0;
    948 
    949     virtual HRESULT STDMETHODCALLTYPE DisableIME(
    950         DWORD idThread) = 0;
    951 
    952     virtual HRESULT STDMETHODCALLTYPE GetImeMenuItemsA(
    953         HIMC hIMC,
    954         DWORD dwFlags,
    955         DWORD dwType,
    956         IMEMENUITEMINFOA *pImeParentMenu,
    957         IMEMENUITEMINFOA *pImeMenu,
    958         DWORD dwSize,
    959         DWORD *pdwResult) = 0;
    960 
    961     virtual HRESULT STDMETHODCALLTYPE GetImeMenuItemsW(
    962         HIMC hIMC,
    963         DWORD dwFlags,
    964         DWORD dwType,
    965         IMEMENUITEMINFOW *pImeParentMenu,
    966         IMEMENUITEMINFOW *pImeMenu,
    967         DWORD dwSize,
    968         DWORD *pdwResult) = 0;
    969 
    970     virtual HRESULT STDMETHODCALLTYPE EnumInputContext(
    971         DWORD idThread,
    972         IEnumInputContext **ppEnum) = 0;
    973 
    974 };
    975 #ifdef __CRT_UUID_DECL
    976 __CRT_UUID_DECL(IActiveIMMApp, 0x08c0e040, 0x62d1, 0x11d1, 0x93,0x26, 0x00,0x60,0xb0,0x67,0xb8,0x6e)
    977 #endif
    978 #else
    979 typedef struct IActiveIMMAppVtbl {
    980     BEGIN_INTERFACE
    981 
    982     /*** IUnknown methods ***/
    983     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    984         IActiveIMMApp *This,
    985         REFIID riid,
    986         void **ppvObject);
    987 
    988     ULONG (STDMETHODCALLTYPE *AddRef)(
    989         IActiveIMMApp *This);
    990 
    991     ULONG (STDMETHODCALLTYPE *Release)(
    992         IActiveIMMApp *This);
    993 
    994     /*** IActiveIMMApp methods ***/
    995     HRESULT (STDMETHODCALLTYPE *AssociateContext)(
    996         IActiveIMMApp *This,
    997         HWND hWnd,
    998         HIMC hIME,
    999         HIMC *phPrev);
   1000 
   1001     HRESULT (STDMETHODCALLTYPE *ConfigureIMEA)(
   1002         IActiveIMMApp *This,
   1003         HKL hKL,
   1004         HWND hWnd,
   1005         DWORD dwMode,
   1006         REGISTERWORDA *pData);
   1007 
   1008     HRESULT (STDMETHODCALLTYPE *ConfigureIMEW)(
   1009         IActiveIMMApp *This,
   1010         HKL hKL,
   1011         HWND hWnd,
   1012         DWORD dwMode,
   1013         REGISTERWORDW *pData);
   1014 
   1015     HRESULT (STDMETHODCALLTYPE *CreateContext)(
   1016         IActiveIMMApp *This,
   1017         HIMC *phIMC);
   1018 
   1019     HRESULT (STDMETHODCALLTYPE *DestroyContext)(
   1020         IActiveIMMApp *This,
   1021         HIMC hIME);
   1022 
   1023     HRESULT (STDMETHODCALLTYPE *EnumRegisterWordA)(
   1024         IActiveIMMApp *This,
   1025         HKL hKL,
   1026         LPSTR szReading,
   1027         DWORD dwStyle,
   1028         LPSTR szRegister,
   1029         LPVOID pData,
   1030         IEnumRegisterWordA **pEnum);
   1031 
   1032     HRESULT (STDMETHODCALLTYPE *EnumRegisterWordW)(
   1033         IActiveIMMApp *This,
   1034         HKL hKL,
   1035         LPWSTR szReading,
   1036         DWORD dwStyle,
   1037         LPWSTR szRegister,
   1038         LPVOID pData,
   1039         IEnumRegisterWordW **pEnum);
   1040 
   1041     HRESULT (STDMETHODCALLTYPE *EscapeA)(
   1042         IActiveIMMApp *This,
   1043         HKL hKL,
   1044         HIMC hIMC,
   1045         UINT uEscape,
   1046         LPVOID pData,
   1047         LRESULT *plResult);
   1048 
   1049     HRESULT (STDMETHODCALLTYPE *EscapeW)(
   1050         IActiveIMMApp *This,
   1051         HKL hKL,
   1052         HIMC hIMC,
   1053         UINT uEscape,
   1054         LPVOID pData,
   1055         LRESULT *plResult);
   1056 
   1057     HRESULT (STDMETHODCALLTYPE *GetCandidateListA)(
   1058         IActiveIMMApp *This,
   1059         HIMC hIMC,
   1060         DWORD dwIndex,
   1061         UINT uBufLen,
   1062         CANDIDATELIST *pCandList,
   1063         UINT *puCopied);
   1064 
   1065     HRESULT (STDMETHODCALLTYPE *GetCandidateListW)(
   1066         IActiveIMMApp *This,
   1067         HIMC hIMC,
   1068         DWORD dwIndex,
   1069         UINT uBufLen,
   1070         CANDIDATELIST *pCandList,
   1071         UINT *puCopied);
   1072 
   1073     HRESULT (STDMETHODCALLTYPE *GetCandidateListCountA)(
   1074         IActiveIMMApp *This,
   1075         HIMC hIMC,
   1076         DWORD *pdwListSize,
   1077         DWORD *pdwBufLen);
   1078 
   1079     HRESULT (STDMETHODCALLTYPE *GetCandidateListCountW)(
   1080         IActiveIMMApp *This,
   1081         HIMC hIMC,
   1082         DWORD *pdwListSize,
   1083         DWORD *pdwBufLen);
   1084 
   1085     HRESULT (STDMETHODCALLTYPE *GetCandidateWindow)(
   1086         IActiveIMMApp *This,
   1087         HIMC hIMC,
   1088         DWORD dwIndex,
   1089         CANDIDATEFORM *pCandidate);
   1090 
   1091     HRESULT (STDMETHODCALLTYPE *GetCompositionFontA)(
   1092         IActiveIMMApp *This,
   1093         HIMC hIMC,
   1094         LOGFONTA *plf);
   1095 
   1096     HRESULT (STDMETHODCALLTYPE *GetCompositionFontW)(
   1097         IActiveIMMApp *This,
   1098         HIMC hIMC,
   1099         LOGFONTW *plf);
   1100 
   1101     HRESULT (STDMETHODCALLTYPE *GetCompositionStringA)(
   1102         IActiveIMMApp *This,
   1103         HIMC hIMC,
   1104         DWORD dwIndex,
   1105         DWORD dwBufLen,
   1106         LONG *plCopied,
   1107         LPVOID pBuf);
   1108 
   1109     HRESULT (STDMETHODCALLTYPE *GetCompositionStringW)(
   1110         IActiveIMMApp *This,
   1111         HIMC hIMC,
   1112         DWORD dwIndex,
   1113         DWORD dwBufLen,
   1114         LONG *plCopied,
   1115         LPVOID pBuf);
   1116 
   1117     HRESULT (STDMETHODCALLTYPE *GetCompositionWindow)(
   1118         IActiveIMMApp *This,
   1119         HIMC hIMC,
   1120         COMPOSITIONFORM *pCompForm);
   1121 
   1122     HRESULT (STDMETHODCALLTYPE *GetContext)(
   1123         IActiveIMMApp *This,
   1124         HWND hWnd,
   1125         HIMC *phIMC);
   1126 
   1127     HRESULT (STDMETHODCALLTYPE *GetConversionListA)(
   1128         IActiveIMMApp *This,
   1129         HKL hKL,
   1130         HIMC hIMC,
   1131         LPSTR pSrc,
   1132         UINT uBufLen,
   1133         UINT uFlag,
   1134         CANDIDATELIST *pDst,
   1135         UINT *puCopied);
   1136 
   1137     HRESULT (STDMETHODCALLTYPE *GetConversionListW)(
   1138         IActiveIMMApp *This,
   1139         HKL hKL,
   1140         HIMC hIMC,
   1141         LPWSTR pSrc,
   1142         UINT uBufLen,
   1143         UINT uFlag,
   1144         CANDIDATELIST *pDst,
   1145         UINT *puCopied);
   1146 
   1147     HRESULT (STDMETHODCALLTYPE *GetConversionStatus)(
   1148         IActiveIMMApp *This,
   1149         HIMC hIMC,
   1150         DWORD *pfdwConversion,
   1151         DWORD *pfdwSentence);
   1152 
   1153     HRESULT (STDMETHODCALLTYPE *GetDefaultIMEWnd)(
   1154         IActiveIMMApp *This,
   1155         HWND hWnd,
   1156         HWND *phDefWnd);
   1157 
   1158     HRESULT (STDMETHODCALLTYPE *GetDescriptionA)(
   1159         IActiveIMMApp *This,
   1160         HKL hKL,
   1161         UINT uBufLen,
   1162         LPSTR szDescription,
   1163         UINT *puCopied);
   1164 
   1165     HRESULT (STDMETHODCALLTYPE *GetDescriptionW)(
   1166         IActiveIMMApp *This,
   1167         HKL hKL,
   1168         UINT uBufLen,
   1169         LPWSTR szDescription,
   1170         UINT *puCopied);
   1171 
   1172     HRESULT (STDMETHODCALLTYPE *GetGuideLineA)(
   1173         IActiveIMMApp *This,
   1174         HIMC hIMC,
   1175         DWORD dwIndex,
   1176         DWORD dwBufLen,
   1177         LPSTR pBuf,
   1178         DWORD *pdwResult);
   1179 
   1180     HRESULT (STDMETHODCALLTYPE *GetGuideLineW)(
   1181         IActiveIMMApp *This,
   1182         HIMC hIMC,
   1183         DWORD dwIndex,
   1184         DWORD dwBufLen,
   1185         LPWSTR pBuf,
   1186         DWORD *pdwResult);
   1187 
   1188     HRESULT (STDMETHODCALLTYPE *GetIMEFileNameA)(
   1189         IActiveIMMApp *This,
   1190         HKL hKL,
   1191         UINT uBufLen,
   1192         LPSTR szFileName,
   1193         UINT *puCopied);
   1194 
   1195     HRESULT (STDMETHODCALLTYPE *GetIMEFileNameW)(
   1196         IActiveIMMApp *This,
   1197         HKL hKL,
   1198         UINT uBufLen,
   1199         LPWSTR szFileName,
   1200         UINT *puCopied);
   1201 
   1202     HRESULT (STDMETHODCALLTYPE *GetOpenStatus)(
   1203         IActiveIMMApp *This,
   1204         HIMC hIMC);
   1205 
   1206     HRESULT (STDMETHODCALLTYPE *GetProperty)(
   1207         IActiveIMMApp *This,
   1208         HKL hKL,
   1209         DWORD fdwIndex,
   1210         DWORD *pdwProperty);
   1211 
   1212     HRESULT (STDMETHODCALLTYPE *GetRegisterWordStyleA)(
   1213         IActiveIMMApp *This,
   1214         HKL hKL,
   1215         UINT nItem,
   1216         STYLEBUFA *pStyleBuf,
   1217         UINT *puCopied);
   1218 
   1219     HRESULT (STDMETHODCALLTYPE *GetRegisterWordStyleW)(
   1220         IActiveIMMApp *This,
   1221         HKL hKL,
   1222         UINT nItem,
   1223         STYLEBUFW *pStyleBuf,
   1224         UINT *puCopied);
   1225 
   1226     HRESULT (STDMETHODCALLTYPE *GetStatusWindowPos)(
   1227         IActiveIMMApp *This,
   1228         HIMC hIMC,
   1229         POINT *pptPos);
   1230 
   1231     HRESULT (STDMETHODCALLTYPE *GetVirtualKey)(
   1232         IActiveIMMApp *This,
   1233         HWND hWnd,
   1234         UINT *puVirtualKey);
   1235 
   1236     HRESULT (STDMETHODCALLTYPE *InstallIMEA)(
   1237         IActiveIMMApp *This,
   1238         LPSTR szIMEFileName,
   1239         LPSTR szLayoutText,
   1240         HKL *phKL);
   1241 
   1242     HRESULT (STDMETHODCALLTYPE *InstallIMEW)(
   1243         IActiveIMMApp *This,
   1244         LPWSTR szIMEFileName,
   1245         LPWSTR szLayoutText,
   1246         HKL *phKL);
   1247 
   1248     HRESULT (STDMETHODCALLTYPE *IsIME)(
   1249         IActiveIMMApp *This,
   1250         HKL hKL);
   1251 
   1252     HRESULT (STDMETHODCALLTYPE *IsUIMessageA)(
   1253         IActiveIMMApp *This,
   1254         HWND hWndIME,
   1255         UINT msg,
   1256         WPARAM wParam,
   1257         LPARAM lParam);
   1258 
   1259     HRESULT (STDMETHODCALLTYPE *IsUIMessageW)(
   1260         IActiveIMMApp *This,
   1261         HWND hWndIME,
   1262         UINT msg,
   1263         WPARAM wParam,
   1264         LPARAM lParam);
   1265 
   1266     HRESULT (STDMETHODCALLTYPE *NotifyIME)(
   1267         IActiveIMMApp *This,
   1268         HIMC hIMC,
   1269         DWORD dwAction,
   1270         DWORD dwIndex,
   1271         DWORD dwValue);
   1272 
   1273     HRESULT (STDMETHODCALLTYPE *RegisterWordA)(
   1274         IActiveIMMApp *This,
   1275         HKL hKL,
   1276         LPSTR szReading,
   1277         DWORD dwStyle,
   1278         LPSTR szRegister);
   1279 
   1280     HRESULT (STDMETHODCALLTYPE *RegisterWordW)(
   1281         IActiveIMMApp *This,
   1282         HKL hKL,
   1283         LPWSTR szReading,
   1284         DWORD dwStyle,
   1285         LPWSTR szRegister);
   1286 
   1287     HRESULT (STDMETHODCALLTYPE *ReleaseContext)(
   1288         IActiveIMMApp *This,
   1289         HWND hWnd,
   1290         HIMC hIMC);
   1291 
   1292     HRESULT (STDMETHODCALLTYPE *SetCandidateWindow)(
   1293         IActiveIMMApp *This,
   1294         HIMC hIMC,
   1295         CANDIDATEFORM *pCandidate);
   1296 
   1297     HRESULT (STDMETHODCALLTYPE *SetCompositionFontA)(
   1298         IActiveIMMApp *This,
   1299         HIMC hIMC,
   1300         LOGFONTA *plf);
   1301 
   1302     HRESULT (STDMETHODCALLTYPE *SetCompositionFontW)(
   1303         IActiveIMMApp *This,
   1304         HIMC hIMC,
   1305         LOGFONTW *plf);
   1306 
   1307     HRESULT (STDMETHODCALLTYPE *SetCompositionStringA)(
   1308         IActiveIMMApp *This,
   1309         HIMC hIMC,
   1310         DWORD dwIndex,
   1311         LPVOID pComp,
   1312         DWORD dwCompLen,
   1313         LPVOID pRead,
   1314         DWORD dwReadLen);
   1315 
   1316     HRESULT (STDMETHODCALLTYPE *SetCompositionStringW)(
   1317         IActiveIMMApp *This,
   1318         HIMC hIMC,
   1319         DWORD dwIndex,
   1320         LPVOID pComp,
   1321         DWORD dwCompLen,
   1322         LPVOID pRead,
   1323         DWORD dwReadLen);
   1324 
   1325     HRESULT (STDMETHODCALLTYPE *SetCompositionWindow)(
   1326         IActiveIMMApp *This,
   1327         HIMC hIMC,
   1328         COMPOSITIONFORM *pCompForm);
   1329 
   1330     HRESULT (STDMETHODCALLTYPE *SetConversionStatus)(
   1331         IActiveIMMApp *This,
   1332         HIMC hIMC,
   1333         DWORD fdwConversion,
   1334         DWORD fdwSentence);
   1335 
   1336     HRESULT (STDMETHODCALLTYPE *SetOpenStatus)(
   1337         IActiveIMMApp *This,
   1338         HIMC hIMC,
   1339         WINBOOL fOpen);
   1340 
   1341     HRESULT (STDMETHODCALLTYPE *SetStatusWindowPos)(
   1342         IActiveIMMApp *This,
   1343         HIMC hIMC,
   1344         POINT *pptPos);
   1345 
   1346     HRESULT (STDMETHODCALLTYPE *SimulateHotKey)(
   1347         IActiveIMMApp *This,
   1348         HWND hWnd,
   1349         DWORD dwHotKeyID);
   1350 
   1351     HRESULT (STDMETHODCALLTYPE *UnregisterWordA)(
   1352         IActiveIMMApp *This,
   1353         HKL hKL,
   1354         LPSTR szReading,
   1355         DWORD dwStyle,
   1356         LPSTR szUnregister);
   1357 
   1358     HRESULT (STDMETHODCALLTYPE *UnregisterWordW)(
   1359         IActiveIMMApp *This,
   1360         HKL hKL,
   1361         LPWSTR szReading,
   1362         DWORD dwStyle,
   1363         LPWSTR szUnregister);
   1364 
   1365     HRESULT (STDMETHODCALLTYPE *Activate)(
   1366         IActiveIMMApp *This,
   1367         WINBOOL fRestoreLayout);
   1368 
   1369     HRESULT (STDMETHODCALLTYPE *Deactivate)(
   1370         IActiveIMMApp *This);
   1371 
   1372     HRESULT (STDMETHODCALLTYPE *OnDefWindowProc)(
   1373         IActiveIMMApp *This,
   1374         HWND hWnd,
   1375         UINT Msg,
   1376         WPARAM wParam,
   1377         LPARAM lParam,
   1378         LRESULT *plResult);
   1379 
   1380     HRESULT (STDMETHODCALLTYPE *FilterClientWindows)(
   1381         IActiveIMMApp *This,
   1382         ATOM *aaClassList,
   1383         UINT uSize);
   1384 
   1385     HRESULT (STDMETHODCALLTYPE *GetCodePageA)(
   1386         IActiveIMMApp *This,
   1387         HKL hKL,
   1388         UINT *uCodePage);
   1389 
   1390     HRESULT (STDMETHODCALLTYPE *GetLangId)(
   1391         IActiveIMMApp *This,
   1392         HKL hKL,
   1393         LANGID *plid);
   1394 
   1395     HRESULT (STDMETHODCALLTYPE *AssociateContextEx)(
   1396         IActiveIMMApp *This,
   1397         HWND hWnd,
   1398         HIMC hIMC,
   1399         DWORD dwFlags);
   1400 
   1401     HRESULT (STDMETHODCALLTYPE *DisableIME)(
   1402         IActiveIMMApp *This,
   1403         DWORD idThread);
   1404 
   1405     HRESULT (STDMETHODCALLTYPE *GetImeMenuItemsA)(
   1406         IActiveIMMApp *This,
   1407         HIMC hIMC,
   1408         DWORD dwFlags,
   1409         DWORD dwType,
   1410         IMEMENUITEMINFOA *pImeParentMenu,
   1411         IMEMENUITEMINFOA *pImeMenu,
   1412         DWORD dwSize,
   1413         DWORD *pdwResult);
   1414 
   1415     HRESULT (STDMETHODCALLTYPE *GetImeMenuItemsW)(
   1416         IActiveIMMApp *This,
   1417         HIMC hIMC,
   1418         DWORD dwFlags,
   1419         DWORD dwType,
   1420         IMEMENUITEMINFOW *pImeParentMenu,
   1421         IMEMENUITEMINFOW *pImeMenu,
   1422         DWORD dwSize,
   1423         DWORD *pdwResult);
   1424 
   1425     HRESULT (STDMETHODCALLTYPE *EnumInputContext)(
   1426         IActiveIMMApp *This,
   1427         DWORD idThread,
   1428         IEnumInputContext **ppEnum);
   1429 
   1430     END_INTERFACE
   1431 } IActiveIMMAppVtbl;
   1432 
   1433 interface IActiveIMMApp {
   1434     CONST_VTBL IActiveIMMAppVtbl* lpVtbl;
   1435 };
   1436 
   1437 #ifdef COBJMACROS
   1438 #ifndef WIDL_C_INLINE_WRAPPERS
   1439 /*** IUnknown methods ***/
   1440 #define IActiveIMMApp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1441 #define IActiveIMMApp_AddRef(This) (This)->lpVtbl->AddRef(This)
   1442 #define IActiveIMMApp_Release(This) (This)->lpVtbl->Release(This)
   1443 /*** IActiveIMMApp methods ***/
   1444 #define IActiveIMMApp_AssociateContext(This,hWnd,hIME,phPrev) (This)->lpVtbl->AssociateContext(This,hWnd,hIME,phPrev)
   1445 #define IActiveIMMApp_ConfigureIMEA(This,hKL,hWnd,dwMode,pData) (This)->lpVtbl->ConfigureIMEA(This,hKL,hWnd,dwMode,pData)
   1446 #define IActiveIMMApp_ConfigureIMEW(This,hKL,hWnd,dwMode,pData) (This)->lpVtbl->ConfigureIMEW(This,hKL,hWnd,dwMode,pData)
   1447 #define IActiveIMMApp_CreateContext(This,phIMC) (This)->lpVtbl->CreateContext(This,phIMC)
   1448 #define IActiveIMMApp_DestroyContext(This,hIME) (This)->lpVtbl->DestroyContext(This,hIME)
   1449 #define IActiveIMMApp_EnumRegisterWordA(This,hKL,szReading,dwStyle,szRegister,pData,pEnum) (This)->lpVtbl->EnumRegisterWordA(This,hKL,szReading,dwStyle,szRegister,pData,pEnum)
   1450 #define IActiveIMMApp_EnumRegisterWordW(This,hKL,szReading,dwStyle,szRegister,pData,pEnum) (This)->lpVtbl->EnumRegisterWordW(This,hKL,szReading,dwStyle,szRegister,pData,pEnum)
   1451 #define IActiveIMMApp_EscapeA(This,hKL,hIMC,uEscape,pData,plResult) (This)->lpVtbl->EscapeA(This,hKL,hIMC,uEscape,pData,plResult)
   1452 #define IActiveIMMApp_EscapeW(This,hKL,hIMC,uEscape,pData,plResult) (This)->lpVtbl->EscapeW(This,hKL,hIMC,uEscape,pData,plResult)
   1453 #define IActiveIMMApp_GetCandidateListA(This,hIMC,dwIndex,uBufLen,pCandList,puCopied) (This)->lpVtbl->GetCandidateListA(This,hIMC,dwIndex,uBufLen,pCandList,puCopied)
   1454 #define IActiveIMMApp_GetCandidateListW(This,hIMC,dwIndex,uBufLen,pCandList,puCopied) (This)->lpVtbl->GetCandidateListW(This,hIMC,dwIndex,uBufLen,pCandList,puCopied)
   1455 #define IActiveIMMApp_GetCandidateListCountA(This,hIMC,pdwListSize,pdwBufLen) (This)->lpVtbl->GetCandidateListCountA(This,hIMC,pdwListSize,pdwBufLen)
   1456 #define IActiveIMMApp_GetCandidateListCountW(This,hIMC,pdwListSize,pdwBufLen) (This)->lpVtbl->GetCandidateListCountW(This,hIMC,pdwListSize,pdwBufLen)
   1457 #define IActiveIMMApp_GetCandidateWindow(This,hIMC,dwIndex,pCandidate) (This)->lpVtbl->GetCandidateWindow(This,hIMC,dwIndex,pCandidate)
   1458 #define IActiveIMMApp_GetCompositionFontA(This,hIMC,plf) (This)->lpVtbl->GetCompositionFontA(This,hIMC,plf)
   1459 #define IActiveIMMApp_GetCompositionFontW(This,hIMC,plf) (This)->lpVtbl->GetCompositionFontW(This,hIMC,plf)
   1460 #define IActiveIMMApp_GetCompositionStringA(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf) (This)->lpVtbl->GetCompositionStringA(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf)
   1461 #define IActiveIMMApp_GetCompositionStringW(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf) (This)->lpVtbl->GetCompositionStringW(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf)
   1462 #define IActiveIMMApp_GetCompositionWindow(This,hIMC,pCompForm) (This)->lpVtbl->GetCompositionWindow(This,hIMC,pCompForm)
   1463 #define IActiveIMMApp_GetContext(This,hWnd,phIMC) (This)->lpVtbl->GetContext(This,hWnd,phIMC)
   1464 #define IActiveIMMApp_GetConversionListA(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied) (This)->lpVtbl->GetConversionListA(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied)
   1465 #define IActiveIMMApp_GetConversionListW(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied) (This)->lpVtbl->GetConversionListW(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied)
   1466 #define IActiveIMMApp_GetConversionStatus(This,hIMC,pfdwConversion,pfdwSentence) (This)->lpVtbl->GetConversionStatus(This,hIMC,pfdwConversion,pfdwSentence)
   1467 #define IActiveIMMApp_GetDefaultIMEWnd(This,hWnd,phDefWnd) (This)->lpVtbl->GetDefaultIMEWnd(This,hWnd,phDefWnd)
   1468 #define IActiveIMMApp_GetDescriptionA(This,hKL,uBufLen,szDescription,puCopied) (This)->lpVtbl->GetDescriptionA(This,hKL,uBufLen,szDescription,puCopied)
   1469 #define IActiveIMMApp_GetDescriptionW(This,hKL,uBufLen,szDescription,puCopied) (This)->lpVtbl->GetDescriptionW(This,hKL,uBufLen,szDescription,puCopied)
   1470 #define IActiveIMMApp_GetGuideLineA(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult) (This)->lpVtbl->GetGuideLineA(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult)
   1471 #define IActiveIMMApp_GetGuideLineW(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult) (This)->lpVtbl->GetGuideLineW(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult)
   1472 #define IActiveIMMApp_GetIMEFileNameA(This,hKL,uBufLen,szFileName,puCopied) (This)->lpVtbl->GetIMEFileNameA(This,hKL,uBufLen,szFileName,puCopied)
   1473 #define IActiveIMMApp_GetIMEFileNameW(This,hKL,uBufLen,szFileName,puCopied) (This)->lpVtbl->GetIMEFileNameW(This,hKL,uBufLen,szFileName,puCopied)
   1474 #define IActiveIMMApp_GetOpenStatus(This,hIMC) (This)->lpVtbl->GetOpenStatus(This,hIMC)
   1475 #define IActiveIMMApp_GetProperty(This,hKL,fdwIndex,pdwProperty) (This)->lpVtbl->GetProperty(This,hKL,fdwIndex,pdwProperty)
   1476 #define IActiveIMMApp_GetRegisterWordStyleA(This,hKL,nItem,pStyleBuf,puCopied) (This)->lpVtbl->GetRegisterWordStyleA(This,hKL,nItem,pStyleBuf,puCopied)
   1477 #define IActiveIMMApp_GetRegisterWordStyleW(This,hKL,nItem,pStyleBuf,puCopied) (This)->lpVtbl->GetRegisterWordStyleW(This,hKL,nItem,pStyleBuf,puCopied)
   1478 #define IActiveIMMApp_GetStatusWindowPos(This,hIMC,pptPos) (This)->lpVtbl->GetStatusWindowPos(This,hIMC,pptPos)
   1479 #define IActiveIMMApp_GetVirtualKey(This,hWnd,puVirtualKey) (This)->lpVtbl->GetVirtualKey(This,hWnd,puVirtualKey)
   1480 #define IActiveIMMApp_InstallIMEA(This,szIMEFileName,szLayoutText,phKL) (This)->lpVtbl->InstallIMEA(This,szIMEFileName,szLayoutText,phKL)
   1481 #define IActiveIMMApp_InstallIMEW(This,szIMEFileName,szLayoutText,phKL) (This)->lpVtbl->InstallIMEW(This,szIMEFileName,szLayoutText,phKL)
   1482 #define IActiveIMMApp_IsIME(This,hKL) (This)->lpVtbl->IsIME(This,hKL)
   1483 #define IActiveIMMApp_IsUIMessageA(This,hWndIME,msg,wParam,lParam) (This)->lpVtbl->IsUIMessageA(This,hWndIME,msg,wParam,lParam)
   1484 #define IActiveIMMApp_IsUIMessageW(This,hWndIME,msg,wParam,lParam) (This)->lpVtbl->IsUIMessageW(This,hWndIME,msg,wParam,lParam)
   1485 #define IActiveIMMApp_NotifyIME(This,hIMC,dwAction,dwIndex,dwValue) (This)->lpVtbl->NotifyIME(This,hIMC,dwAction,dwIndex,dwValue)
   1486 #define IActiveIMMApp_RegisterWordA(This,hKL,szReading,dwStyle,szRegister) (This)->lpVtbl->RegisterWordA(This,hKL,szReading,dwStyle,szRegister)
   1487 #define IActiveIMMApp_RegisterWordW(This,hKL,szReading,dwStyle,szRegister) (This)->lpVtbl->RegisterWordW(This,hKL,szReading,dwStyle,szRegister)
   1488 #define IActiveIMMApp_ReleaseContext(This,hWnd,hIMC) (This)->lpVtbl->ReleaseContext(This,hWnd,hIMC)
   1489 #define IActiveIMMApp_SetCandidateWindow(This,hIMC,pCandidate) (This)->lpVtbl->SetCandidateWindow(This,hIMC,pCandidate)
   1490 #define IActiveIMMApp_SetCompositionFontA(This,hIMC,plf) (This)->lpVtbl->SetCompositionFontA(This,hIMC,plf)
   1491 #define IActiveIMMApp_SetCompositionFontW(This,hIMC,plf) (This)->lpVtbl->SetCompositionFontW(This,hIMC,plf)
   1492 #define IActiveIMMApp_SetCompositionStringA(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen) (This)->lpVtbl->SetCompositionStringA(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen)
   1493 #define IActiveIMMApp_SetCompositionStringW(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen) (This)->lpVtbl->SetCompositionStringW(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen)
   1494 #define IActiveIMMApp_SetCompositionWindow(This,hIMC,pCompForm) (This)->lpVtbl->SetCompositionWindow(This,hIMC,pCompForm)
   1495 #define IActiveIMMApp_SetConversionStatus(This,hIMC,fdwConversion,fdwSentence) (This)->lpVtbl->SetConversionStatus(This,hIMC,fdwConversion,fdwSentence)
   1496 #define IActiveIMMApp_SetOpenStatus(This,hIMC,fOpen) (This)->lpVtbl->SetOpenStatus(This,hIMC,fOpen)
   1497 #define IActiveIMMApp_SetStatusWindowPos(This,hIMC,pptPos) (This)->lpVtbl->SetStatusWindowPos(This,hIMC,pptPos)
   1498 #define IActiveIMMApp_SimulateHotKey(This,hWnd,dwHotKeyID) (This)->lpVtbl->SimulateHotKey(This,hWnd,dwHotKeyID)
   1499 #define IActiveIMMApp_UnregisterWordA(This,hKL,szReading,dwStyle,szUnregister) (This)->lpVtbl->UnregisterWordA(This,hKL,szReading,dwStyle,szUnregister)
   1500 #define IActiveIMMApp_UnregisterWordW(This,hKL,szReading,dwStyle,szUnregister) (This)->lpVtbl->UnregisterWordW(This,hKL,szReading,dwStyle,szUnregister)
   1501 #define IActiveIMMApp_Activate(This,fRestoreLayout) (This)->lpVtbl->Activate(This,fRestoreLayout)
   1502 #define IActiveIMMApp_Deactivate(This) (This)->lpVtbl->Deactivate(This)
   1503 #define IActiveIMMApp_OnDefWindowProc(This,hWnd,Msg,wParam,lParam,plResult) (This)->lpVtbl->OnDefWindowProc(This,hWnd,Msg,wParam,lParam,plResult)
   1504 #define IActiveIMMApp_FilterClientWindows(This,aaClassList,uSize) (This)->lpVtbl->FilterClientWindows(This,aaClassList,uSize)
   1505 #define IActiveIMMApp_GetCodePageA(This,hKL,uCodePage) (This)->lpVtbl->GetCodePageA(This,hKL,uCodePage)
   1506 #define IActiveIMMApp_GetLangId(This,hKL,plid) (This)->lpVtbl->GetLangId(This,hKL,plid)
   1507 #define IActiveIMMApp_AssociateContextEx(This,hWnd,hIMC,dwFlags) (This)->lpVtbl->AssociateContextEx(This,hWnd,hIMC,dwFlags)
   1508 #define IActiveIMMApp_DisableIME(This,idThread) (This)->lpVtbl->DisableIME(This,idThread)
   1509 #define IActiveIMMApp_GetImeMenuItemsA(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult) (This)->lpVtbl->GetImeMenuItemsA(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult)
   1510 #define IActiveIMMApp_GetImeMenuItemsW(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult) (This)->lpVtbl->GetImeMenuItemsW(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult)
   1511 #define IActiveIMMApp_EnumInputContext(This,idThread,ppEnum) (This)->lpVtbl->EnumInputContext(This,idThread,ppEnum)
   1512 #else
   1513 /*** IUnknown methods ***/
   1514 static inline HRESULT IActiveIMMApp_QueryInterface(IActiveIMMApp* This,REFIID riid,void **ppvObject) {
   1515     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1516 }
   1517 static inline ULONG IActiveIMMApp_AddRef(IActiveIMMApp* This) {
   1518     return This->lpVtbl->AddRef(This);
   1519 }
   1520 static inline ULONG IActiveIMMApp_Release(IActiveIMMApp* This) {
   1521     return This->lpVtbl->Release(This);
   1522 }
   1523 /*** IActiveIMMApp methods ***/
   1524 static inline HRESULT IActiveIMMApp_AssociateContext(IActiveIMMApp* This,HWND hWnd,HIMC hIME,HIMC *phPrev) {
   1525     return This->lpVtbl->AssociateContext(This,hWnd,hIME,phPrev);
   1526 }
   1527 static inline HRESULT IActiveIMMApp_ConfigureIMEA(IActiveIMMApp* This,HKL hKL,HWND hWnd,DWORD dwMode,REGISTERWORDA *pData) {
   1528     return This->lpVtbl->ConfigureIMEA(This,hKL,hWnd,dwMode,pData);
   1529 }
   1530 static inline HRESULT IActiveIMMApp_ConfigureIMEW(IActiveIMMApp* This,HKL hKL,HWND hWnd,DWORD dwMode,REGISTERWORDW *pData) {
   1531     return This->lpVtbl->ConfigureIMEW(This,hKL,hWnd,dwMode,pData);
   1532 }
   1533 static inline HRESULT IActiveIMMApp_CreateContext(IActiveIMMApp* This,HIMC *phIMC) {
   1534     return This->lpVtbl->CreateContext(This,phIMC);
   1535 }
   1536 static inline HRESULT IActiveIMMApp_DestroyContext(IActiveIMMApp* This,HIMC hIME) {
   1537     return This->lpVtbl->DestroyContext(This,hIME);
   1538 }
   1539 static inline HRESULT IActiveIMMApp_EnumRegisterWordA(IActiveIMMApp* This,HKL hKL,LPSTR szReading,DWORD dwStyle,LPSTR szRegister,LPVOID pData,IEnumRegisterWordA **pEnum) {
   1540     return This->lpVtbl->EnumRegisterWordA(This,hKL,szReading,dwStyle,szRegister,pData,pEnum);
   1541 }
   1542 static inline HRESULT IActiveIMMApp_EnumRegisterWordW(IActiveIMMApp* This,HKL hKL,LPWSTR szReading,DWORD dwStyle,LPWSTR szRegister,LPVOID pData,IEnumRegisterWordW **pEnum) {
   1543     return This->lpVtbl->EnumRegisterWordW(This,hKL,szReading,dwStyle,szRegister,pData,pEnum);
   1544 }
   1545 static inline HRESULT IActiveIMMApp_EscapeA(IActiveIMMApp* This,HKL hKL,HIMC hIMC,UINT uEscape,LPVOID pData,LRESULT *plResult) {
   1546     return This->lpVtbl->EscapeA(This,hKL,hIMC,uEscape,pData,plResult);
   1547 }
   1548 static inline HRESULT IActiveIMMApp_EscapeW(IActiveIMMApp* This,HKL hKL,HIMC hIMC,UINT uEscape,LPVOID pData,LRESULT *plResult) {
   1549     return This->lpVtbl->EscapeW(This,hKL,hIMC,uEscape,pData,plResult);
   1550 }
   1551 static inline HRESULT IActiveIMMApp_GetCandidateListA(IActiveIMMApp* This,HIMC hIMC,DWORD dwIndex,UINT uBufLen,CANDIDATELIST *pCandList,UINT *puCopied) {
   1552     return This->lpVtbl->GetCandidateListA(This,hIMC,dwIndex,uBufLen,pCandList,puCopied);
   1553 }
   1554 static inline HRESULT IActiveIMMApp_GetCandidateListW(IActiveIMMApp* This,HIMC hIMC,DWORD dwIndex,UINT uBufLen,CANDIDATELIST *pCandList,UINT *puCopied) {
   1555     return This->lpVtbl->GetCandidateListW(This,hIMC,dwIndex,uBufLen,pCandList,puCopied);
   1556 }
   1557 static inline HRESULT IActiveIMMApp_GetCandidateListCountA(IActiveIMMApp* This,HIMC hIMC,DWORD *pdwListSize,DWORD *pdwBufLen) {
   1558     return This->lpVtbl->GetCandidateListCountA(This,hIMC,pdwListSize,pdwBufLen);
   1559 }
   1560 static inline HRESULT IActiveIMMApp_GetCandidateListCountW(IActiveIMMApp* This,HIMC hIMC,DWORD *pdwListSize,DWORD *pdwBufLen) {
   1561     return This->lpVtbl->GetCandidateListCountW(This,hIMC,pdwListSize,pdwBufLen);
   1562 }
   1563 static inline HRESULT IActiveIMMApp_GetCandidateWindow(IActiveIMMApp* This,HIMC hIMC,DWORD dwIndex,CANDIDATEFORM *pCandidate) {
   1564     return This->lpVtbl->GetCandidateWindow(This,hIMC,dwIndex,pCandidate);
   1565 }
   1566 static inline HRESULT IActiveIMMApp_GetCompositionFontA(IActiveIMMApp* This,HIMC hIMC,LOGFONTA *plf) {
   1567     return This->lpVtbl->GetCompositionFontA(This,hIMC,plf);
   1568 }
   1569 static inline HRESULT IActiveIMMApp_GetCompositionFontW(IActiveIMMApp* This,HIMC hIMC,LOGFONTW *plf) {
   1570     return This->lpVtbl->GetCompositionFontW(This,hIMC,plf);
   1571 }
   1572 static inline HRESULT IActiveIMMApp_GetCompositionStringA(IActiveIMMApp* This,HIMC hIMC,DWORD dwIndex,DWORD dwBufLen,LONG *plCopied,LPVOID pBuf) {
   1573     return This->lpVtbl->GetCompositionStringA(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf);
   1574 }
   1575 static inline HRESULT IActiveIMMApp_GetCompositionStringW(IActiveIMMApp* This,HIMC hIMC,DWORD dwIndex,DWORD dwBufLen,LONG *plCopied,LPVOID pBuf) {
   1576     return This->lpVtbl->GetCompositionStringW(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf);
   1577 }
   1578 static inline HRESULT IActiveIMMApp_GetCompositionWindow(IActiveIMMApp* This,HIMC hIMC,COMPOSITIONFORM *pCompForm) {
   1579     return This->lpVtbl->GetCompositionWindow(This,hIMC,pCompForm);
   1580 }
   1581 static inline HRESULT IActiveIMMApp_GetContext(IActiveIMMApp* This,HWND hWnd,HIMC *phIMC) {
   1582     return This->lpVtbl->GetContext(This,hWnd,phIMC);
   1583 }
   1584 static inline HRESULT IActiveIMMApp_GetConversionListA(IActiveIMMApp* This,HKL hKL,HIMC hIMC,LPSTR pSrc,UINT uBufLen,UINT uFlag,CANDIDATELIST *pDst,UINT *puCopied) {
   1585     return This->lpVtbl->GetConversionListA(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied);
   1586 }
   1587 static inline HRESULT IActiveIMMApp_GetConversionListW(IActiveIMMApp* This,HKL hKL,HIMC hIMC,LPWSTR pSrc,UINT uBufLen,UINT uFlag,CANDIDATELIST *pDst,UINT *puCopied) {
   1588     return This->lpVtbl->GetConversionListW(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied);
   1589 }
   1590 static inline HRESULT IActiveIMMApp_GetConversionStatus(IActiveIMMApp* This,HIMC hIMC,DWORD *pfdwConversion,DWORD *pfdwSentence) {
   1591     return This->lpVtbl->GetConversionStatus(This,hIMC,pfdwConversion,pfdwSentence);
   1592 }
   1593 static inline HRESULT IActiveIMMApp_GetDefaultIMEWnd(IActiveIMMApp* This,HWND hWnd,HWND *phDefWnd) {
   1594     return This->lpVtbl->GetDefaultIMEWnd(This,hWnd,phDefWnd);
   1595 }
   1596 static inline HRESULT IActiveIMMApp_GetDescriptionA(IActiveIMMApp* This,HKL hKL,UINT uBufLen,LPSTR szDescription,UINT *puCopied) {
   1597     return This->lpVtbl->GetDescriptionA(This,hKL,uBufLen,szDescription,puCopied);
   1598 }
   1599 static inline HRESULT IActiveIMMApp_GetDescriptionW(IActiveIMMApp* This,HKL hKL,UINT uBufLen,LPWSTR szDescription,UINT *puCopied) {
   1600     return This->lpVtbl->GetDescriptionW(This,hKL,uBufLen,szDescription,puCopied);
   1601 }
   1602 static inline HRESULT IActiveIMMApp_GetGuideLineA(IActiveIMMApp* This,HIMC hIMC,DWORD dwIndex,DWORD dwBufLen,LPSTR pBuf,DWORD *pdwResult) {
   1603     return This->lpVtbl->GetGuideLineA(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult);
   1604 }
   1605 static inline HRESULT IActiveIMMApp_GetGuideLineW(IActiveIMMApp* This,HIMC hIMC,DWORD dwIndex,DWORD dwBufLen,LPWSTR pBuf,DWORD *pdwResult) {
   1606     return This->lpVtbl->GetGuideLineW(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult);
   1607 }
   1608 static inline HRESULT IActiveIMMApp_GetIMEFileNameA(IActiveIMMApp* This,HKL hKL,UINT uBufLen,LPSTR szFileName,UINT *puCopied) {
   1609     return This->lpVtbl->GetIMEFileNameA(This,hKL,uBufLen,szFileName,puCopied);
   1610 }
   1611 static inline HRESULT IActiveIMMApp_GetIMEFileNameW(IActiveIMMApp* This,HKL hKL,UINT uBufLen,LPWSTR szFileName,UINT *puCopied) {
   1612     return This->lpVtbl->GetIMEFileNameW(This,hKL,uBufLen,szFileName,puCopied);
   1613 }
   1614 static inline HRESULT IActiveIMMApp_GetOpenStatus(IActiveIMMApp* This,HIMC hIMC) {
   1615     return This->lpVtbl->GetOpenStatus(This,hIMC);
   1616 }
   1617 static inline HRESULT IActiveIMMApp_GetProperty(IActiveIMMApp* This,HKL hKL,DWORD fdwIndex,DWORD *pdwProperty) {
   1618     return This->lpVtbl->GetProperty(This,hKL,fdwIndex,pdwProperty);
   1619 }
   1620 static inline HRESULT IActiveIMMApp_GetRegisterWordStyleA(IActiveIMMApp* This,HKL hKL,UINT nItem,STYLEBUFA *pStyleBuf,UINT *puCopied) {
   1621     return This->lpVtbl->GetRegisterWordStyleA(This,hKL,nItem,pStyleBuf,puCopied);
   1622 }
   1623 static inline HRESULT IActiveIMMApp_GetRegisterWordStyleW(IActiveIMMApp* This,HKL hKL,UINT nItem,STYLEBUFW *pStyleBuf,UINT *puCopied) {
   1624     return This->lpVtbl->GetRegisterWordStyleW(This,hKL,nItem,pStyleBuf,puCopied);
   1625 }
   1626 static inline HRESULT IActiveIMMApp_GetStatusWindowPos(IActiveIMMApp* This,HIMC hIMC,POINT *pptPos) {
   1627     return This->lpVtbl->GetStatusWindowPos(This,hIMC,pptPos);
   1628 }
   1629 static inline HRESULT IActiveIMMApp_GetVirtualKey(IActiveIMMApp* This,HWND hWnd,UINT *puVirtualKey) {
   1630     return This->lpVtbl->GetVirtualKey(This,hWnd,puVirtualKey);
   1631 }
   1632 static inline HRESULT IActiveIMMApp_InstallIMEA(IActiveIMMApp* This,LPSTR szIMEFileName,LPSTR szLayoutText,HKL *phKL) {
   1633     return This->lpVtbl->InstallIMEA(This,szIMEFileName,szLayoutText,phKL);
   1634 }
   1635 static inline HRESULT IActiveIMMApp_InstallIMEW(IActiveIMMApp* This,LPWSTR szIMEFileName,LPWSTR szLayoutText,HKL *phKL) {
   1636     return This->lpVtbl->InstallIMEW(This,szIMEFileName,szLayoutText,phKL);
   1637 }
   1638 static inline HRESULT IActiveIMMApp_IsIME(IActiveIMMApp* This,HKL hKL) {
   1639     return This->lpVtbl->IsIME(This,hKL);
   1640 }
   1641 static inline HRESULT IActiveIMMApp_IsUIMessageA(IActiveIMMApp* This,HWND hWndIME,UINT msg,WPARAM wParam,LPARAM lParam) {
   1642     return This->lpVtbl->IsUIMessageA(This,hWndIME,msg,wParam,lParam);
   1643 }
   1644 static inline HRESULT IActiveIMMApp_IsUIMessageW(IActiveIMMApp* This,HWND hWndIME,UINT msg,WPARAM wParam,LPARAM lParam) {
   1645     return This->lpVtbl->IsUIMessageW(This,hWndIME,msg,wParam,lParam);
   1646 }
   1647 static inline HRESULT IActiveIMMApp_NotifyIME(IActiveIMMApp* This,HIMC hIMC,DWORD dwAction,DWORD dwIndex,DWORD dwValue) {
   1648     return This->lpVtbl->NotifyIME(This,hIMC,dwAction,dwIndex,dwValue);
   1649 }
   1650 static inline HRESULT IActiveIMMApp_RegisterWordA(IActiveIMMApp* This,HKL hKL,LPSTR szReading,DWORD dwStyle,LPSTR szRegister) {
   1651     return This->lpVtbl->RegisterWordA(This,hKL,szReading,dwStyle,szRegister);
   1652 }
   1653 static inline HRESULT IActiveIMMApp_RegisterWordW(IActiveIMMApp* This,HKL hKL,LPWSTR szReading,DWORD dwStyle,LPWSTR szRegister) {
   1654     return This->lpVtbl->RegisterWordW(This,hKL,szReading,dwStyle,szRegister);
   1655 }
   1656 static inline HRESULT IActiveIMMApp_ReleaseContext(IActiveIMMApp* This,HWND hWnd,HIMC hIMC) {
   1657     return This->lpVtbl->ReleaseContext(This,hWnd,hIMC);
   1658 }
   1659 static inline HRESULT IActiveIMMApp_SetCandidateWindow(IActiveIMMApp* This,HIMC hIMC,CANDIDATEFORM *pCandidate) {
   1660     return This->lpVtbl->SetCandidateWindow(This,hIMC,pCandidate);
   1661 }
   1662 static inline HRESULT IActiveIMMApp_SetCompositionFontA(IActiveIMMApp* This,HIMC hIMC,LOGFONTA *plf) {
   1663     return This->lpVtbl->SetCompositionFontA(This,hIMC,plf);
   1664 }
   1665 static inline HRESULT IActiveIMMApp_SetCompositionFontW(IActiveIMMApp* This,HIMC hIMC,LOGFONTW *plf) {
   1666     return This->lpVtbl->SetCompositionFontW(This,hIMC,plf);
   1667 }
   1668 static inline HRESULT IActiveIMMApp_SetCompositionStringA(IActiveIMMApp* This,HIMC hIMC,DWORD dwIndex,LPVOID pComp,DWORD dwCompLen,LPVOID pRead,DWORD dwReadLen) {
   1669     return This->lpVtbl->SetCompositionStringA(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen);
   1670 }
   1671 static inline HRESULT IActiveIMMApp_SetCompositionStringW(IActiveIMMApp* This,HIMC hIMC,DWORD dwIndex,LPVOID pComp,DWORD dwCompLen,LPVOID pRead,DWORD dwReadLen) {
   1672     return This->lpVtbl->SetCompositionStringW(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen);
   1673 }
   1674 static inline HRESULT IActiveIMMApp_SetCompositionWindow(IActiveIMMApp* This,HIMC hIMC,COMPOSITIONFORM *pCompForm) {
   1675     return This->lpVtbl->SetCompositionWindow(This,hIMC,pCompForm);
   1676 }
   1677 static inline HRESULT IActiveIMMApp_SetConversionStatus(IActiveIMMApp* This,HIMC hIMC,DWORD fdwConversion,DWORD fdwSentence) {
   1678     return This->lpVtbl->SetConversionStatus(This,hIMC,fdwConversion,fdwSentence);
   1679 }
   1680 static inline HRESULT IActiveIMMApp_SetOpenStatus(IActiveIMMApp* This,HIMC hIMC,WINBOOL fOpen) {
   1681     return This->lpVtbl->SetOpenStatus(This,hIMC,fOpen);
   1682 }
   1683 static inline HRESULT IActiveIMMApp_SetStatusWindowPos(IActiveIMMApp* This,HIMC hIMC,POINT *pptPos) {
   1684     return This->lpVtbl->SetStatusWindowPos(This,hIMC,pptPos);
   1685 }
   1686 static inline HRESULT IActiveIMMApp_SimulateHotKey(IActiveIMMApp* This,HWND hWnd,DWORD dwHotKeyID) {
   1687     return This->lpVtbl->SimulateHotKey(This,hWnd,dwHotKeyID);
   1688 }
   1689 static inline HRESULT IActiveIMMApp_UnregisterWordA(IActiveIMMApp* This,HKL hKL,LPSTR szReading,DWORD dwStyle,LPSTR szUnregister) {
   1690     return This->lpVtbl->UnregisterWordA(This,hKL,szReading,dwStyle,szUnregister);
   1691 }
   1692 static inline HRESULT IActiveIMMApp_UnregisterWordW(IActiveIMMApp* This,HKL hKL,LPWSTR szReading,DWORD dwStyle,LPWSTR szUnregister) {
   1693     return This->lpVtbl->UnregisterWordW(This,hKL,szReading,dwStyle,szUnregister);
   1694 }
   1695 static inline HRESULT IActiveIMMApp_Activate(IActiveIMMApp* This,WINBOOL fRestoreLayout) {
   1696     return This->lpVtbl->Activate(This,fRestoreLayout);
   1697 }
   1698 static inline HRESULT IActiveIMMApp_Deactivate(IActiveIMMApp* This) {
   1699     return This->lpVtbl->Deactivate(This);
   1700 }
   1701 static inline HRESULT IActiveIMMApp_OnDefWindowProc(IActiveIMMApp* This,HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam,LRESULT *plResult) {
   1702     return This->lpVtbl->OnDefWindowProc(This,hWnd,Msg,wParam,lParam,plResult);
   1703 }
   1704 static inline HRESULT IActiveIMMApp_FilterClientWindows(IActiveIMMApp* This,ATOM *aaClassList,UINT uSize) {
   1705     return This->lpVtbl->FilterClientWindows(This,aaClassList,uSize);
   1706 }
   1707 static inline HRESULT IActiveIMMApp_GetCodePageA(IActiveIMMApp* This,HKL hKL,UINT *uCodePage) {
   1708     return This->lpVtbl->GetCodePageA(This,hKL,uCodePage);
   1709 }
   1710 static inline HRESULT IActiveIMMApp_GetLangId(IActiveIMMApp* This,HKL hKL,LANGID *plid) {
   1711     return This->lpVtbl->GetLangId(This,hKL,plid);
   1712 }
   1713 static inline HRESULT IActiveIMMApp_AssociateContextEx(IActiveIMMApp* This,HWND hWnd,HIMC hIMC,DWORD dwFlags) {
   1714     return This->lpVtbl->AssociateContextEx(This,hWnd,hIMC,dwFlags);
   1715 }
   1716 static inline HRESULT IActiveIMMApp_DisableIME(IActiveIMMApp* This,DWORD idThread) {
   1717     return This->lpVtbl->DisableIME(This,idThread);
   1718 }
   1719 static inline HRESULT IActiveIMMApp_GetImeMenuItemsA(IActiveIMMApp* This,HIMC hIMC,DWORD dwFlags,DWORD dwType,IMEMENUITEMINFOA *pImeParentMenu,IMEMENUITEMINFOA *pImeMenu,DWORD dwSize,DWORD *pdwResult) {
   1720     return This->lpVtbl->GetImeMenuItemsA(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult);
   1721 }
   1722 static inline HRESULT IActiveIMMApp_GetImeMenuItemsW(IActiveIMMApp* This,HIMC hIMC,DWORD dwFlags,DWORD dwType,IMEMENUITEMINFOW *pImeParentMenu,IMEMENUITEMINFOW *pImeMenu,DWORD dwSize,DWORD *pdwResult) {
   1723     return This->lpVtbl->GetImeMenuItemsW(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult);
   1724 }
   1725 static inline HRESULT IActiveIMMApp_EnumInputContext(IActiveIMMApp* This,DWORD idThread,IEnumInputContext **ppEnum) {
   1726     return This->lpVtbl->EnumInputContext(This,idThread,ppEnum);
   1727 }
   1728 #endif
   1729 #endif
   1730 
   1731 #endif
   1732 
   1733 
   1734 #endif  /* __IActiveIMMApp_INTERFACE_DEFINED__ */
   1735 
   1736 /*****************************************************************************
   1737  * IActiveIMMIME interface
   1738  */
   1739 #ifndef __IActiveIMMIME_INTERFACE_DEFINED__
   1740 #define __IActiveIMMIME_INTERFACE_DEFINED__
   1741 
   1742 DEFINE_GUID(IID_IActiveIMMIME, 0x08c03411, 0xf96b, 0x11d0, 0xa4,0x75, 0x00,0xaa,0x00,0x6b,0xcc,0x59);
   1743 #if defined(__cplusplus) && !defined(CINTERFACE)
   1744 MIDL_INTERFACE("08c03411-f96b-11d0-a475-00aa006bcc59")
   1745 IActiveIMMIME : public IUnknown
   1746 {
   1747     virtual HRESULT STDMETHODCALLTYPE AssociateContext(
   1748         HWND hWnd,
   1749         HIMC hIME,
   1750         HIMC *phPrev) = 0;
   1751 
   1752     virtual HRESULT STDMETHODCALLTYPE ConfigureIMEA(
   1753         HKL hKL,
   1754         HWND hWnd,
   1755         DWORD dwMode,
   1756         REGISTERWORDA *pData) = 0;
   1757 
   1758     virtual HRESULT STDMETHODCALLTYPE ConfigureIMEW(
   1759         HKL hKL,
   1760         HWND hWnd,
   1761         DWORD dwMode,
   1762         REGISTERWORDW *pData) = 0;
   1763 
   1764     virtual HRESULT STDMETHODCALLTYPE CreateContext(
   1765         HIMC *phIMC) = 0;
   1766 
   1767     virtual HRESULT STDMETHODCALLTYPE DestroyContext(
   1768         HIMC hIME) = 0;
   1769 
   1770     virtual HRESULT STDMETHODCALLTYPE EnumRegisterWordA(
   1771         HKL hKL,
   1772         LPSTR szReading,
   1773         DWORD dwStyle,
   1774         LPSTR szRegister,
   1775         LPVOID pData,
   1776         IEnumRegisterWordA **pEnum) = 0;
   1777 
   1778     virtual HRESULT STDMETHODCALLTYPE EnumRegisterWordW(
   1779         HKL hKL,
   1780         LPWSTR szReading,
   1781         DWORD dwStyle,
   1782         LPWSTR szRegister,
   1783         LPVOID pData,
   1784         IEnumRegisterWordW **pEnum) = 0;
   1785 
   1786     virtual HRESULT STDMETHODCALLTYPE EscapeA(
   1787         HKL hKL,
   1788         HIMC hIMC,
   1789         UINT uEscape,
   1790         LPVOID pData,
   1791         LRESULT *plResult) = 0;
   1792 
   1793     virtual HRESULT STDMETHODCALLTYPE EscapeW(
   1794         HKL hKL,
   1795         HIMC hIMC,
   1796         UINT uEscape,
   1797         LPVOID pData,
   1798         LRESULT *plResult) = 0;
   1799 
   1800     virtual HRESULT STDMETHODCALLTYPE GetCandidateListA(
   1801         HIMC hIMC,
   1802         DWORD dwIndex,
   1803         UINT uBufLen,
   1804         CANDIDATELIST *pCandList,
   1805         UINT *puCopied) = 0;
   1806 
   1807     virtual HRESULT STDMETHODCALLTYPE GetCandidateListW(
   1808         HIMC hIMC,
   1809         DWORD dwIndex,
   1810         UINT uBufLen,
   1811         CANDIDATELIST *pCandList,
   1812         UINT *puCopied) = 0;
   1813 
   1814     virtual HRESULT STDMETHODCALLTYPE GetCandidateListCountA(
   1815         HIMC hIMC,
   1816         DWORD *pdwListSize,
   1817         DWORD *pdwBufLen) = 0;
   1818 
   1819     virtual HRESULT STDMETHODCALLTYPE GetCandidateListCountW(
   1820         HIMC hIMC,
   1821         DWORD *pdwListSize,
   1822         DWORD *pdwBufLen) = 0;
   1823 
   1824     virtual HRESULT STDMETHODCALLTYPE GetCandidateWindow(
   1825         HIMC hIMC,
   1826         DWORD dwIndex,
   1827         CANDIDATEFORM *pCandidate) = 0;
   1828 
   1829     virtual HRESULT STDMETHODCALLTYPE GetCompositionFontA(
   1830         HIMC hIMC,
   1831         LOGFONTA *plf) = 0;
   1832 
   1833     virtual HRESULT STDMETHODCALLTYPE GetCompositionFontW(
   1834         HIMC hIMC,
   1835         LOGFONTW *plf) = 0;
   1836 
   1837     virtual HRESULT STDMETHODCALLTYPE GetCompositionStringA(
   1838         HIMC hIMC,
   1839         DWORD dwIndex,
   1840         DWORD dwBufLen,
   1841         LONG *plCopied,
   1842         LPVOID pBuf) = 0;
   1843 
   1844     virtual HRESULT STDMETHODCALLTYPE GetCompositionStringW(
   1845         HIMC hIMC,
   1846         DWORD dwIndex,
   1847         DWORD dwBufLen,
   1848         LONG *plCopied,
   1849         LPVOID pBuf) = 0;
   1850 
   1851     virtual HRESULT STDMETHODCALLTYPE GetCompositionWindow(
   1852         HIMC hIMC,
   1853         COMPOSITIONFORM *pCompForm) = 0;
   1854 
   1855     virtual HRESULT STDMETHODCALLTYPE GetContext(
   1856         HWND hWnd,
   1857         HIMC *phIMC) = 0;
   1858 
   1859     virtual HRESULT STDMETHODCALLTYPE GetConversionListA(
   1860         HKL hKL,
   1861         HIMC hIMC,
   1862         LPSTR pSrc,
   1863         UINT uBufLen,
   1864         UINT uFlag,
   1865         CANDIDATELIST *pDst,
   1866         UINT *puCopied) = 0;
   1867 
   1868     virtual HRESULT STDMETHODCALLTYPE GetConversionListW(
   1869         HKL hKL,
   1870         HIMC hIMC,
   1871         LPWSTR pSrc,
   1872         UINT uBufLen,
   1873         UINT uFlag,
   1874         CANDIDATELIST *pDst,
   1875         UINT *puCopied) = 0;
   1876 
   1877     virtual HRESULT STDMETHODCALLTYPE GetConversionStatus(
   1878         HIMC hIMC,
   1879         DWORD *pfdwConversion,
   1880         DWORD *pfdwSentence) = 0;
   1881 
   1882     virtual HRESULT STDMETHODCALLTYPE GetDefaultIMEWnd(
   1883         HWND hWnd,
   1884         HWND *phDefWnd) = 0;
   1885 
   1886     virtual HRESULT STDMETHODCALLTYPE GetDescriptionA(
   1887         HKL hKL,
   1888         UINT uBufLen,
   1889         LPSTR szDescription,
   1890         UINT *puCopied) = 0;
   1891 
   1892     virtual HRESULT STDMETHODCALLTYPE GetDescriptionW(
   1893         HKL hKL,
   1894         UINT uBufLen,
   1895         LPWSTR szDescription,
   1896         UINT *puCopied) = 0;
   1897 
   1898     virtual HRESULT STDMETHODCALLTYPE GetGuideLineA(
   1899         HIMC hIMC,
   1900         DWORD dwIndex,
   1901         DWORD dwBufLen,
   1902         LPSTR pBuf,
   1903         DWORD *pdwResult) = 0;
   1904 
   1905     virtual HRESULT STDMETHODCALLTYPE GetGuideLineW(
   1906         HIMC hIMC,
   1907         DWORD dwIndex,
   1908         DWORD dwBufLen,
   1909         LPWSTR pBuf,
   1910         DWORD *pdwResult) = 0;
   1911 
   1912     virtual HRESULT STDMETHODCALLTYPE GetIMEFileNameA(
   1913         HKL hKL,
   1914         UINT uBufLen,
   1915         LPSTR szFileName,
   1916         UINT *puCopied) = 0;
   1917 
   1918     virtual HRESULT STDMETHODCALLTYPE GetIMEFileNameW(
   1919         HKL hKL,
   1920         UINT uBufLen,
   1921         LPWSTR szFileName,
   1922         UINT *puCopied) = 0;
   1923 
   1924     virtual HRESULT STDMETHODCALLTYPE GetOpenStatus(
   1925         HIMC hIMC) = 0;
   1926 
   1927     virtual HRESULT STDMETHODCALLTYPE GetProperty(
   1928         HKL hKL,
   1929         DWORD fdwIndex,
   1930         DWORD *pdwProperty) = 0;
   1931 
   1932     virtual HRESULT STDMETHODCALLTYPE GetRegisterWordStyleA(
   1933         HKL hKL,
   1934         UINT nItem,
   1935         STYLEBUFA *pStyleBuf,
   1936         UINT *puCopied) = 0;
   1937 
   1938     virtual HRESULT STDMETHODCALLTYPE GetRegisterWordStyleW(
   1939         HKL hKL,
   1940         UINT nItem,
   1941         STYLEBUFW *pStyleBuf,
   1942         UINT *puCopied) = 0;
   1943 
   1944     virtual HRESULT STDMETHODCALLTYPE GetStatusWindowPos(
   1945         HIMC hIMC,
   1946         POINT *pptPos) = 0;
   1947 
   1948     virtual HRESULT STDMETHODCALLTYPE GetVirtualKey(
   1949         HWND hWnd,
   1950         UINT *puVirtualKey) = 0;
   1951 
   1952     virtual HRESULT STDMETHODCALLTYPE InstallIMEA(
   1953         LPSTR szIMEFileName,
   1954         LPSTR szLayoutText,
   1955         HKL *phKL) = 0;
   1956 
   1957     virtual HRESULT STDMETHODCALLTYPE InstallIMEW(
   1958         LPWSTR szIMEFileName,
   1959         LPWSTR szLayoutText,
   1960         HKL *phKL) = 0;
   1961 
   1962     virtual HRESULT STDMETHODCALLTYPE IsIME(
   1963         HKL hKL) = 0;
   1964 
   1965     virtual HRESULT STDMETHODCALLTYPE IsUIMessageA(
   1966         HWND hWndIME,
   1967         UINT msg,
   1968         WPARAM wParam,
   1969         LPARAM lParam) = 0;
   1970 
   1971     virtual HRESULT STDMETHODCALLTYPE IsUIMessageW(
   1972         HWND hWndIME,
   1973         UINT msg,
   1974         WPARAM wParam,
   1975         LPARAM lParam) = 0;
   1976 
   1977     virtual HRESULT STDMETHODCALLTYPE NotifyIME(
   1978         HIMC hIMC,
   1979         DWORD dwAction,
   1980         DWORD dwIndex,
   1981         DWORD dwValue) = 0;
   1982 
   1983     virtual HRESULT STDMETHODCALLTYPE RegisterWordA(
   1984         HKL hKL,
   1985         LPSTR szReading,
   1986         DWORD dwStyle,
   1987         LPSTR szRegister) = 0;
   1988 
   1989     virtual HRESULT STDMETHODCALLTYPE RegisterWordW(
   1990         HKL hKL,
   1991         LPWSTR szReading,
   1992         DWORD dwStyle,
   1993         LPWSTR szRegister) = 0;
   1994 
   1995     virtual HRESULT STDMETHODCALLTYPE ReleaseContext(
   1996         HWND hWnd,
   1997         HIMC hIMC) = 0;
   1998 
   1999     virtual HRESULT STDMETHODCALLTYPE SetCandidateWindow(
   2000         HIMC hIMC,
   2001         CANDIDATEFORM *pCandidate) = 0;
   2002 
   2003     virtual HRESULT STDMETHODCALLTYPE SetCompositionFontA(
   2004         HIMC hIMC,
   2005         LOGFONTA *plf) = 0;
   2006 
   2007     virtual HRESULT STDMETHODCALLTYPE SetCompositionFontW(
   2008         HIMC hIMC,
   2009         LOGFONTW *plf) = 0;
   2010 
   2011     virtual HRESULT STDMETHODCALLTYPE SetCompositionStringA(
   2012         HIMC hIMC,
   2013         DWORD dwIndex,
   2014         LPVOID pComp,
   2015         DWORD dwCompLen,
   2016         LPVOID pRead,
   2017         DWORD dwReadLen) = 0;
   2018 
   2019     virtual HRESULT STDMETHODCALLTYPE SetCompositionStringW(
   2020         HIMC hIMC,
   2021         DWORD dwIndex,
   2022         LPVOID pComp,
   2023         DWORD dwCompLen,
   2024         LPVOID pRead,
   2025         DWORD dwReadLen) = 0;
   2026 
   2027     virtual HRESULT STDMETHODCALLTYPE SetCompositionWindow(
   2028         HIMC hIMC,
   2029         COMPOSITIONFORM *pCompForm) = 0;
   2030 
   2031     virtual HRESULT STDMETHODCALLTYPE SetConversionStatus(
   2032         HIMC hIMC,
   2033         DWORD fdwConversion,
   2034         DWORD fdwSentence) = 0;
   2035 
   2036     virtual HRESULT STDMETHODCALLTYPE SetOpenStatus(
   2037         HIMC hIMC,
   2038         WINBOOL fOpen) = 0;
   2039 
   2040     virtual HRESULT STDMETHODCALLTYPE SetStatusWindowPos(
   2041         HIMC hIMC,
   2042         POINT *pptPos) = 0;
   2043 
   2044     virtual HRESULT STDMETHODCALLTYPE SimulateHotKey(
   2045         HWND hWnd,
   2046         DWORD dwHotKeyID) = 0;
   2047 
   2048     virtual HRESULT STDMETHODCALLTYPE UnregisterWordA(
   2049         HKL hKL,
   2050         LPSTR szReading,
   2051         DWORD dwStyle,
   2052         LPSTR szUnregister) = 0;
   2053 
   2054     virtual HRESULT STDMETHODCALLTYPE UnregisterWordW(
   2055         HKL hKL,
   2056         LPWSTR szReading,
   2057         DWORD dwStyle,
   2058         LPWSTR szUnregister) = 0;
   2059 
   2060     virtual HRESULT STDMETHODCALLTYPE GenerateMessage(
   2061         HIMC hIMC) = 0;
   2062 
   2063     virtual HRESULT STDMETHODCALLTYPE LockIMC(
   2064         HIMC hIMC,
   2065         INPUTCONTEXT **ppIMC) = 0;
   2066 
   2067     virtual HRESULT STDMETHODCALLTYPE UnlockIMC(
   2068         HIMC hIMC) = 0;
   2069 
   2070     virtual HRESULT STDMETHODCALLTYPE GetIMCLockCount(
   2071         HIMC hIMC,
   2072         DWORD *pdwLockCount) = 0;
   2073 
   2074     virtual HRESULT STDMETHODCALLTYPE CreateIMCC(
   2075         DWORD dwSize,
   2076         HIMCC *phIMCC) = 0;
   2077 
   2078     virtual HRESULT STDMETHODCALLTYPE DestroyIMCC(
   2079         HIMCC hIMCC) = 0;
   2080 
   2081     virtual HRESULT STDMETHODCALLTYPE LockIMCC(
   2082         HIMCC hIMCC,
   2083         void **ppv) = 0;
   2084 
   2085     virtual HRESULT STDMETHODCALLTYPE UnlockIMCC(
   2086         HIMCC hIMCC) = 0;
   2087 
   2088     virtual HRESULT STDMETHODCALLTYPE ReSizeIMCC(
   2089         HIMCC hIMCC,
   2090         DWORD dwSize,
   2091         HIMCC *phIMCC) = 0;
   2092 
   2093     virtual HRESULT STDMETHODCALLTYPE GetIMCCSize(
   2094         HIMCC hIMCC,
   2095         DWORD *pdwSize) = 0;
   2096 
   2097     virtual HRESULT STDMETHODCALLTYPE GetIMCCLockCount(
   2098         HIMCC hIMCC,
   2099         DWORD *pdwLockCount) = 0;
   2100 
   2101     virtual HRESULT STDMETHODCALLTYPE GetHotKey(
   2102         DWORD dwHotKeyID,
   2103         UINT *puModifiers,
   2104         UINT *puVKey,
   2105         HKL *phKL) = 0;
   2106 
   2107     virtual HRESULT STDMETHODCALLTYPE SetHotKey(
   2108         DWORD dwHotKeyID,
   2109         UINT uModifiers,
   2110         UINT uVKey,
   2111         HKL hKL) = 0;
   2112 
   2113     virtual HRESULT STDMETHODCALLTYPE CreateSoftKeyboard(
   2114         UINT uType,
   2115         HWND hOwner,
   2116         int x,
   2117         int y,
   2118         HWND *phSoftKbdWnd) = 0;
   2119 
   2120     virtual HRESULT STDMETHODCALLTYPE DestroySoftKeyboard(
   2121         HWND hSoftKbdWnd) = 0;
   2122 
   2123     virtual HRESULT STDMETHODCALLTYPE ShowSoftKeyboard(
   2124         HWND hSoftKbdWnd,
   2125         int nCmdShow) = 0;
   2126 
   2127     virtual HRESULT STDMETHODCALLTYPE GetCodePageA(
   2128         HKL hKL,
   2129         UINT *uCodePage) = 0;
   2130 
   2131     virtual HRESULT STDMETHODCALLTYPE GetLangId(
   2132         HKL hKL,
   2133         LANGID *plid) = 0;
   2134 
   2135     virtual HRESULT STDMETHODCALLTYPE KeybdEvent(
   2136         LANGID lgidIME,
   2137         BYTE bVk,
   2138         BYTE bScan,
   2139         DWORD dwFlags,
   2140         DWORD dwExtraInfo) = 0;
   2141 
   2142     virtual HRESULT STDMETHODCALLTYPE LockModal(
   2143         ) = 0;
   2144 
   2145     virtual HRESULT STDMETHODCALLTYPE UnlockModal(
   2146         ) = 0;
   2147 
   2148     virtual HRESULT STDMETHODCALLTYPE AssociateContextEx(
   2149         HWND hWnd,
   2150         HIMC hIMC,
   2151         DWORD dwFlags) = 0;
   2152 
   2153     virtual HRESULT STDMETHODCALLTYPE DisableIME(
   2154         DWORD idThread) = 0;
   2155 
   2156     virtual HRESULT STDMETHODCALLTYPE GetImeMenuItemsA(
   2157         HIMC hIMC,
   2158         DWORD dwFlags,
   2159         DWORD dwType,
   2160         IMEMENUITEMINFOA *pImeParentMenu,
   2161         IMEMENUITEMINFOA *pImeMenu,
   2162         DWORD dwSize,
   2163         DWORD *pdwResult) = 0;
   2164 
   2165     virtual HRESULT STDMETHODCALLTYPE GetImeMenuItemsW(
   2166         HIMC hIMC,
   2167         DWORD dwFlags,
   2168         DWORD dwType,
   2169         IMEMENUITEMINFOW *pImeParentMenu,
   2170         IMEMENUITEMINFOW *pImeMenu,
   2171         DWORD dwSize,
   2172         DWORD *pdwResult) = 0;
   2173 
   2174     virtual HRESULT STDMETHODCALLTYPE EnumInputContext(
   2175         DWORD idThread,
   2176         IEnumInputContext **ppEnum) = 0;
   2177 
   2178     virtual HRESULT STDMETHODCALLTYPE RequestMessageA(
   2179         HIMC hIMC,
   2180         WPARAM wParam,
   2181         LPARAM lParam,
   2182         LRESULT *plResult) = 0;
   2183 
   2184     virtual HRESULT STDMETHODCALLTYPE RequestMessageW(
   2185         HIMC hIMC,
   2186         WPARAM wParam,
   2187         LPARAM lParam,
   2188         LRESULT *plResult) = 0;
   2189 
   2190     virtual HRESULT STDMETHODCALLTYPE SendIMCA(
   2191         HWND hWnd,
   2192         UINT uMsg,
   2193         WPARAM wParam,
   2194         LPARAM lParam,
   2195         LRESULT *plResult) = 0;
   2196 
   2197     virtual HRESULT STDMETHODCALLTYPE SendIMCW(
   2198         HWND hWnd,
   2199         UINT uMsg,
   2200         WPARAM wParam,
   2201         LPARAM lParam,
   2202         LRESULT *plResult) = 0;
   2203 
   2204     virtual HRESULT STDMETHODCALLTYPE IsSleeping(
   2205         ) = 0;
   2206 
   2207 };
   2208 #ifdef __CRT_UUID_DECL
   2209 __CRT_UUID_DECL(IActiveIMMIME, 0x08c03411, 0xf96b, 0x11d0, 0xa4,0x75, 0x00,0xaa,0x00,0x6b,0xcc,0x59)
   2210 #endif
   2211 #else
   2212 typedef struct IActiveIMMIMEVtbl {
   2213     BEGIN_INTERFACE
   2214 
   2215     /*** IUnknown methods ***/
   2216     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2217         IActiveIMMIME *This,
   2218         REFIID riid,
   2219         void **ppvObject);
   2220 
   2221     ULONG (STDMETHODCALLTYPE *AddRef)(
   2222         IActiveIMMIME *This);
   2223 
   2224     ULONG (STDMETHODCALLTYPE *Release)(
   2225         IActiveIMMIME *This);
   2226 
   2227     /*** IActiveIMMIME methods ***/
   2228     HRESULT (STDMETHODCALLTYPE *AssociateContext)(
   2229         IActiveIMMIME *This,
   2230         HWND hWnd,
   2231         HIMC hIME,
   2232         HIMC *phPrev);
   2233 
   2234     HRESULT (STDMETHODCALLTYPE *ConfigureIMEA)(
   2235         IActiveIMMIME *This,
   2236         HKL hKL,
   2237         HWND hWnd,
   2238         DWORD dwMode,
   2239         REGISTERWORDA *pData);
   2240 
   2241     HRESULT (STDMETHODCALLTYPE *ConfigureIMEW)(
   2242         IActiveIMMIME *This,
   2243         HKL hKL,
   2244         HWND hWnd,
   2245         DWORD dwMode,
   2246         REGISTERWORDW *pData);
   2247 
   2248     HRESULT (STDMETHODCALLTYPE *CreateContext)(
   2249         IActiveIMMIME *This,
   2250         HIMC *phIMC);
   2251 
   2252     HRESULT (STDMETHODCALLTYPE *DestroyContext)(
   2253         IActiveIMMIME *This,
   2254         HIMC hIME);
   2255 
   2256     HRESULT (STDMETHODCALLTYPE *EnumRegisterWordA)(
   2257         IActiveIMMIME *This,
   2258         HKL hKL,
   2259         LPSTR szReading,
   2260         DWORD dwStyle,
   2261         LPSTR szRegister,
   2262         LPVOID pData,
   2263         IEnumRegisterWordA **pEnum);
   2264 
   2265     HRESULT (STDMETHODCALLTYPE *EnumRegisterWordW)(
   2266         IActiveIMMIME *This,
   2267         HKL hKL,
   2268         LPWSTR szReading,
   2269         DWORD dwStyle,
   2270         LPWSTR szRegister,
   2271         LPVOID pData,
   2272         IEnumRegisterWordW **pEnum);
   2273 
   2274     HRESULT (STDMETHODCALLTYPE *EscapeA)(
   2275         IActiveIMMIME *This,
   2276         HKL hKL,
   2277         HIMC hIMC,
   2278         UINT uEscape,
   2279         LPVOID pData,
   2280         LRESULT *plResult);
   2281 
   2282     HRESULT (STDMETHODCALLTYPE *EscapeW)(
   2283         IActiveIMMIME *This,
   2284         HKL hKL,
   2285         HIMC hIMC,
   2286         UINT uEscape,
   2287         LPVOID pData,
   2288         LRESULT *plResult);
   2289 
   2290     HRESULT (STDMETHODCALLTYPE *GetCandidateListA)(
   2291         IActiveIMMIME *This,
   2292         HIMC hIMC,
   2293         DWORD dwIndex,
   2294         UINT uBufLen,
   2295         CANDIDATELIST *pCandList,
   2296         UINT *puCopied);
   2297 
   2298     HRESULT (STDMETHODCALLTYPE *GetCandidateListW)(
   2299         IActiveIMMIME *This,
   2300         HIMC hIMC,
   2301         DWORD dwIndex,
   2302         UINT uBufLen,
   2303         CANDIDATELIST *pCandList,
   2304         UINT *puCopied);
   2305 
   2306     HRESULT (STDMETHODCALLTYPE *GetCandidateListCountA)(
   2307         IActiveIMMIME *This,
   2308         HIMC hIMC,
   2309         DWORD *pdwListSize,
   2310         DWORD *pdwBufLen);
   2311 
   2312     HRESULT (STDMETHODCALLTYPE *GetCandidateListCountW)(
   2313         IActiveIMMIME *This,
   2314         HIMC hIMC,
   2315         DWORD *pdwListSize,
   2316         DWORD *pdwBufLen);
   2317 
   2318     HRESULT (STDMETHODCALLTYPE *GetCandidateWindow)(
   2319         IActiveIMMIME *This,
   2320         HIMC hIMC,
   2321         DWORD dwIndex,
   2322         CANDIDATEFORM *pCandidate);
   2323 
   2324     HRESULT (STDMETHODCALLTYPE *GetCompositionFontA)(
   2325         IActiveIMMIME *This,
   2326         HIMC hIMC,
   2327         LOGFONTA *plf);
   2328 
   2329     HRESULT (STDMETHODCALLTYPE *GetCompositionFontW)(
   2330         IActiveIMMIME *This,
   2331         HIMC hIMC,
   2332         LOGFONTW *plf);
   2333 
   2334     HRESULT (STDMETHODCALLTYPE *GetCompositionStringA)(
   2335         IActiveIMMIME *This,
   2336         HIMC hIMC,
   2337         DWORD dwIndex,
   2338         DWORD dwBufLen,
   2339         LONG *plCopied,
   2340         LPVOID pBuf);
   2341 
   2342     HRESULT (STDMETHODCALLTYPE *GetCompositionStringW)(
   2343         IActiveIMMIME *This,
   2344         HIMC hIMC,
   2345         DWORD dwIndex,
   2346         DWORD dwBufLen,
   2347         LONG *plCopied,
   2348         LPVOID pBuf);
   2349 
   2350     HRESULT (STDMETHODCALLTYPE *GetCompositionWindow)(
   2351         IActiveIMMIME *This,
   2352         HIMC hIMC,
   2353         COMPOSITIONFORM *pCompForm);
   2354 
   2355     HRESULT (STDMETHODCALLTYPE *GetContext)(
   2356         IActiveIMMIME *This,
   2357         HWND hWnd,
   2358         HIMC *phIMC);
   2359 
   2360     HRESULT (STDMETHODCALLTYPE *GetConversionListA)(
   2361         IActiveIMMIME *This,
   2362         HKL hKL,
   2363         HIMC hIMC,
   2364         LPSTR pSrc,
   2365         UINT uBufLen,
   2366         UINT uFlag,
   2367         CANDIDATELIST *pDst,
   2368         UINT *puCopied);
   2369 
   2370     HRESULT (STDMETHODCALLTYPE *GetConversionListW)(
   2371         IActiveIMMIME *This,
   2372         HKL hKL,
   2373         HIMC hIMC,
   2374         LPWSTR pSrc,
   2375         UINT uBufLen,
   2376         UINT uFlag,
   2377         CANDIDATELIST *pDst,
   2378         UINT *puCopied);
   2379 
   2380     HRESULT (STDMETHODCALLTYPE *GetConversionStatus)(
   2381         IActiveIMMIME *This,
   2382         HIMC hIMC,
   2383         DWORD *pfdwConversion,
   2384         DWORD *pfdwSentence);
   2385 
   2386     HRESULT (STDMETHODCALLTYPE *GetDefaultIMEWnd)(
   2387         IActiveIMMIME *This,
   2388         HWND hWnd,
   2389         HWND *phDefWnd);
   2390 
   2391     HRESULT (STDMETHODCALLTYPE *GetDescriptionA)(
   2392         IActiveIMMIME *This,
   2393         HKL hKL,
   2394         UINT uBufLen,
   2395         LPSTR szDescription,
   2396         UINT *puCopied);
   2397 
   2398     HRESULT (STDMETHODCALLTYPE *GetDescriptionW)(
   2399         IActiveIMMIME *This,
   2400         HKL hKL,
   2401         UINT uBufLen,
   2402         LPWSTR szDescription,
   2403         UINT *puCopied);
   2404 
   2405     HRESULT (STDMETHODCALLTYPE *GetGuideLineA)(
   2406         IActiveIMMIME *This,
   2407         HIMC hIMC,
   2408         DWORD dwIndex,
   2409         DWORD dwBufLen,
   2410         LPSTR pBuf,
   2411         DWORD *pdwResult);
   2412 
   2413     HRESULT (STDMETHODCALLTYPE *GetGuideLineW)(
   2414         IActiveIMMIME *This,
   2415         HIMC hIMC,
   2416         DWORD dwIndex,
   2417         DWORD dwBufLen,
   2418         LPWSTR pBuf,
   2419         DWORD *pdwResult);
   2420 
   2421     HRESULT (STDMETHODCALLTYPE *GetIMEFileNameA)(
   2422         IActiveIMMIME *This,
   2423         HKL hKL,
   2424         UINT uBufLen,
   2425         LPSTR szFileName,
   2426         UINT *puCopied);
   2427 
   2428     HRESULT (STDMETHODCALLTYPE *GetIMEFileNameW)(
   2429         IActiveIMMIME *This,
   2430         HKL hKL,
   2431         UINT uBufLen,
   2432         LPWSTR szFileName,
   2433         UINT *puCopied);
   2434 
   2435     HRESULT (STDMETHODCALLTYPE *GetOpenStatus)(
   2436         IActiveIMMIME *This,
   2437         HIMC hIMC);
   2438 
   2439     HRESULT (STDMETHODCALLTYPE *GetProperty)(
   2440         IActiveIMMIME *This,
   2441         HKL hKL,
   2442         DWORD fdwIndex,
   2443         DWORD *pdwProperty);
   2444 
   2445     HRESULT (STDMETHODCALLTYPE *GetRegisterWordStyleA)(
   2446         IActiveIMMIME *This,
   2447         HKL hKL,
   2448         UINT nItem,
   2449         STYLEBUFA *pStyleBuf,
   2450         UINT *puCopied);
   2451 
   2452     HRESULT (STDMETHODCALLTYPE *GetRegisterWordStyleW)(
   2453         IActiveIMMIME *This,
   2454         HKL hKL,
   2455         UINT nItem,
   2456         STYLEBUFW *pStyleBuf,
   2457         UINT *puCopied);
   2458 
   2459     HRESULT (STDMETHODCALLTYPE *GetStatusWindowPos)(
   2460         IActiveIMMIME *This,
   2461         HIMC hIMC,
   2462         POINT *pptPos);
   2463 
   2464     HRESULT (STDMETHODCALLTYPE *GetVirtualKey)(
   2465         IActiveIMMIME *This,
   2466         HWND hWnd,
   2467         UINT *puVirtualKey);
   2468 
   2469     HRESULT (STDMETHODCALLTYPE *InstallIMEA)(
   2470         IActiveIMMIME *This,
   2471         LPSTR szIMEFileName,
   2472         LPSTR szLayoutText,
   2473         HKL *phKL);
   2474 
   2475     HRESULT (STDMETHODCALLTYPE *InstallIMEW)(
   2476         IActiveIMMIME *This,
   2477         LPWSTR szIMEFileName,
   2478         LPWSTR szLayoutText,
   2479         HKL *phKL);
   2480 
   2481     HRESULT (STDMETHODCALLTYPE *IsIME)(
   2482         IActiveIMMIME *This,
   2483         HKL hKL);
   2484 
   2485     HRESULT (STDMETHODCALLTYPE *IsUIMessageA)(
   2486         IActiveIMMIME *This,
   2487         HWND hWndIME,
   2488         UINT msg,
   2489         WPARAM wParam,
   2490         LPARAM lParam);
   2491 
   2492     HRESULT (STDMETHODCALLTYPE *IsUIMessageW)(
   2493         IActiveIMMIME *This,
   2494         HWND hWndIME,
   2495         UINT msg,
   2496         WPARAM wParam,
   2497         LPARAM lParam);
   2498 
   2499     HRESULT (STDMETHODCALLTYPE *NotifyIME)(
   2500         IActiveIMMIME *This,
   2501         HIMC hIMC,
   2502         DWORD dwAction,
   2503         DWORD dwIndex,
   2504         DWORD dwValue);
   2505 
   2506     HRESULT (STDMETHODCALLTYPE *RegisterWordA)(
   2507         IActiveIMMIME *This,
   2508         HKL hKL,
   2509         LPSTR szReading,
   2510         DWORD dwStyle,
   2511         LPSTR szRegister);
   2512 
   2513     HRESULT (STDMETHODCALLTYPE *RegisterWordW)(
   2514         IActiveIMMIME *This,
   2515         HKL hKL,
   2516         LPWSTR szReading,
   2517         DWORD dwStyle,
   2518         LPWSTR szRegister);
   2519 
   2520     HRESULT (STDMETHODCALLTYPE *ReleaseContext)(
   2521         IActiveIMMIME *This,
   2522         HWND hWnd,
   2523         HIMC hIMC);
   2524 
   2525     HRESULT (STDMETHODCALLTYPE *SetCandidateWindow)(
   2526         IActiveIMMIME *This,
   2527         HIMC hIMC,
   2528         CANDIDATEFORM *pCandidate);
   2529 
   2530     HRESULT (STDMETHODCALLTYPE *SetCompositionFontA)(
   2531         IActiveIMMIME *This,
   2532         HIMC hIMC,
   2533         LOGFONTA *plf);
   2534 
   2535     HRESULT (STDMETHODCALLTYPE *SetCompositionFontW)(
   2536         IActiveIMMIME *This,
   2537         HIMC hIMC,
   2538         LOGFONTW *plf);
   2539 
   2540     HRESULT (STDMETHODCALLTYPE *SetCompositionStringA)(
   2541         IActiveIMMIME *This,
   2542         HIMC hIMC,
   2543         DWORD dwIndex,
   2544         LPVOID pComp,
   2545         DWORD dwCompLen,
   2546         LPVOID pRead,
   2547         DWORD dwReadLen);
   2548 
   2549     HRESULT (STDMETHODCALLTYPE *SetCompositionStringW)(
   2550         IActiveIMMIME *This,
   2551         HIMC hIMC,
   2552         DWORD dwIndex,
   2553         LPVOID pComp,
   2554         DWORD dwCompLen,
   2555         LPVOID pRead,
   2556         DWORD dwReadLen);
   2557 
   2558     HRESULT (STDMETHODCALLTYPE *SetCompositionWindow)(
   2559         IActiveIMMIME *This,
   2560         HIMC hIMC,
   2561         COMPOSITIONFORM *pCompForm);
   2562 
   2563     HRESULT (STDMETHODCALLTYPE *SetConversionStatus)(
   2564         IActiveIMMIME *This,
   2565         HIMC hIMC,
   2566         DWORD fdwConversion,
   2567         DWORD fdwSentence);
   2568 
   2569     HRESULT (STDMETHODCALLTYPE *SetOpenStatus)(
   2570         IActiveIMMIME *This,
   2571         HIMC hIMC,
   2572         WINBOOL fOpen);
   2573 
   2574     HRESULT (STDMETHODCALLTYPE *SetStatusWindowPos)(
   2575         IActiveIMMIME *This,
   2576         HIMC hIMC,
   2577         POINT *pptPos);
   2578 
   2579     HRESULT (STDMETHODCALLTYPE *SimulateHotKey)(
   2580         IActiveIMMIME *This,
   2581         HWND hWnd,
   2582         DWORD dwHotKeyID);
   2583 
   2584     HRESULT (STDMETHODCALLTYPE *UnregisterWordA)(
   2585         IActiveIMMIME *This,
   2586         HKL hKL,
   2587         LPSTR szReading,
   2588         DWORD dwStyle,
   2589         LPSTR szUnregister);
   2590 
   2591     HRESULT (STDMETHODCALLTYPE *UnregisterWordW)(
   2592         IActiveIMMIME *This,
   2593         HKL hKL,
   2594         LPWSTR szReading,
   2595         DWORD dwStyle,
   2596         LPWSTR szUnregister);
   2597 
   2598     HRESULT (STDMETHODCALLTYPE *GenerateMessage)(
   2599         IActiveIMMIME *This,
   2600         HIMC hIMC);
   2601 
   2602     HRESULT (STDMETHODCALLTYPE *LockIMC)(
   2603         IActiveIMMIME *This,
   2604         HIMC hIMC,
   2605         INPUTCONTEXT **ppIMC);
   2606 
   2607     HRESULT (STDMETHODCALLTYPE *UnlockIMC)(
   2608         IActiveIMMIME *This,
   2609         HIMC hIMC);
   2610 
   2611     HRESULT (STDMETHODCALLTYPE *GetIMCLockCount)(
   2612         IActiveIMMIME *This,
   2613         HIMC hIMC,
   2614         DWORD *pdwLockCount);
   2615 
   2616     HRESULT (STDMETHODCALLTYPE *CreateIMCC)(
   2617         IActiveIMMIME *This,
   2618         DWORD dwSize,
   2619         HIMCC *phIMCC);
   2620 
   2621     HRESULT (STDMETHODCALLTYPE *DestroyIMCC)(
   2622         IActiveIMMIME *This,
   2623         HIMCC hIMCC);
   2624 
   2625     HRESULT (STDMETHODCALLTYPE *LockIMCC)(
   2626         IActiveIMMIME *This,
   2627         HIMCC hIMCC,
   2628         void **ppv);
   2629 
   2630     HRESULT (STDMETHODCALLTYPE *UnlockIMCC)(
   2631         IActiveIMMIME *This,
   2632         HIMCC hIMCC);
   2633 
   2634     HRESULT (STDMETHODCALLTYPE *ReSizeIMCC)(
   2635         IActiveIMMIME *This,
   2636         HIMCC hIMCC,
   2637         DWORD dwSize,
   2638         HIMCC *phIMCC);
   2639 
   2640     HRESULT (STDMETHODCALLTYPE *GetIMCCSize)(
   2641         IActiveIMMIME *This,
   2642         HIMCC hIMCC,
   2643         DWORD *pdwSize);
   2644 
   2645     HRESULT (STDMETHODCALLTYPE *GetIMCCLockCount)(
   2646         IActiveIMMIME *This,
   2647         HIMCC hIMCC,
   2648         DWORD *pdwLockCount);
   2649 
   2650     HRESULT (STDMETHODCALLTYPE *GetHotKey)(
   2651         IActiveIMMIME *This,
   2652         DWORD dwHotKeyID,
   2653         UINT *puModifiers,
   2654         UINT *puVKey,
   2655         HKL *phKL);
   2656 
   2657     HRESULT (STDMETHODCALLTYPE *SetHotKey)(
   2658         IActiveIMMIME *This,
   2659         DWORD dwHotKeyID,
   2660         UINT uModifiers,
   2661         UINT uVKey,
   2662         HKL hKL);
   2663 
   2664     HRESULT (STDMETHODCALLTYPE *CreateSoftKeyboard)(
   2665         IActiveIMMIME *This,
   2666         UINT uType,
   2667         HWND hOwner,
   2668         int x,
   2669         int y,
   2670         HWND *phSoftKbdWnd);
   2671 
   2672     HRESULT (STDMETHODCALLTYPE *DestroySoftKeyboard)(
   2673         IActiveIMMIME *This,
   2674         HWND hSoftKbdWnd);
   2675 
   2676     HRESULT (STDMETHODCALLTYPE *ShowSoftKeyboard)(
   2677         IActiveIMMIME *This,
   2678         HWND hSoftKbdWnd,
   2679         int nCmdShow);
   2680 
   2681     HRESULT (STDMETHODCALLTYPE *GetCodePageA)(
   2682         IActiveIMMIME *This,
   2683         HKL hKL,
   2684         UINT *uCodePage);
   2685 
   2686     HRESULT (STDMETHODCALLTYPE *GetLangId)(
   2687         IActiveIMMIME *This,
   2688         HKL hKL,
   2689         LANGID *plid);
   2690 
   2691     HRESULT (STDMETHODCALLTYPE *KeybdEvent)(
   2692         IActiveIMMIME *This,
   2693         LANGID lgidIME,
   2694         BYTE bVk,
   2695         BYTE bScan,
   2696         DWORD dwFlags,
   2697         DWORD dwExtraInfo);
   2698 
   2699     HRESULT (STDMETHODCALLTYPE *LockModal)(
   2700         IActiveIMMIME *This);
   2701 
   2702     HRESULT (STDMETHODCALLTYPE *UnlockModal)(
   2703         IActiveIMMIME *This);
   2704 
   2705     HRESULT (STDMETHODCALLTYPE *AssociateContextEx)(
   2706         IActiveIMMIME *This,
   2707         HWND hWnd,
   2708         HIMC hIMC,
   2709         DWORD dwFlags);
   2710 
   2711     HRESULT (STDMETHODCALLTYPE *DisableIME)(
   2712         IActiveIMMIME *This,
   2713         DWORD idThread);
   2714 
   2715     HRESULT (STDMETHODCALLTYPE *GetImeMenuItemsA)(
   2716         IActiveIMMIME *This,
   2717         HIMC hIMC,
   2718         DWORD dwFlags,
   2719         DWORD dwType,
   2720         IMEMENUITEMINFOA *pImeParentMenu,
   2721         IMEMENUITEMINFOA *pImeMenu,
   2722         DWORD dwSize,
   2723         DWORD *pdwResult);
   2724 
   2725     HRESULT (STDMETHODCALLTYPE *GetImeMenuItemsW)(
   2726         IActiveIMMIME *This,
   2727         HIMC hIMC,
   2728         DWORD dwFlags,
   2729         DWORD dwType,
   2730         IMEMENUITEMINFOW *pImeParentMenu,
   2731         IMEMENUITEMINFOW *pImeMenu,
   2732         DWORD dwSize,
   2733         DWORD *pdwResult);
   2734 
   2735     HRESULT (STDMETHODCALLTYPE *EnumInputContext)(
   2736         IActiveIMMIME *This,
   2737         DWORD idThread,
   2738         IEnumInputContext **ppEnum);
   2739 
   2740     HRESULT (STDMETHODCALLTYPE *RequestMessageA)(
   2741         IActiveIMMIME *This,
   2742         HIMC hIMC,
   2743         WPARAM wParam,
   2744         LPARAM lParam,
   2745         LRESULT *plResult);
   2746 
   2747     HRESULT (STDMETHODCALLTYPE *RequestMessageW)(
   2748         IActiveIMMIME *This,
   2749         HIMC hIMC,
   2750         WPARAM wParam,
   2751         LPARAM lParam,
   2752         LRESULT *plResult);
   2753 
   2754     HRESULT (STDMETHODCALLTYPE *SendIMCA)(
   2755         IActiveIMMIME *This,
   2756         HWND hWnd,
   2757         UINT uMsg,
   2758         WPARAM wParam,
   2759         LPARAM lParam,
   2760         LRESULT *plResult);
   2761 
   2762     HRESULT (STDMETHODCALLTYPE *SendIMCW)(
   2763         IActiveIMMIME *This,
   2764         HWND hWnd,
   2765         UINT uMsg,
   2766         WPARAM wParam,
   2767         LPARAM lParam,
   2768         LRESULT *plResult);
   2769 
   2770     HRESULT (STDMETHODCALLTYPE *IsSleeping)(
   2771         IActiveIMMIME *This);
   2772 
   2773     END_INTERFACE
   2774 } IActiveIMMIMEVtbl;
   2775 
   2776 interface IActiveIMMIME {
   2777     CONST_VTBL IActiveIMMIMEVtbl* lpVtbl;
   2778 };
   2779 
   2780 #ifdef COBJMACROS
   2781 #ifndef WIDL_C_INLINE_WRAPPERS
   2782 /*** IUnknown methods ***/
   2783 #define IActiveIMMIME_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2784 #define IActiveIMMIME_AddRef(This) (This)->lpVtbl->AddRef(This)
   2785 #define IActiveIMMIME_Release(This) (This)->lpVtbl->Release(This)
   2786 /*** IActiveIMMIME methods ***/
   2787 #define IActiveIMMIME_AssociateContext(This,hWnd,hIME,phPrev) (This)->lpVtbl->AssociateContext(This,hWnd,hIME,phPrev)
   2788 #define IActiveIMMIME_ConfigureIMEA(This,hKL,hWnd,dwMode,pData) (This)->lpVtbl->ConfigureIMEA(This,hKL,hWnd,dwMode,pData)
   2789 #define IActiveIMMIME_ConfigureIMEW(This,hKL,hWnd,dwMode,pData) (This)->lpVtbl->ConfigureIMEW(This,hKL,hWnd,dwMode,pData)
   2790 #define IActiveIMMIME_CreateContext(This,phIMC) (This)->lpVtbl->CreateContext(This,phIMC)
   2791 #define IActiveIMMIME_DestroyContext(This,hIME) (This)->lpVtbl->DestroyContext(This,hIME)
   2792 #define IActiveIMMIME_EnumRegisterWordA(This,hKL,szReading,dwStyle,szRegister,pData,pEnum) (This)->lpVtbl->EnumRegisterWordA(This,hKL,szReading,dwStyle,szRegister,pData,pEnum)
   2793 #define IActiveIMMIME_EnumRegisterWordW(This,hKL,szReading,dwStyle,szRegister,pData,pEnum) (This)->lpVtbl->EnumRegisterWordW(This,hKL,szReading,dwStyle,szRegister,pData,pEnum)
   2794 #define IActiveIMMIME_EscapeA(This,hKL,hIMC,uEscape,pData,plResult) (This)->lpVtbl->EscapeA(This,hKL,hIMC,uEscape,pData,plResult)
   2795 #define IActiveIMMIME_EscapeW(This,hKL,hIMC,uEscape,pData,plResult) (This)->lpVtbl->EscapeW(This,hKL,hIMC,uEscape,pData,plResult)
   2796 #define IActiveIMMIME_GetCandidateListA(This,hIMC,dwIndex,uBufLen,pCandList,puCopied) (This)->lpVtbl->GetCandidateListA(This,hIMC,dwIndex,uBufLen,pCandList,puCopied)
   2797 #define IActiveIMMIME_GetCandidateListW(This,hIMC,dwIndex,uBufLen,pCandList,puCopied) (This)->lpVtbl->GetCandidateListW(This,hIMC,dwIndex,uBufLen,pCandList,puCopied)
   2798 #define IActiveIMMIME_GetCandidateListCountA(This,hIMC,pdwListSize,pdwBufLen) (This)->lpVtbl->GetCandidateListCountA(This,hIMC,pdwListSize,pdwBufLen)
   2799 #define IActiveIMMIME_GetCandidateListCountW(This,hIMC,pdwListSize,pdwBufLen) (This)->lpVtbl->GetCandidateListCountW(This,hIMC,pdwListSize,pdwBufLen)
   2800 #define IActiveIMMIME_GetCandidateWindow(This,hIMC,dwIndex,pCandidate) (This)->lpVtbl->GetCandidateWindow(This,hIMC,dwIndex,pCandidate)
   2801 #define IActiveIMMIME_GetCompositionFontA(This,hIMC,plf) (This)->lpVtbl->GetCompositionFontA(This,hIMC,plf)
   2802 #define IActiveIMMIME_GetCompositionFontW(This,hIMC,plf) (This)->lpVtbl->GetCompositionFontW(This,hIMC,plf)
   2803 #define IActiveIMMIME_GetCompositionStringA(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf) (This)->lpVtbl->GetCompositionStringA(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf)
   2804 #define IActiveIMMIME_GetCompositionStringW(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf) (This)->lpVtbl->GetCompositionStringW(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf)
   2805 #define IActiveIMMIME_GetCompositionWindow(This,hIMC,pCompForm) (This)->lpVtbl->GetCompositionWindow(This,hIMC,pCompForm)
   2806 #define IActiveIMMIME_GetContext(This,hWnd,phIMC) (This)->lpVtbl->GetContext(This,hWnd,phIMC)
   2807 #define IActiveIMMIME_GetConversionListA(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied) (This)->lpVtbl->GetConversionListA(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied)
   2808 #define IActiveIMMIME_GetConversionListW(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied) (This)->lpVtbl->GetConversionListW(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied)
   2809 #define IActiveIMMIME_GetConversionStatus(This,hIMC,pfdwConversion,pfdwSentence) (This)->lpVtbl->GetConversionStatus(This,hIMC,pfdwConversion,pfdwSentence)
   2810 #define IActiveIMMIME_GetDefaultIMEWnd(This,hWnd,phDefWnd) (This)->lpVtbl->GetDefaultIMEWnd(This,hWnd,phDefWnd)
   2811 #define IActiveIMMIME_GetDescriptionA(This,hKL,uBufLen,szDescription,puCopied) (This)->lpVtbl->GetDescriptionA(This,hKL,uBufLen,szDescription,puCopied)
   2812 #define IActiveIMMIME_GetDescriptionW(This,hKL,uBufLen,szDescription,puCopied) (This)->lpVtbl->GetDescriptionW(This,hKL,uBufLen,szDescription,puCopied)
   2813 #define IActiveIMMIME_GetGuideLineA(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult) (This)->lpVtbl->GetGuideLineA(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult)
   2814 #define IActiveIMMIME_GetGuideLineW(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult) (This)->lpVtbl->GetGuideLineW(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult)
   2815 #define IActiveIMMIME_GetIMEFileNameA(This,hKL,uBufLen,szFileName,puCopied) (This)->lpVtbl->GetIMEFileNameA(This,hKL,uBufLen,szFileName,puCopied)
   2816 #define IActiveIMMIME_GetIMEFileNameW(This,hKL,uBufLen,szFileName,puCopied) (This)->lpVtbl->GetIMEFileNameW(This,hKL,uBufLen,szFileName,puCopied)
   2817 #define IActiveIMMIME_GetOpenStatus(This,hIMC) (This)->lpVtbl->GetOpenStatus(This,hIMC)
   2818 #define IActiveIMMIME_GetProperty(This,hKL,fdwIndex,pdwProperty) (This)->lpVtbl->GetProperty(This,hKL,fdwIndex,pdwProperty)
   2819 #define IActiveIMMIME_GetRegisterWordStyleA(This,hKL,nItem,pStyleBuf,puCopied) (This)->lpVtbl->GetRegisterWordStyleA(This,hKL,nItem,pStyleBuf,puCopied)
   2820 #define IActiveIMMIME_GetRegisterWordStyleW(This,hKL,nItem,pStyleBuf,puCopied) (This)->lpVtbl->GetRegisterWordStyleW(This,hKL,nItem,pStyleBuf,puCopied)
   2821 #define IActiveIMMIME_GetStatusWindowPos(This,hIMC,pptPos) (This)->lpVtbl->GetStatusWindowPos(This,hIMC,pptPos)
   2822 #define IActiveIMMIME_GetVirtualKey(This,hWnd,puVirtualKey) (This)->lpVtbl->GetVirtualKey(This,hWnd,puVirtualKey)
   2823 #define IActiveIMMIME_InstallIMEA(This,szIMEFileName,szLayoutText,phKL) (This)->lpVtbl->InstallIMEA(This,szIMEFileName,szLayoutText,phKL)
   2824 #define IActiveIMMIME_InstallIMEW(This,szIMEFileName,szLayoutText,phKL) (This)->lpVtbl->InstallIMEW(This,szIMEFileName,szLayoutText,phKL)
   2825 #define IActiveIMMIME_IsIME(This,hKL) (This)->lpVtbl->IsIME(This,hKL)
   2826 #define IActiveIMMIME_IsUIMessageA(This,hWndIME,msg,wParam,lParam) (This)->lpVtbl->IsUIMessageA(This,hWndIME,msg,wParam,lParam)
   2827 #define IActiveIMMIME_IsUIMessageW(This,hWndIME,msg,wParam,lParam) (This)->lpVtbl->IsUIMessageW(This,hWndIME,msg,wParam,lParam)
   2828 #define IActiveIMMIME_NotifyIME(This,hIMC,dwAction,dwIndex,dwValue) (This)->lpVtbl->NotifyIME(This,hIMC,dwAction,dwIndex,dwValue)
   2829 #define IActiveIMMIME_RegisterWordA(This,hKL,szReading,dwStyle,szRegister) (This)->lpVtbl->RegisterWordA(This,hKL,szReading,dwStyle,szRegister)
   2830 #define IActiveIMMIME_RegisterWordW(This,hKL,szReading,dwStyle,szRegister) (This)->lpVtbl->RegisterWordW(This,hKL,szReading,dwStyle,szRegister)
   2831 #define IActiveIMMIME_ReleaseContext(This,hWnd,hIMC) (This)->lpVtbl->ReleaseContext(This,hWnd,hIMC)
   2832 #define IActiveIMMIME_SetCandidateWindow(This,hIMC,pCandidate) (This)->lpVtbl->SetCandidateWindow(This,hIMC,pCandidate)
   2833 #define IActiveIMMIME_SetCompositionFontA(This,hIMC,plf) (This)->lpVtbl->SetCompositionFontA(This,hIMC,plf)
   2834 #define IActiveIMMIME_SetCompositionFontW(This,hIMC,plf) (This)->lpVtbl->SetCompositionFontW(This,hIMC,plf)
   2835 #define IActiveIMMIME_SetCompositionStringA(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen) (This)->lpVtbl->SetCompositionStringA(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen)
   2836 #define IActiveIMMIME_SetCompositionStringW(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen) (This)->lpVtbl->SetCompositionStringW(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen)
   2837 #define IActiveIMMIME_SetCompositionWindow(This,hIMC,pCompForm) (This)->lpVtbl->SetCompositionWindow(This,hIMC,pCompForm)
   2838 #define IActiveIMMIME_SetConversionStatus(This,hIMC,fdwConversion,fdwSentence) (This)->lpVtbl->SetConversionStatus(This,hIMC,fdwConversion,fdwSentence)
   2839 #define IActiveIMMIME_SetOpenStatus(This,hIMC,fOpen) (This)->lpVtbl->SetOpenStatus(This,hIMC,fOpen)
   2840 #define IActiveIMMIME_SetStatusWindowPos(This,hIMC,pptPos) (This)->lpVtbl->SetStatusWindowPos(This,hIMC,pptPos)
   2841 #define IActiveIMMIME_SimulateHotKey(This,hWnd,dwHotKeyID) (This)->lpVtbl->SimulateHotKey(This,hWnd,dwHotKeyID)
   2842 #define IActiveIMMIME_UnregisterWordA(This,hKL,szReading,dwStyle,szUnregister) (This)->lpVtbl->UnregisterWordA(This,hKL,szReading,dwStyle,szUnregister)
   2843 #define IActiveIMMIME_UnregisterWordW(This,hKL,szReading,dwStyle,szUnregister) (This)->lpVtbl->UnregisterWordW(This,hKL,szReading,dwStyle,szUnregister)
   2844 #define IActiveIMMIME_GenerateMessage(This,hIMC) (This)->lpVtbl->GenerateMessage(This,hIMC)
   2845 #define IActiveIMMIME_LockIMC(This,hIMC,ppIMC) (This)->lpVtbl->LockIMC(This,hIMC,ppIMC)
   2846 #define IActiveIMMIME_UnlockIMC(This,hIMC) (This)->lpVtbl->UnlockIMC(This,hIMC)
   2847 #define IActiveIMMIME_GetIMCLockCount(This,hIMC,pdwLockCount) (This)->lpVtbl->GetIMCLockCount(This,hIMC,pdwLockCount)
   2848 #define IActiveIMMIME_CreateIMCC(This,dwSize,phIMCC) (This)->lpVtbl->CreateIMCC(This,dwSize,phIMCC)
   2849 #define IActiveIMMIME_DestroyIMCC(This,hIMCC) (This)->lpVtbl->DestroyIMCC(This,hIMCC)
   2850 #define IActiveIMMIME_LockIMCC(This,hIMCC,ppv) (This)->lpVtbl->LockIMCC(This,hIMCC,ppv)
   2851 #define IActiveIMMIME_UnlockIMCC(This,hIMCC) (This)->lpVtbl->UnlockIMCC(This,hIMCC)
   2852 #define IActiveIMMIME_ReSizeIMCC(This,hIMCC,dwSize,phIMCC) (This)->lpVtbl->ReSizeIMCC(This,hIMCC,dwSize,phIMCC)
   2853 #define IActiveIMMIME_GetIMCCSize(This,hIMCC,pdwSize) (This)->lpVtbl->GetIMCCSize(This,hIMCC,pdwSize)
   2854 #define IActiveIMMIME_GetIMCCLockCount(This,hIMCC,pdwLockCount) (This)->lpVtbl->GetIMCCLockCount(This,hIMCC,pdwLockCount)
   2855 #define IActiveIMMIME_GetHotKey(This,dwHotKeyID,puModifiers,puVKey,phKL) (This)->lpVtbl->GetHotKey(This,dwHotKeyID,puModifiers,puVKey,phKL)
   2856 #define IActiveIMMIME_SetHotKey(This,dwHotKeyID,uModifiers,uVKey,hKL) (This)->lpVtbl->SetHotKey(This,dwHotKeyID,uModifiers,uVKey,hKL)
   2857 #define IActiveIMMIME_CreateSoftKeyboard(This,uType,hOwner,x,y,phSoftKbdWnd) (This)->lpVtbl->CreateSoftKeyboard(This,uType,hOwner,x,y,phSoftKbdWnd)
   2858 #define IActiveIMMIME_DestroySoftKeyboard(This,hSoftKbdWnd) (This)->lpVtbl->DestroySoftKeyboard(This,hSoftKbdWnd)
   2859 #define IActiveIMMIME_ShowSoftKeyboard(This,hSoftKbdWnd,nCmdShow) (This)->lpVtbl->ShowSoftKeyboard(This,hSoftKbdWnd,nCmdShow)
   2860 #define IActiveIMMIME_GetCodePageA(This,hKL,uCodePage) (This)->lpVtbl->GetCodePageA(This,hKL,uCodePage)
   2861 #define IActiveIMMIME_GetLangId(This,hKL,plid) (This)->lpVtbl->GetLangId(This,hKL,plid)
   2862 #define IActiveIMMIME_KeybdEvent(This,lgidIME,bVk,bScan,dwFlags,dwExtraInfo) (This)->lpVtbl->KeybdEvent(This,lgidIME,bVk,bScan,dwFlags,dwExtraInfo)
   2863 #define IActiveIMMIME_LockModal(This) (This)->lpVtbl->LockModal(This)
   2864 #define IActiveIMMIME_UnlockModal(This) (This)->lpVtbl->UnlockModal(This)
   2865 #define IActiveIMMIME_AssociateContextEx(This,hWnd,hIMC,dwFlags) (This)->lpVtbl->AssociateContextEx(This,hWnd,hIMC,dwFlags)
   2866 #define IActiveIMMIME_DisableIME(This,idThread) (This)->lpVtbl->DisableIME(This,idThread)
   2867 #define IActiveIMMIME_GetImeMenuItemsA(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult) (This)->lpVtbl->GetImeMenuItemsA(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult)
   2868 #define IActiveIMMIME_GetImeMenuItemsW(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult) (This)->lpVtbl->GetImeMenuItemsW(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult)
   2869 #define IActiveIMMIME_EnumInputContext(This,idThread,ppEnum) (This)->lpVtbl->EnumInputContext(This,idThread,ppEnum)
   2870 #define IActiveIMMIME_RequestMessageA(This,hIMC,wParam,lParam,plResult) (This)->lpVtbl->RequestMessageA(This,hIMC,wParam,lParam,plResult)
   2871 #define IActiveIMMIME_RequestMessageW(This,hIMC,wParam,lParam,plResult) (This)->lpVtbl->RequestMessageW(This,hIMC,wParam,lParam,plResult)
   2872 #define IActiveIMMIME_SendIMCA(This,hWnd,uMsg,wParam,lParam,plResult) (This)->lpVtbl->SendIMCA(This,hWnd,uMsg,wParam,lParam,plResult)
   2873 #define IActiveIMMIME_SendIMCW(This,hWnd,uMsg,wParam,lParam,plResult) (This)->lpVtbl->SendIMCW(This,hWnd,uMsg,wParam,lParam,plResult)
   2874 #define IActiveIMMIME_IsSleeping(This) (This)->lpVtbl->IsSleeping(This)
   2875 #else
   2876 /*** IUnknown methods ***/
   2877 static inline HRESULT IActiveIMMIME_QueryInterface(IActiveIMMIME* This,REFIID riid,void **ppvObject) {
   2878     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2879 }
   2880 static inline ULONG IActiveIMMIME_AddRef(IActiveIMMIME* This) {
   2881     return This->lpVtbl->AddRef(This);
   2882 }
   2883 static inline ULONG IActiveIMMIME_Release(IActiveIMMIME* This) {
   2884     return This->lpVtbl->Release(This);
   2885 }
   2886 /*** IActiveIMMIME methods ***/
   2887 static inline HRESULT IActiveIMMIME_AssociateContext(IActiveIMMIME* This,HWND hWnd,HIMC hIME,HIMC *phPrev) {
   2888     return This->lpVtbl->AssociateContext(This,hWnd,hIME,phPrev);
   2889 }
   2890 static inline HRESULT IActiveIMMIME_ConfigureIMEA(IActiveIMMIME* This,HKL hKL,HWND hWnd,DWORD dwMode,REGISTERWORDA *pData) {
   2891     return This->lpVtbl->ConfigureIMEA(This,hKL,hWnd,dwMode,pData);
   2892 }
   2893 static inline HRESULT IActiveIMMIME_ConfigureIMEW(IActiveIMMIME* This,HKL hKL,HWND hWnd,DWORD dwMode,REGISTERWORDW *pData) {
   2894     return This->lpVtbl->ConfigureIMEW(This,hKL,hWnd,dwMode,pData);
   2895 }
   2896 static inline HRESULT IActiveIMMIME_CreateContext(IActiveIMMIME* This,HIMC *phIMC) {
   2897     return This->lpVtbl->CreateContext(This,phIMC);
   2898 }
   2899 static inline HRESULT IActiveIMMIME_DestroyContext(IActiveIMMIME* This,HIMC hIME) {
   2900     return This->lpVtbl->DestroyContext(This,hIME);
   2901 }
   2902 static inline HRESULT IActiveIMMIME_EnumRegisterWordA(IActiveIMMIME* This,HKL hKL,LPSTR szReading,DWORD dwStyle,LPSTR szRegister,LPVOID pData,IEnumRegisterWordA **pEnum) {
   2903     return This->lpVtbl->EnumRegisterWordA(This,hKL,szReading,dwStyle,szRegister,pData,pEnum);
   2904 }
   2905 static inline HRESULT IActiveIMMIME_EnumRegisterWordW(IActiveIMMIME* This,HKL hKL,LPWSTR szReading,DWORD dwStyle,LPWSTR szRegister,LPVOID pData,IEnumRegisterWordW **pEnum) {
   2906     return This->lpVtbl->EnumRegisterWordW(This,hKL,szReading,dwStyle,szRegister,pData,pEnum);
   2907 }
   2908 static inline HRESULT IActiveIMMIME_EscapeA(IActiveIMMIME* This,HKL hKL,HIMC hIMC,UINT uEscape,LPVOID pData,LRESULT *plResult) {
   2909     return This->lpVtbl->EscapeA(This,hKL,hIMC,uEscape,pData,plResult);
   2910 }
   2911 static inline HRESULT IActiveIMMIME_EscapeW(IActiveIMMIME* This,HKL hKL,HIMC hIMC,UINT uEscape,LPVOID pData,LRESULT *plResult) {
   2912     return This->lpVtbl->EscapeW(This,hKL,hIMC,uEscape,pData,plResult);
   2913 }
   2914 static inline HRESULT IActiveIMMIME_GetCandidateListA(IActiveIMMIME* This,HIMC hIMC,DWORD dwIndex,UINT uBufLen,CANDIDATELIST *pCandList,UINT *puCopied) {
   2915     return This->lpVtbl->GetCandidateListA(This,hIMC,dwIndex,uBufLen,pCandList,puCopied);
   2916 }
   2917 static inline HRESULT IActiveIMMIME_GetCandidateListW(IActiveIMMIME* This,HIMC hIMC,DWORD dwIndex,UINT uBufLen,CANDIDATELIST *pCandList,UINT *puCopied) {
   2918     return This->lpVtbl->GetCandidateListW(This,hIMC,dwIndex,uBufLen,pCandList,puCopied);
   2919 }
   2920 static inline HRESULT IActiveIMMIME_GetCandidateListCountA(IActiveIMMIME* This,HIMC hIMC,DWORD *pdwListSize,DWORD *pdwBufLen) {
   2921     return This->lpVtbl->GetCandidateListCountA(This,hIMC,pdwListSize,pdwBufLen);
   2922 }
   2923 static inline HRESULT IActiveIMMIME_GetCandidateListCountW(IActiveIMMIME* This,HIMC hIMC,DWORD *pdwListSize,DWORD *pdwBufLen) {
   2924     return This->lpVtbl->GetCandidateListCountW(This,hIMC,pdwListSize,pdwBufLen);
   2925 }
   2926 static inline HRESULT IActiveIMMIME_GetCandidateWindow(IActiveIMMIME* This,HIMC hIMC,DWORD dwIndex,CANDIDATEFORM *pCandidate) {
   2927     return This->lpVtbl->GetCandidateWindow(This,hIMC,dwIndex,pCandidate);
   2928 }
   2929 static inline HRESULT IActiveIMMIME_GetCompositionFontA(IActiveIMMIME* This,HIMC hIMC,LOGFONTA *plf) {
   2930     return This->lpVtbl->GetCompositionFontA(This,hIMC,plf);
   2931 }
   2932 static inline HRESULT IActiveIMMIME_GetCompositionFontW(IActiveIMMIME* This,HIMC hIMC,LOGFONTW *plf) {
   2933     return This->lpVtbl->GetCompositionFontW(This,hIMC,plf);
   2934 }
   2935 static inline HRESULT IActiveIMMIME_GetCompositionStringA(IActiveIMMIME* This,HIMC hIMC,DWORD dwIndex,DWORD dwBufLen,LONG *plCopied,LPVOID pBuf) {
   2936     return This->lpVtbl->GetCompositionStringA(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf);
   2937 }
   2938 static inline HRESULT IActiveIMMIME_GetCompositionStringW(IActiveIMMIME* This,HIMC hIMC,DWORD dwIndex,DWORD dwBufLen,LONG *plCopied,LPVOID pBuf) {
   2939     return This->lpVtbl->GetCompositionStringW(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf);
   2940 }
   2941 static inline HRESULT IActiveIMMIME_GetCompositionWindow(IActiveIMMIME* This,HIMC hIMC,COMPOSITIONFORM *pCompForm) {
   2942     return This->lpVtbl->GetCompositionWindow(This,hIMC,pCompForm);
   2943 }
   2944 static inline HRESULT IActiveIMMIME_GetContext(IActiveIMMIME* This,HWND hWnd,HIMC *phIMC) {
   2945     return This->lpVtbl->GetContext(This,hWnd,phIMC);
   2946 }
   2947 static inline HRESULT IActiveIMMIME_GetConversionListA(IActiveIMMIME* This,HKL hKL,HIMC hIMC,LPSTR pSrc,UINT uBufLen,UINT uFlag,CANDIDATELIST *pDst,UINT *puCopied) {
   2948     return This->lpVtbl->GetConversionListA(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied);
   2949 }
   2950 static inline HRESULT IActiveIMMIME_GetConversionListW(IActiveIMMIME* This,HKL hKL,HIMC hIMC,LPWSTR pSrc,UINT uBufLen,UINT uFlag,CANDIDATELIST *pDst,UINT *puCopied) {
   2951     return This->lpVtbl->GetConversionListW(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied);
   2952 }
   2953 static inline HRESULT IActiveIMMIME_GetConversionStatus(IActiveIMMIME* This,HIMC hIMC,DWORD *pfdwConversion,DWORD *pfdwSentence) {
   2954     return This->lpVtbl->GetConversionStatus(This,hIMC,pfdwConversion,pfdwSentence);
   2955 }
   2956 static inline HRESULT IActiveIMMIME_GetDefaultIMEWnd(IActiveIMMIME* This,HWND hWnd,HWND *phDefWnd) {
   2957     return This->lpVtbl->GetDefaultIMEWnd(This,hWnd,phDefWnd);
   2958 }
   2959 static inline HRESULT IActiveIMMIME_GetDescriptionA(IActiveIMMIME* This,HKL hKL,UINT uBufLen,LPSTR szDescription,UINT *puCopied) {
   2960     return This->lpVtbl->GetDescriptionA(This,hKL,uBufLen,szDescription,puCopied);
   2961 }
   2962 static inline HRESULT IActiveIMMIME_GetDescriptionW(IActiveIMMIME* This,HKL hKL,UINT uBufLen,LPWSTR szDescription,UINT *puCopied) {
   2963     return This->lpVtbl->GetDescriptionW(This,hKL,uBufLen,szDescription,puCopied);
   2964 }
   2965 static inline HRESULT IActiveIMMIME_GetGuideLineA(IActiveIMMIME* This,HIMC hIMC,DWORD dwIndex,DWORD dwBufLen,LPSTR pBuf,DWORD *pdwResult) {
   2966     return This->lpVtbl->GetGuideLineA(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult);
   2967 }
   2968 static inline HRESULT IActiveIMMIME_GetGuideLineW(IActiveIMMIME* This,HIMC hIMC,DWORD dwIndex,DWORD dwBufLen,LPWSTR pBuf,DWORD *pdwResult) {
   2969     return This->lpVtbl->GetGuideLineW(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult);
   2970 }
   2971 static inline HRESULT IActiveIMMIME_GetIMEFileNameA(IActiveIMMIME* This,HKL hKL,UINT uBufLen,LPSTR szFileName,UINT *puCopied) {
   2972     return This->lpVtbl->GetIMEFileNameA(This,hKL,uBufLen,szFileName,puCopied);
   2973 }
   2974 static inline HRESULT IActiveIMMIME_GetIMEFileNameW(IActiveIMMIME* This,HKL hKL,UINT uBufLen,LPWSTR szFileName,UINT *puCopied) {
   2975     return This->lpVtbl->GetIMEFileNameW(This,hKL,uBufLen,szFileName,puCopied);
   2976 }
   2977 static inline HRESULT IActiveIMMIME_GetOpenStatus(IActiveIMMIME* This,HIMC hIMC) {
   2978     return This->lpVtbl->GetOpenStatus(This,hIMC);
   2979 }
   2980 static inline HRESULT IActiveIMMIME_GetProperty(IActiveIMMIME* This,HKL hKL,DWORD fdwIndex,DWORD *pdwProperty) {
   2981     return This->lpVtbl->GetProperty(This,hKL,fdwIndex,pdwProperty);
   2982 }
   2983 static inline HRESULT IActiveIMMIME_GetRegisterWordStyleA(IActiveIMMIME* This,HKL hKL,UINT nItem,STYLEBUFA *pStyleBuf,UINT *puCopied) {
   2984     return This->lpVtbl->GetRegisterWordStyleA(This,hKL,nItem,pStyleBuf,puCopied);
   2985 }
   2986 static inline HRESULT IActiveIMMIME_GetRegisterWordStyleW(IActiveIMMIME* This,HKL hKL,UINT nItem,STYLEBUFW *pStyleBuf,UINT *puCopied) {
   2987     return This->lpVtbl->GetRegisterWordStyleW(This,hKL,nItem,pStyleBuf,puCopied);
   2988 }
   2989 static inline HRESULT IActiveIMMIME_GetStatusWindowPos(IActiveIMMIME* This,HIMC hIMC,POINT *pptPos) {
   2990     return This->lpVtbl->GetStatusWindowPos(This,hIMC,pptPos);
   2991 }
   2992 static inline HRESULT IActiveIMMIME_GetVirtualKey(IActiveIMMIME* This,HWND hWnd,UINT *puVirtualKey) {
   2993     return This->lpVtbl->GetVirtualKey(This,hWnd,puVirtualKey);
   2994 }
   2995 static inline HRESULT IActiveIMMIME_InstallIMEA(IActiveIMMIME* This,LPSTR szIMEFileName,LPSTR szLayoutText,HKL *phKL) {
   2996     return This->lpVtbl->InstallIMEA(This,szIMEFileName,szLayoutText,phKL);
   2997 }
   2998 static inline HRESULT IActiveIMMIME_InstallIMEW(IActiveIMMIME* This,LPWSTR szIMEFileName,LPWSTR szLayoutText,HKL *phKL) {
   2999     return This->lpVtbl->InstallIMEW(This,szIMEFileName,szLayoutText,phKL);
   3000 }
   3001 static inline HRESULT IActiveIMMIME_IsIME(IActiveIMMIME* This,HKL hKL) {
   3002     return This->lpVtbl->IsIME(This,hKL);
   3003 }
   3004 static inline HRESULT IActiveIMMIME_IsUIMessageA(IActiveIMMIME* This,HWND hWndIME,UINT msg,WPARAM wParam,LPARAM lParam) {
   3005     return This->lpVtbl->IsUIMessageA(This,hWndIME,msg,wParam,lParam);
   3006 }
   3007 static inline HRESULT IActiveIMMIME_IsUIMessageW(IActiveIMMIME* This,HWND hWndIME,UINT msg,WPARAM wParam,LPARAM lParam) {
   3008     return This->lpVtbl->IsUIMessageW(This,hWndIME,msg,wParam,lParam);
   3009 }
   3010 static inline HRESULT IActiveIMMIME_NotifyIME(IActiveIMMIME* This,HIMC hIMC,DWORD dwAction,DWORD dwIndex,DWORD dwValue) {
   3011     return This->lpVtbl->NotifyIME(This,hIMC,dwAction,dwIndex,dwValue);
   3012 }
   3013 static inline HRESULT IActiveIMMIME_RegisterWordA(IActiveIMMIME* This,HKL hKL,LPSTR szReading,DWORD dwStyle,LPSTR szRegister) {
   3014     return This->lpVtbl->RegisterWordA(This,hKL,szReading,dwStyle,szRegister);
   3015 }
   3016 static inline HRESULT IActiveIMMIME_RegisterWordW(IActiveIMMIME* This,HKL hKL,LPWSTR szReading,DWORD dwStyle,LPWSTR szRegister) {
   3017     return This->lpVtbl->RegisterWordW(This,hKL,szReading,dwStyle,szRegister);
   3018 }
   3019 static inline HRESULT IActiveIMMIME_ReleaseContext(IActiveIMMIME* This,HWND hWnd,HIMC hIMC) {
   3020     return This->lpVtbl->ReleaseContext(This,hWnd,hIMC);
   3021 }
   3022 static inline HRESULT IActiveIMMIME_SetCandidateWindow(IActiveIMMIME* This,HIMC hIMC,CANDIDATEFORM *pCandidate) {
   3023     return This->lpVtbl->SetCandidateWindow(This,hIMC,pCandidate);
   3024 }
   3025 static inline HRESULT IActiveIMMIME_SetCompositionFontA(IActiveIMMIME* This,HIMC hIMC,LOGFONTA *plf) {
   3026     return This->lpVtbl->SetCompositionFontA(This,hIMC,plf);
   3027 }
   3028 static inline HRESULT IActiveIMMIME_SetCompositionFontW(IActiveIMMIME* This,HIMC hIMC,LOGFONTW *plf) {
   3029     return This->lpVtbl->SetCompositionFontW(This,hIMC,plf);
   3030 }
   3031 static inline HRESULT IActiveIMMIME_SetCompositionStringA(IActiveIMMIME* This,HIMC hIMC,DWORD dwIndex,LPVOID pComp,DWORD dwCompLen,LPVOID pRead,DWORD dwReadLen) {
   3032     return This->lpVtbl->SetCompositionStringA(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen);
   3033 }
   3034 static inline HRESULT IActiveIMMIME_SetCompositionStringW(IActiveIMMIME* This,HIMC hIMC,DWORD dwIndex,LPVOID pComp,DWORD dwCompLen,LPVOID pRead,DWORD dwReadLen) {
   3035     return This->lpVtbl->SetCompositionStringW(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen);
   3036 }
   3037 static inline HRESULT IActiveIMMIME_SetCompositionWindow(IActiveIMMIME* This,HIMC hIMC,COMPOSITIONFORM *pCompForm) {
   3038     return This->lpVtbl->SetCompositionWindow(This,hIMC,pCompForm);
   3039 }
   3040 static inline HRESULT IActiveIMMIME_SetConversionStatus(IActiveIMMIME* This,HIMC hIMC,DWORD fdwConversion,DWORD fdwSentence) {
   3041     return This->lpVtbl->SetConversionStatus(This,hIMC,fdwConversion,fdwSentence);
   3042 }
   3043 static inline HRESULT IActiveIMMIME_SetOpenStatus(IActiveIMMIME* This,HIMC hIMC,WINBOOL fOpen) {
   3044     return This->lpVtbl->SetOpenStatus(This,hIMC,fOpen);
   3045 }
   3046 static inline HRESULT IActiveIMMIME_SetStatusWindowPos(IActiveIMMIME* This,HIMC hIMC,POINT *pptPos) {
   3047     return This->lpVtbl->SetStatusWindowPos(This,hIMC,pptPos);
   3048 }
   3049 static inline HRESULT IActiveIMMIME_SimulateHotKey(IActiveIMMIME* This,HWND hWnd,DWORD dwHotKeyID) {
   3050     return This->lpVtbl->SimulateHotKey(This,hWnd,dwHotKeyID);
   3051 }
   3052 static inline HRESULT IActiveIMMIME_UnregisterWordA(IActiveIMMIME* This,HKL hKL,LPSTR szReading,DWORD dwStyle,LPSTR szUnregister) {
   3053     return This->lpVtbl->UnregisterWordA(This,hKL,szReading,dwStyle,szUnregister);
   3054 }
   3055 static inline HRESULT IActiveIMMIME_UnregisterWordW(IActiveIMMIME* This,HKL hKL,LPWSTR szReading,DWORD dwStyle,LPWSTR szUnregister) {
   3056     return This->lpVtbl->UnregisterWordW(This,hKL,szReading,dwStyle,szUnregister);
   3057 }
   3058 static inline HRESULT IActiveIMMIME_GenerateMessage(IActiveIMMIME* This,HIMC hIMC) {
   3059     return This->lpVtbl->GenerateMessage(This,hIMC);
   3060 }
   3061 static inline HRESULT IActiveIMMIME_LockIMC(IActiveIMMIME* This,HIMC hIMC,INPUTCONTEXT **ppIMC) {
   3062     return This->lpVtbl->LockIMC(This,hIMC,ppIMC);
   3063 }
   3064 static inline HRESULT IActiveIMMIME_UnlockIMC(IActiveIMMIME* This,HIMC hIMC) {
   3065     return This->lpVtbl->UnlockIMC(This,hIMC);
   3066 }
   3067 static inline HRESULT IActiveIMMIME_GetIMCLockCount(IActiveIMMIME* This,HIMC hIMC,DWORD *pdwLockCount) {
   3068     return This->lpVtbl->GetIMCLockCount(This,hIMC,pdwLockCount);
   3069 }
   3070 static inline HRESULT IActiveIMMIME_CreateIMCC(IActiveIMMIME* This,DWORD dwSize,HIMCC *phIMCC) {
   3071     return This->lpVtbl->CreateIMCC(This,dwSize,phIMCC);
   3072 }
   3073 static inline HRESULT IActiveIMMIME_DestroyIMCC(IActiveIMMIME* This,HIMCC hIMCC) {
   3074     return This->lpVtbl->DestroyIMCC(This,hIMCC);
   3075 }
   3076 static inline HRESULT IActiveIMMIME_LockIMCC(IActiveIMMIME* This,HIMCC hIMCC,void **ppv) {
   3077     return This->lpVtbl->LockIMCC(This,hIMCC,ppv);
   3078 }
   3079 static inline HRESULT IActiveIMMIME_UnlockIMCC(IActiveIMMIME* This,HIMCC hIMCC) {
   3080     return This->lpVtbl->UnlockIMCC(This,hIMCC);
   3081 }
   3082 static inline HRESULT IActiveIMMIME_ReSizeIMCC(IActiveIMMIME* This,HIMCC hIMCC,DWORD dwSize,HIMCC *phIMCC) {
   3083     return This->lpVtbl->ReSizeIMCC(This,hIMCC,dwSize,phIMCC);
   3084 }
   3085 static inline HRESULT IActiveIMMIME_GetIMCCSize(IActiveIMMIME* This,HIMCC hIMCC,DWORD *pdwSize) {
   3086     return This->lpVtbl->GetIMCCSize(This,hIMCC,pdwSize);
   3087 }
   3088 static inline HRESULT IActiveIMMIME_GetIMCCLockCount(IActiveIMMIME* This,HIMCC hIMCC,DWORD *pdwLockCount) {
   3089     return This->lpVtbl->GetIMCCLockCount(This,hIMCC,pdwLockCount);
   3090 }
   3091 static inline HRESULT IActiveIMMIME_GetHotKey(IActiveIMMIME* This,DWORD dwHotKeyID,UINT *puModifiers,UINT *puVKey,HKL *phKL) {
   3092     return This->lpVtbl->GetHotKey(This,dwHotKeyID,puModifiers,puVKey,phKL);
   3093 }
   3094 static inline HRESULT IActiveIMMIME_SetHotKey(IActiveIMMIME* This,DWORD dwHotKeyID,UINT uModifiers,UINT uVKey,HKL hKL) {
   3095     return This->lpVtbl->SetHotKey(This,dwHotKeyID,uModifiers,uVKey,hKL);
   3096 }
   3097 static inline HRESULT IActiveIMMIME_CreateSoftKeyboard(IActiveIMMIME* This,UINT uType,HWND hOwner,int x,int y,HWND *phSoftKbdWnd) {
   3098     return This->lpVtbl->CreateSoftKeyboard(This,uType,hOwner,x,y,phSoftKbdWnd);
   3099 }
   3100 static inline HRESULT IActiveIMMIME_DestroySoftKeyboard(IActiveIMMIME* This,HWND hSoftKbdWnd) {
   3101     return This->lpVtbl->DestroySoftKeyboard(This,hSoftKbdWnd);
   3102 }
   3103 static inline HRESULT IActiveIMMIME_ShowSoftKeyboard(IActiveIMMIME* This,HWND hSoftKbdWnd,int nCmdShow) {
   3104     return This->lpVtbl->ShowSoftKeyboard(This,hSoftKbdWnd,nCmdShow);
   3105 }
   3106 static inline HRESULT IActiveIMMIME_GetCodePageA(IActiveIMMIME* This,HKL hKL,UINT *uCodePage) {
   3107     return This->lpVtbl->GetCodePageA(This,hKL,uCodePage);
   3108 }
   3109 static inline HRESULT IActiveIMMIME_GetLangId(IActiveIMMIME* This,HKL hKL,LANGID *plid) {
   3110     return This->lpVtbl->GetLangId(This,hKL,plid);
   3111 }
   3112 static inline HRESULT IActiveIMMIME_KeybdEvent(IActiveIMMIME* This,LANGID lgidIME,BYTE bVk,BYTE bScan,DWORD dwFlags,DWORD dwExtraInfo) {
   3113     return This->lpVtbl->KeybdEvent(This,lgidIME,bVk,bScan,dwFlags,dwExtraInfo);
   3114 }
   3115 static inline HRESULT IActiveIMMIME_LockModal(IActiveIMMIME* This) {
   3116     return This->lpVtbl->LockModal(This);
   3117 }
   3118 static inline HRESULT IActiveIMMIME_UnlockModal(IActiveIMMIME* This) {
   3119     return This->lpVtbl->UnlockModal(This);
   3120 }
   3121 static inline HRESULT IActiveIMMIME_AssociateContextEx(IActiveIMMIME* This,HWND hWnd,HIMC hIMC,DWORD dwFlags) {
   3122     return This->lpVtbl->AssociateContextEx(This,hWnd,hIMC,dwFlags);
   3123 }
   3124 static inline HRESULT IActiveIMMIME_DisableIME(IActiveIMMIME* This,DWORD idThread) {
   3125     return This->lpVtbl->DisableIME(This,idThread);
   3126 }
   3127 static inline HRESULT IActiveIMMIME_GetImeMenuItemsA(IActiveIMMIME* This,HIMC hIMC,DWORD dwFlags,DWORD dwType,IMEMENUITEMINFOA *pImeParentMenu,IMEMENUITEMINFOA *pImeMenu,DWORD dwSize,DWORD *pdwResult) {
   3128     return This->lpVtbl->GetImeMenuItemsA(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult);
   3129 }
   3130 static inline HRESULT IActiveIMMIME_GetImeMenuItemsW(IActiveIMMIME* This,HIMC hIMC,DWORD dwFlags,DWORD dwType,IMEMENUITEMINFOW *pImeParentMenu,IMEMENUITEMINFOW *pImeMenu,DWORD dwSize,DWORD *pdwResult) {
   3131     return This->lpVtbl->GetImeMenuItemsW(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult);
   3132 }
   3133 static inline HRESULT IActiveIMMIME_EnumInputContext(IActiveIMMIME* This,DWORD idThread,IEnumInputContext **ppEnum) {
   3134     return This->lpVtbl->EnumInputContext(This,idThread,ppEnum);
   3135 }
   3136 static inline HRESULT IActiveIMMIME_RequestMessageA(IActiveIMMIME* This,HIMC hIMC,WPARAM wParam,LPARAM lParam,LRESULT *plResult) {
   3137     return This->lpVtbl->RequestMessageA(This,hIMC,wParam,lParam,plResult);
   3138 }
   3139 static inline HRESULT IActiveIMMIME_RequestMessageW(IActiveIMMIME* This,HIMC hIMC,WPARAM wParam,LPARAM lParam,LRESULT *plResult) {
   3140     return This->lpVtbl->RequestMessageW(This,hIMC,wParam,lParam,plResult);
   3141 }
   3142 static inline HRESULT IActiveIMMIME_SendIMCA(IActiveIMMIME* This,HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT *plResult) {
   3143     return This->lpVtbl->SendIMCA(This,hWnd,uMsg,wParam,lParam,plResult);
   3144 }
   3145 static inline HRESULT IActiveIMMIME_SendIMCW(IActiveIMMIME* This,HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT *plResult) {
   3146     return This->lpVtbl->SendIMCW(This,hWnd,uMsg,wParam,lParam,plResult);
   3147 }
   3148 static inline HRESULT IActiveIMMIME_IsSleeping(IActiveIMMIME* This) {
   3149     return This->lpVtbl->IsSleeping(This);
   3150 }
   3151 #endif
   3152 #endif
   3153 
   3154 #endif
   3155 
   3156 
   3157 #endif  /* __IActiveIMMIME_INTERFACE_DEFINED__ */
   3158 
   3159 /*****************************************************************************
   3160  * IActiveIME interface
   3161  */
   3162 #ifndef __IActiveIME_INTERFACE_DEFINED__
   3163 #define __IActiveIME_INTERFACE_DEFINED__
   3164 
   3165 DEFINE_GUID(IID_IActiveIME, 0x6fe20962, 0xd077, 0x11d0, 0x8f,0xe7, 0x00,0xaa,0x00,0x6b,0xcc,0x59);
   3166 #if defined(__cplusplus) && !defined(CINTERFACE)
   3167 MIDL_INTERFACE("6fe20962-d077-11d0-8fe7-00aa006bcc59")
   3168 IActiveIME : public IUnknown
   3169 {
   3170     virtual HRESULT STDMETHODCALLTYPE Inquire(
   3171         DWORD dwSystemInfoFlags,
   3172         IMEINFO *pIMEInfo,
   3173         LPWSTR szWndClass,
   3174         DWORD *pdwPrivate) = 0;
   3175 
   3176     virtual HRESULT STDMETHODCALLTYPE ConversionList(
   3177         HIMC hIMC,
   3178         LPWSTR szSource,
   3179         UINT uFlag,
   3180         UINT uBufLen,
   3181         CANDIDATELIST *pDest,
   3182         UINT *puCopied) = 0;
   3183 
   3184     virtual HRESULT STDMETHODCALLTYPE Configure(
   3185         HKL hKL,
   3186         HWND hWnd,
   3187         DWORD dwMode,
   3188         REGISTERWORDW *pRegisterWord) = 0;
   3189 
   3190     virtual HRESULT STDMETHODCALLTYPE Destroy(
   3191         UINT uReserved) = 0;
   3192 
   3193     virtual HRESULT STDMETHODCALLTYPE Escape(
   3194         HIMC hIMC,
   3195         UINT uEscape,
   3196         void *pData,
   3197         LRESULT *plResult) = 0;
   3198 
   3199     virtual HRESULT STDMETHODCALLTYPE SetActiveContext(
   3200         HIMC hIMC,
   3201         WINBOOL fFlag) = 0;
   3202 
   3203     virtual HRESULT STDMETHODCALLTYPE ProcessKey(
   3204         HIMC hIMC,
   3205         UINT uVirKey,
   3206         DWORD lParam,
   3207         BYTE *pbKeyState) = 0;
   3208 
   3209     virtual HRESULT STDMETHODCALLTYPE Notify(
   3210         HIMC hIMC,
   3211         DWORD dwAction,
   3212         DWORD dwIndex,
   3213         DWORD dwValue) = 0;
   3214 
   3215     virtual HRESULT STDMETHODCALLTYPE Select(
   3216         HIMC hIMC,
   3217         WINBOOL fSelect) = 0;
   3218 
   3219     virtual HRESULT STDMETHODCALLTYPE SetCompositionString(
   3220         HIMC hIMC,
   3221         DWORD dwIndex,
   3222         void *pComp,
   3223         DWORD dwCompLen,
   3224         void *pRead,
   3225         DWORD dwReadLen) = 0;
   3226 
   3227     virtual HRESULT STDMETHODCALLTYPE ToAsciiEx(
   3228         UINT uVirKey,
   3229         UINT uScanCode,
   3230         BYTE *pbKeyState,
   3231         UINT fuState,
   3232         HIMC hIMC,
   3233         DWORD *pdwTransBuf,
   3234         UINT *puSize) = 0;
   3235 
   3236     virtual HRESULT STDMETHODCALLTYPE RegisterWord(
   3237         LPWSTR szReading,
   3238         DWORD dwStyle,
   3239         LPWSTR szString) = 0;
   3240 
   3241     virtual HRESULT STDMETHODCALLTYPE UnregisterWord(
   3242         LPWSTR szReading,
   3243         DWORD dwStyle,
   3244         LPWSTR szString) = 0;
   3245 
   3246     virtual HRESULT STDMETHODCALLTYPE GetRegisterWordStyle(
   3247         UINT nItem,
   3248         STYLEBUFW *pStyleBuf,
   3249         UINT *puBufSize) = 0;
   3250 
   3251     virtual HRESULT STDMETHODCALLTYPE EnumRegisterWord(
   3252         LPWSTR szReading,
   3253         DWORD dwStyle,
   3254         LPWSTR szRegister,
   3255         LPVOID pData,
   3256         IEnumRegisterWordW **ppEnum) = 0;
   3257 
   3258     virtual HRESULT STDMETHODCALLTYPE GetCodePageA(
   3259         UINT *uCodePage) = 0;
   3260 
   3261     virtual HRESULT STDMETHODCALLTYPE GetLangId(
   3262         LANGID *plid) = 0;
   3263 
   3264 };
   3265 #ifdef __CRT_UUID_DECL
   3266 __CRT_UUID_DECL(IActiveIME, 0x6fe20962, 0xd077, 0x11d0, 0x8f,0xe7, 0x00,0xaa,0x00,0x6b,0xcc,0x59)
   3267 #endif
   3268 #else
   3269 typedef struct IActiveIMEVtbl {
   3270     BEGIN_INTERFACE
   3271 
   3272     /*** IUnknown methods ***/
   3273     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3274         IActiveIME *This,
   3275         REFIID riid,
   3276         void **ppvObject);
   3277 
   3278     ULONG (STDMETHODCALLTYPE *AddRef)(
   3279         IActiveIME *This);
   3280 
   3281     ULONG (STDMETHODCALLTYPE *Release)(
   3282         IActiveIME *This);
   3283 
   3284     /*** IActiveIME methods ***/
   3285     HRESULT (STDMETHODCALLTYPE *Inquire)(
   3286         IActiveIME *This,
   3287         DWORD dwSystemInfoFlags,
   3288         IMEINFO *pIMEInfo,
   3289         LPWSTR szWndClass,
   3290         DWORD *pdwPrivate);
   3291 
   3292     HRESULT (STDMETHODCALLTYPE *ConversionList)(
   3293         IActiveIME *This,
   3294         HIMC hIMC,
   3295         LPWSTR szSource,
   3296         UINT uFlag,
   3297         UINT uBufLen,
   3298         CANDIDATELIST *pDest,
   3299         UINT *puCopied);
   3300 
   3301     HRESULT (STDMETHODCALLTYPE *Configure)(
   3302         IActiveIME *This,
   3303         HKL hKL,
   3304         HWND hWnd,
   3305         DWORD dwMode,
   3306         REGISTERWORDW *pRegisterWord);
   3307 
   3308     HRESULT (STDMETHODCALLTYPE *Destroy)(
   3309         IActiveIME *This,
   3310         UINT uReserved);
   3311 
   3312     HRESULT (STDMETHODCALLTYPE *Escape)(
   3313         IActiveIME *This,
   3314         HIMC hIMC,
   3315         UINT uEscape,
   3316         void *pData,
   3317         LRESULT *plResult);
   3318 
   3319     HRESULT (STDMETHODCALLTYPE *SetActiveContext)(
   3320         IActiveIME *This,
   3321         HIMC hIMC,
   3322         WINBOOL fFlag);
   3323 
   3324     HRESULT (STDMETHODCALLTYPE *ProcessKey)(
   3325         IActiveIME *This,
   3326         HIMC hIMC,
   3327         UINT uVirKey,
   3328         DWORD lParam,
   3329         BYTE *pbKeyState);
   3330 
   3331     HRESULT (STDMETHODCALLTYPE *Notify)(
   3332         IActiveIME *This,
   3333         HIMC hIMC,
   3334         DWORD dwAction,
   3335         DWORD dwIndex,
   3336         DWORD dwValue);
   3337 
   3338     HRESULT (STDMETHODCALLTYPE *Select)(
   3339         IActiveIME *This,
   3340         HIMC hIMC,
   3341         WINBOOL fSelect);
   3342 
   3343     HRESULT (STDMETHODCALLTYPE *SetCompositionString)(
   3344         IActiveIME *This,
   3345         HIMC hIMC,
   3346         DWORD dwIndex,
   3347         void *pComp,
   3348         DWORD dwCompLen,
   3349         void *pRead,
   3350         DWORD dwReadLen);
   3351 
   3352     HRESULT (STDMETHODCALLTYPE *ToAsciiEx)(
   3353         IActiveIME *This,
   3354         UINT uVirKey,
   3355         UINT uScanCode,
   3356         BYTE *pbKeyState,
   3357         UINT fuState,
   3358         HIMC hIMC,
   3359         DWORD *pdwTransBuf,
   3360         UINT *puSize);
   3361 
   3362     HRESULT (STDMETHODCALLTYPE *RegisterWord)(
   3363         IActiveIME *This,
   3364         LPWSTR szReading,
   3365         DWORD dwStyle,
   3366         LPWSTR szString);
   3367 
   3368     HRESULT (STDMETHODCALLTYPE *UnregisterWord)(
   3369         IActiveIME *This,
   3370         LPWSTR szReading,
   3371         DWORD dwStyle,
   3372         LPWSTR szString);
   3373 
   3374     HRESULT (STDMETHODCALLTYPE *GetRegisterWordStyle)(
   3375         IActiveIME *This,
   3376         UINT nItem,
   3377         STYLEBUFW *pStyleBuf,
   3378         UINT *puBufSize);
   3379 
   3380     HRESULT (STDMETHODCALLTYPE *EnumRegisterWord)(
   3381         IActiveIME *This,
   3382         LPWSTR szReading,
   3383         DWORD dwStyle,
   3384         LPWSTR szRegister,
   3385         LPVOID pData,
   3386         IEnumRegisterWordW **ppEnum);
   3387 
   3388     HRESULT (STDMETHODCALLTYPE *GetCodePageA)(
   3389         IActiveIME *This,
   3390         UINT *uCodePage);
   3391 
   3392     HRESULT (STDMETHODCALLTYPE *GetLangId)(
   3393         IActiveIME *This,
   3394         LANGID *plid);
   3395 
   3396     END_INTERFACE
   3397 } IActiveIMEVtbl;
   3398 
   3399 interface IActiveIME {
   3400     CONST_VTBL IActiveIMEVtbl* lpVtbl;
   3401 };
   3402 
   3403 #ifdef COBJMACROS
   3404 #ifndef WIDL_C_INLINE_WRAPPERS
   3405 /*** IUnknown methods ***/
   3406 #define IActiveIME_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3407 #define IActiveIME_AddRef(This) (This)->lpVtbl->AddRef(This)
   3408 #define IActiveIME_Release(This) (This)->lpVtbl->Release(This)
   3409 /*** IActiveIME methods ***/
   3410 #define IActiveIME_Inquire(This,dwSystemInfoFlags,pIMEInfo,szWndClass,pdwPrivate) (This)->lpVtbl->Inquire(This,dwSystemInfoFlags,pIMEInfo,szWndClass,pdwPrivate)
   3411 #define IActiveIME_ConversionList(This,hIMC,szSource,uFlag,uBufLen,pDest,puCopied) (This)->lpVtbl->ConversionList(This,hIMC,szSource,uFlag,uBufLen,pDest,puCopied)
   3412 #define IActiveIME_Configure(This,hKL,hWnd,dwMode,pRegisterWord) (This)->lpVtbl->Configure(This,hKL,hWnd,dwMode,pRegisterWord)
   3413 #define IActiveIME_Destroy(This,uReserved) (This)->lpVtbl->Destroy(This,uReserved)
   3414 #define IActiveIME_Escape(This,hIMC,uEscape,pData,plResult) (This)->lpVtbl->Escape(This,hIMC,uEscape,pData,plResult)
   3415 #define IActiveIME_SetActiveContext(This,hIMC,fFlag) (This)->lpVtbl->SetActiveContext(This,hIMC,fFlag)
   3416 #define IActiveIME_ProcessKey(This,hIMC,uVirKey,lParam,pbKeyState) (This)->lpVtbl->ProcessKey(This,hIMC,uVirKey,lParam,pbKeyState)
   3417 #define IActiveIME_Notify(This,hIMC,dwAction,dwIndex,dwValue) (This)->lpVtbl->Notify(This,hIMC,dwAction,dwIndex,dwValue)
   3418 #define IActiveIME_Select(This,hIMC,fSelect) (This)->lpVtbl->Select(This,hIMC,fSelect)
   3419 #define IActiveIME_SetCompositionString(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen) (This)->lpVtbl->SetCompositionString(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen)
   3420 #define IActiveIME_ToAsciiEx(This,uVirKey,uScanCode,pbKeyState,fuState,hIMC,pdwTransBuf,puSize) (This)->lpVtbl->ToAsciiEx(This,uVirKey,uScanCode,pbKeyState,fuState,hIMC,pdwTransBuf,puSize)
   3421 #define IActiveIME_RegisterWord(This,szReading,dwStyle,szString) (This)->lpVtbl->RegisterWord(This,szReading,dwStyle,szString)
   3422 #define IActiveIME_UnregisterWord(This,szReading,dwStyle,szString) (This)->lpVtbl->UnregisterWord(This,szReading,dwStyle,szString)
   3423 #define IActiveIME_GetRegisterWordStyle(This,nItem,pStyleBuf,puBufSize) (This)->lpVtbl->GetRegisterWordStyle(This,nItem,pStyleBuf,puBufSize)
   3424 #define IActiveIME_EnumRegisterWord(This,szReading,dwStyle,szRegister,pData,ppEnum) (This)->lpVtbl->EnumRegisterWord(This,szReading,dwStyle,szRegister,pData,ppEnum)
   3425 #define IActiveIME_GetCodePageA(This,uCodePage) (This)->lpVtbl->GetCodePageA(This,uCodePage)
   3426 #define IActiveIME_GetLangId(This,plid) (This)->lpVtbl->GetLangId(This,plid)
   3427 #else
   3428 /*** IUnknown methods ***/
   3429 static inline HRESULT IActiveIME_QueryInterface(IActiveIME* This,REFIID riid,void **ppvObject) {
   3430     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3431 }
   3432 static inline ULONG IActiveIME_AddRef(IActiveIME* This) {
   3433     return This->lpVtbl->AddRef(This);
   3434 }
   3435 static inline ULONG IActiveIME_Release(IActiveIME* This) {
   3436     return This->lpVtbl->Release(This);
   3437 }
   3438 /*** IActiveIME methods ***/
   3439 static inline HRESULT IActiveIME_Inquire(IActiveIME* This,DWORD dwSystemInfoFlags,IMEINFO *pIMEInfo,LPWSTR szWndClass,DWORD *pdwPrivate) {
   3440     return This->lpVtbl->Inquire(This,dwSystemInfoFlags,pIMEInfo,szWndClass,pdwPrivate);
   3441 }
   3442 static inline HRESULT IActiveIME_ConversionList(IActiveIME* This,HIMC hIMC,LPWSTR szSource,UINT uFlag,UINT uBufLen,CANDIDATELIST *pDest,UINT *puCopied) {
   3443     return This->lpVtbl->ConversionList(This,hIMC,szSource,uFlag,uBufLen,pDest,puCopied);
   3444 }
   3445 static inline HRESULT IActiveIME_Configure(IActiveIME* This,HKL hKL,HWND hWnd,DWORD dwMode,REGISTERWORDW *pRegisterWord) {
   3446     return This->lpVtbl->Configure(This,hKL,hWnd,dwMode,pRegisterWord);
   3447 }
   3448 static inline HRESULT IActiveIME_Destroy(IActiveIME* This,UINT uReserved) {
   3449     return This->lpVtbl->Destroy(This,uReserved);
   3450 }
   3451 static inline HRESULT IActiveIME_Escape(IActiveIME* This,HIMC hIMC,UINT uEscape,void *pData,LRESULT *plResult) {
   3452     return This->lpVtbl->Escape(This,hIMC,uEscape,pData,plResult);
   3453 }
   3454 static inline HRESULT IActiveIME_SetActiveContext(IActiveIME* This,HIMC hIMC,WINBOOL fFlag) {
   3455     return This->lpVtbl->SetActiveContext(This,hIMC,fFlag);
   3456 }
   3457 static inline HRESULT IActiveIME_ProcessKey(IActiveIME* This,HIMC hIMC,UINT uVirKey,DWORD lParam,BYTE *pbKeyState) {
   3458     return This->lpVtbl->ProcessKey(This,hIMC,uVirKey,lParam,pbKeyState);
   3459 }
   3460 static inline HRESULT IActiveIME_Notify(IActiveIME* This,HIMC hIMC,DWORD dwAction,DWORD dwIndex,DWORD dwValue) {
   3461     return This->lpVtbl->Notify(This,hIMC,dwAction,dwIndex,dwValue);
   3462 }
   3463 static inline HRESULT IActiveIME_Select(IActiveIME* This,HIMC hIMC,WINBOOL fSelect) {
   3464     return This->lpVtbl->Select(This,hIMC,fSelect);
   3465 }
   3466 static inline HRESULT IActiveIME_SetCompositionString(IActiveIME* This,HIMC hIMC,DWORD dwIndex,void *pComp,DWORD dwCompLen,void *pRead,DWORD dwReadLen) {
   3467     return This->lpVtbl->SetCompositionString(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen);
   3468 }
   3469 static inline HRESULT IActiveIME_ToAsciiEx(IActiveIME* This,UINT uVirKey,UINT uScanCode,BYTE *pbKeyState,UINT fuState,HIMC hIMC,DWORD *pdwTransBuf,UINT *puSize) {
   3470     return This->lpVtbl->ToAsciiEx(This,uVirKey,uScanCode,pbKeyState,fuState,hIMC,pdwTransBuf,puSize);
   3471 }
   3472 static inline HRESULT IActiveIME_RegisterWord(IActiveIME* This,LPWSTR szReading,DWORD dwStyle,LPWSTR szString) {
   3473     return This->lpVtbl->RegisterWord(This,szReading,dwStyle,szString);
   3474 }
   3475 static inline HRESULT IActiveIME_UnregisterWord(IActiveIME* This,LPWSTR szReading,DWORD dwStyle,LPWSTR szString) {
   3476     return This->lpVtbl->UnregisterWord(This,szReading,dwStyle,szString);
   3477 }
   3478 static inline HRESULT IActiveIME_GetRegisterWordStyle(IActiveIME* This,UINT nItem,STYLEBUFW *pStyleBuf,UINT *puBufSize) {
   3479     return This->lpVtbl->GetRegisterWordStyle(This,nItem,pStyleBuf,puBufSize);
   3480 }
   3481 static inline HRESULT IActiveIME_EnumRegisterWord(IActiveIME* This,LPWSTR szReading,DWORD dwStyle,LPWSTR szRegister,LPVOID pData,IEnumRegisterWordW **ppEnum) {
   3482     return This->lpVtbl->EnumRegisterWord(This,szReading,dwStyle,szRegister,pData,ppEnum);
   3483 }
   3484 static inline HRESULT IActiveIME_GetCodePageA(IActiveIME* This,UINT *uCodePage) {
   3485     return This->lpVtbl->GetCodePageA(This,uCodePage);
   3486 }
   3487 static inline HRESULT IActiveIME_GetLangId(IActiveIME* This,LANGID *plid) {
   3488     return This->lpVtbl->GetLangId(This,plid);
   3489 }
   3490 #endif
   3491 #endif
   3492 
   3493 #endif
   3494 
   3495 
   3496 #endif  /* __IActiveIME_INTERFACE_DEFINED__ */
   3497 
   3498 /*****************************************************************************
   3499  * IActiveIME2 interface
   3500  */
   3501 #ifndef __IActiveIME2_INTERFACE_DEFINED__
   3502 #define __IActiveIME2_INTERFACE_DEFINED__
   3503 
   3504 DEFINE_GUID(IID_IActiveIME2, 0xe1c4bf0e, 0x2d53, 0x11d2, 0x93,0xe1, 0x00,0x60,0xb0,0x67,0xb8,0x6e);
   3505 #if defined(__cplusplus) && !defined(CINTERFACE)
   3506 MIDL_INTERFACE("e1c4bf0e-2d53-11d2-93e1-0060b067b86e")
   3507 IActiveIME2 : public IActiveIME
   3508 {
   3509     virtual HRESULT STDMETHODCALLTYPE Sleep(
   3510         ) = 0;
   3511 
   3512     virtual HRESULT STDMETHODCALLTYPE Unsleep(
   3513         WINBOOL fDead) = 0;
   3514 
   3515 };
   3516 #ifdef __CRT_UUID_DECL
   3517 __CRT_UUID_DECL(IActiveIME2, 0xe1c4bf0e, 0x2d53, 0x11d2, 0x93,0xe1, 0x00,0x60,0xb0,0x67,0xb8,0x6e)
   3518 #endif
   3519 #else
   3520 typedef struct IActiveIME2Vtbl {
   3521     BEGIN_INTERFACE
   3522 
   3523     /*** IUnknown methods ***/
   3524     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3525         IActiveIME2 *This,
   3526         REFIID riid,
   3527         void **ppvObject);
   3528 
   3529     ULONG (STDMETHODCALLTYPE *AddRef)(
   3530         IActiveIME2 *This);
   3531 
   3532     ULONG (STDMETHODCALLTYPE *Release)(
   3533         IActiveIME2 *This);
   3534 
   3535     /*** IActiveIME methods ***/
   3536     HRESULT (STDMETHODCALLTYPE *Inquire)(
   3537         IActiveIME2 *This,
   3538         DWORD dwSystemInfoFlags,
   3539         IMEINFO *pIMEInfo,
   3540         LPWSTR szWndClass,
   3541         DWORD *pdwPrivate);
   3542 
   3543     HRESULT (STDMETHODCALLTYPE *ConversionList)(
   3544         IActiveIME2 *This,
   3545         HIMC hIMC,
   3546         LPWSTR szSource,
   3547         UINT uFlag,
   3548         UINT uBufLen,
   3549         CANDIDATELIST *pDest,
   3550         UINT *puCopied);
   3551 
   3552     HRESULT (STDMETHODCALLTYPE *Configure)(
   3553         IActiveIME2 *This,
   3554         HKL hKL,
   3555         HWND hWnd,
   3556         DWORD dwMode,
   3557         REGISTERWORDW *pRegisterWord);
   3558 
   3559     HRESULT (STDMETHODCALLTYPE *Destroy)(
   3560         IActiveIME2 *This,
   3561         UINT uReserved);
   3562 
   3563     HRESULT (STDMETHODCALLTYPE *Escape)(
   3564         IActiveIME2 *This,
   3565         HIMC hIMC,
   3566         UINT uEscape,
   3567         void *pData,
   3568         LRESULT *plResult);
   3569 
   3570     HRESULT (STDMETHODCALLTYPE *SetActiveContext)(
   3571         IActiveIME2 *This,
   3572         HIMC hIMC,
   3573         WINBOOL fFlag);
   3574 
   3575     HRESULT (STDMETHODCALLTYPE *ProcessKey)(
   3576         IActiveIME2 *This,
   3577         HIMC hIMC,
   3578         UINT uVirKey,
   3579         DWORD lParam,
   3580         BYTE *pbKeyState);
   3581 
   3582     HRESULT (STDMETHODCALLTYPE *Notify)(
   3583         IActiveIME2 *This,
   3584         HIMC hIMC,
   3585         DWORD dwAction,
   3586         DWORD dwIndex,
   3587         DWORD dwValue);
   3588 
   3589     HRESULT (STDMETHODCALLTYPE *Select)(
   3590         IActiveIME2 *This,
   3591         HIMC hIMC,
   3592         WINBOOL fSelect);
   3593 
   3594     HRESULT (STDMETHODCALLTYPE *SetCompositionString)(
   3595         IActiveIME2 *This,
   3596         HIMC hIMC,
   3597         DWORD dwIndex,
   3598         void *pComp,
   3599         DWORD dwCompLen,
   3600         void *pRead,
   3601         DWORD dwReadLen);
   3602 
   3603     HRESULT (STDMETHODCALLTYPE *ToAsciiEx)(
   3604         IActiveIME2 *This,
   3605         UINT uVirKey,
   3606         UINT uScanCode,
   3607         BYTE *pbKeyState,
   3608         UINT fuState,
   3609         HIMC hIMC,
   3610         DWORD *pdwTransBuf,
   3611         UINT *puSize);
   3612 
   3613     HRESULT (STDMETHODCALLTYPE *RegisterWord)(
   3614         IActiveIME2 *This,
   3615         LPWSTR szReading,
   3616         DWORD dwStyle,
   3617         LPWSTR szString);
   3618 
   3619     HRESULT (STDMETHODCALLTYPE *UnregisterWord)(
   3620         IActiveIME2 *This,
   3621         LPWSTR szReading,
   3622         DWORD dwStyle,
   3623         LPWSTR szString);
   3624 
   3625     HRESULT (STDMETHODCALLTYPE *GetRegisterWordStyle)(
   3626         IActiveIME2 *This,
   3627         UINT nItem,
   3628         STYLEBUFW *pStyleBuf,
   3629         UINT *puBufSize);
   3630 
   3631     HRESULT (STDMETHODCALLTYPE *EnumRegisterWord)(
   3632         IActiveIME2 *This,
   3633         LPWSTR szReading,
   3634         DWORD dwStyle,
   3635         LPWSTR szRegister,
   3636         LPVOID pData,
   3637         IEnumRegisterWordW **ppEnum);
   3638 
   3639     HRESULT (STDMETHODCALLTYPE *GetCodePageA)(
   3640         IActiveIME2 *This,
   3641         UINT *uCodePage);
   3642 
   3643     HRESULT (STDMETHODCALLTYPE *GetLangId)(
   3644         IActiveIME2 *This,
   3645         LANGID *plid);
   3646 
   3647     /*** IActiveIME2 methods ***/
   3648     HRESULT (STDMETHODCALLTYPE *Sleep)(
   3649         IActiveIME2 *This);
   3650 
   3651     HRESULT (STDMETHODCALLTYPE *Unsleep)(
   3652         IActiveIME2 *This,
   3653         WINBOOL fDead);
   3654 
   3655     END_INTERFACE
   3656 } IActiveIME2Vtbl;
   3657 
   3658 interface IActiveIME2 {
   3659     CONST_VTBL IActiveIME2Vtbl* lpVtbl;
   3660 };
   3661 
   3662 #ifdef COBJMACROS
   3663 #ifndef WIDL_C_INLINE_WRAPPERS
   3664 /*** IUnknown methods ***/
   3665 #define IActiveIME2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3666 #define IActiveIME2_AddRef(This) (This)->lpVtbl->AddRef(This)
   3667 #define IActiveIME2_Release(This) (This)->lpVtbl->Release(This)
   3668 /*** IActiveIME methods ***/
   3669 #define IActiveIME2_Inquire(This,dwSystemInfoFlags,pIMEInfo,szWndClass,pdwPrivate) (This)->lpVtbl->Inquire(This,dwSystemInfoFlags,pIMEInfo,szWndClass,pdwPrivate)
   3670 #define IActiveIME2_ConversionList(This,hIMC,szSource,uFlag,uBufLen,pDest,puCopied) (This)->lpVtbl->ConversionList(This,hIMC,szSource,uFlag,uBufLen,pDest,puCopied)
   3671 #define IActiveIME2_Configure(This,hKL,hWnd,dwMode,pRegisterWord) (This)->lpVtbl->Configure(This,hKL,hWnd,dwMode,pRegisterWord)
   3672 #define IActiveIME2_Destroy(This,uReserved) (This)->lpVtbl->Destroy(This,uReserved)
   3673 #define IActiveIME2_Escape(This,hIMC,uEscape,pData,plResult) (This)->lpVtbl->Escape(This,hIMC,uEscape,pData,plResult)
   3674 #define IActiveIME2_SetActiveContext(This,hIMC,fFlag) (This)->lpVtbl->SetActiveContext(This,hIMC,fFlag)
   3675 #define IActiveIME2_ProcessKey(This,hIMC,uVirKey,lParam,pbKeyState) (This)->lpVtbl->ProcessKey(This,hIMC,uVirKey,lParam,pbKeyState)
   3676 #define IActiveIME2_Notify(This,hIMC,dwAction,dwIndex,dwValue) (This)->lpVtbl->Notify(This,hIMC,dwAction,dwIndex,dwValue)
   3677 #define IActiveIME2_Select(This,hIMC,fSelect) (This)->lpVtbl->Select(This,hIMC,fSelect)
   3678 #define IActiveIME2_SetCompositionString(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen) (This)->lpVtbl->SetCompositionString(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen)
   3679 #define IActiveIME2_ToAsciiEx(This,uVirKey,uScanCode,pbKeyState,fuState,hIMC,pdwTransBuf,puSize) (This)->lpVtbl->ToAsciiEx(This,uVirKey,uScanCode,pbKeyState,fuState,hIMC,pdwTransBuf,puSize)
   3680 #define IActiveIME2_RegisterWord(This,szReading,dwStyle,szString) (This)->lpVtbl->RegisterWord(This,szReading,dwStyle,szString)
   3681 #define IActiveIME2_UnregisterWord(This,szReading,dwStyle,szString) (This)->lpVtbl->UnregisterWord(This,szReading,dwStyle,szString)
   3682 #define IActiveIME2_GetRegisterWordStyle(This,nItem,pStyleBuf,puBufSize) (This)->lpVtbl->GetRegisterWordStyle(This,nItem,pStyleBuf,puBufSize)
   3683 #define IActiveIME2_EnumRegisterWord(This,szReading,dwStyle,szRegister,pData,ppEnum) (This)->lpVtbl->EnumRegisterWord(This,szReading,dwStyle,szRegister,pData,ppEnum)
   3684 #define IActiveIME2_GetCodePageA(This,uCodePage) (This)->lpVtbl->GetCodePageA(This,uCodePage)
   3685 #define IActiveIME2_GetLangId(This,plid) (This)->lpVtbl->GetLangId(This,plid)
   3686 /*** IActiveIME2 methods ***/
   3687 #define IActiveIME2_Sleep(This) (This)->lpVtbl->Sleep(This)
   3688 #define IActiveIME2_Unsleep(This,fDead) (This)->lpVtbl->Unsleep(This,fDead)
   3689 #else
   3690 /*** IUnknown methods ***/
   3691 static inline HRESULT IActiveIME2_QueryInterface(IActiveIME2* This,REFIID riid,void **ppvObject) {
   3692     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3693 }
   3694 static inline ULONG IActiveIME2_AddRef(IActiveIME2* This) {
   3695     return This->lpVtbl->AddRef(This);
   3696 }
   3697 static inline ULONG IActiveIME2_Release(IActiveIME2* This) {
   3698     return This->lpVtbl->Release(This);
   3699 }
   3700 /*** IActiveIME methods ***/
   3701 static inline HRESULT IActiveIME2_Inquire(IActiveIME2* This,DWORD dwSystemInfoFlags,IMEINFO *pIMEInfo,LPWSTR szWndClass,DWORD *pdwPrivate) {
   3702     return This->lpVtbl->Inquire(This,dwSystemInfoFlags,pIMEInfo,szWndClass,pdwPrivate);
   3703 }
   3704 static inline HRESULT IActiveIME2_ConversionList(IActiveIME2* This,HIMC hIMC,LPWSTR szSource,UINT uFlag,UINT uBufLen,CANDIDATELIST *pDest,UINT *puCopied) {
   3705     return This->lpVtbl->ConversionList(This,hIMC,szSource,uFlag,uBufLen,pDest,puCopied);
   3706 }
   3707 static inline HRESULT IActiveIME2_Configure(IActiveIME2* This,HKL hKL,HWND hWnd,DWORD dwMode,REGISTERWORDW *pRegisterWord) {
   3708     return This->lpVtbl->Configure(This,hKL,hWnd,dwMode,pRegisterWord);
   3709 }
   3710 static inline HRESULT IActiveIME2_Destroy(IActiveIME2* This,UINT uReserved) {
   3711     return This->lpVtbl->Destroy(This,uReserved);
   3712 }
   3713 static inline HRESULT IActiveIME2_Escape(IActiveIME2* This,HIMC hIMC,UINT uEscape,void *pData,LRESULT *plResult) {
   3714     return This->lpVtbl->Escape(This,hIMC,uEscape,pData,plResult);
   3715 }
   3716 static inline HRESULT IActiveIME2_SetActiveContext(IActiveIME2* This,HIMC hIMC,WINBOOL fFlag) {
   3717     return This->lpVtbl->SetActiveContext(This,hIMC,fFlag);
   3718 }
   3719 static inline HRESULT IActiveIME2_ProcessKey(IActiveIME2* This,HIMC hIMC,UINT uVirKey,DWORD lParam,BYTE *pbKeyState) {
   3720     return This->lpVtbl->ProcessKey(This,hIMC,uVirKey,lParam,pbKeyState);
   3721 }
   3722 static inline HRESULT IActiveIME2_Notify(IActiveIME2* This,HIMC hIMC,DWORD dwAction,DWORD dwIndex,DWORD dwValue) {
   3723     return This->lpVtbl->Notify(This,hIMC,dwAction,dwIndex,dwValue);
   3724 }
   3725 static inline HRESULT IActiveIME2_Select(IActiveIME2* This,HIMC hIMC,WINBOOL fSelect) {
   3726     return This->lpVtbl->Select(This,hIMC,fSelect);
   3727 }
   3728 static inline HRESULT IActiveIME2_SetCompositionString(IActiveIME2* This,HIMC hIMC,DWORD dwIndex,void *pComp,DWORD dwCompLen,void *pRead,DWORD dwReadLen) {
   3729     return This->lpVtbl->SetCompositionString(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen);
   3730 }
   3731 static inline HRESULT IActiveIME2_ToAsciiEx(IActiveIME2* This,UINT uVirKey,UINT uScanCode,BYTE *pbKeyState,UINT fuState,HIMC hIMC,DWORD *pdwTransBuf,UINT *puSize) {
   3732     return This->lpVtbl->ToAsciiEx(This,uVirKey,uScanCode,pbKeyState,fuState,hIMC,pdwTransBuf,puSize);
   3733 }
   3734 static inline HRESULT IActiveIME2_RegisterWord(IActiveIME2* This,LPWSTR szReading,DWORD dwStyle,LPWSTR szString) {
   3735     return This->lpVtbl->RegisterWord(This,szReading,dwStyle,szString);
   3736 }
   3737 static inline HRESULT IActiveIME2_UnregisterWord(IActiveIME2* This,LPWSTR szReading,DWORD dwStyle,LPWSTR szString) {
   3738     return This->lpVtbl->UnregisterWord(This,szReading,dwStyle,szString);
   3739 }
   3740 static inline HRESULT IActiveIME2_GetRegisterWordStyle(IActiveIME2* This,UINT nItem,STYLEBUFW *pStyleBuf,UINT *puBufSize) {
   3741     return This->lpVtbl->GetRegisterWordStyle(This,nItem,pStyleBuf,puBufSize);
   3742 }
   3743 static inline HRESULT IActiveIME2_EnumRegisterWord(IActiveIME2* This,LPWSTR szReading,DWORD dwStyle,LPWSTR szRegister,LPVOID pData,IEnumRegisterWordW **ppEnum) {
   3744     return This->lpVtbl->EnumRegisterWord(This,szReading,dwStyle,szRegister,pData,ppEnum);
   3745 }
   3746 static inline HRESULT IActiveIME2_GetCodePageA(IActiveIME2* This,UINT *uCodePage) {
   3747     return This->lpVtbl->GetCodePageA(This,uCodePage);
   3748 }
   3749 static inline HRESULT IActiveIME2_GetLangId(IActiveIME2* This,LANGID *plid) {
   3750     return This->lpVtbl->GetLangId(This,plid);
   3751 }
   3752 /*** IActiveIME2 methods ***/
   3753 static inline HRESULT IActiveIME2_Sleep(IActiveIME2* This) {
   3754     return This->lpVtbl->Sleep(This);
   3755 }
   3756 static inline HRESULT IActiveIME2_Unsleep(IActiveIME2* This,WINBOOL fDead) {
   3757     return This->lpVtbl->Unsleep(This,fDead);
   3758 }
   3759 #endif
   3760 #endif
   3761 
   3762 #endif
   3763 
   3764 
   3765 #endif  /* __IActiveIME2_INTERFACE_DEFINED__ */
   3766 
   3767 /*****************************************************************************
   3768  * IEnumRegisterWordA interface
   3769  */
   3770 #ifndef __IEnumRegisterWordA_INTERFACE_DEFINED__
   3771 #define __IEnumRegisterWordA_INTERFACE_DEFINED__
   3772 
   3773 DEFINE_GUID(IID_IEnumRegisterWordA, 0x08c03412, 0xf96b, 0x11d0, 0xa4,0x75, 0x00,0xaa,0x00,0x6b,0xcc,0x59);
   3774 #if defined(__cplusplus) && !defined(CINTERFACE)
   3775 MIDL_INTERFACE("08c03412-f96b-11d0-a475-00aa006bcc59")
   3776 IEnumRegisterWordA : public IUnknown
   3777 {
   3778     virtual HRESULT STDMETHODCALLTYPE Clone(
   3779         IEnumRegisterWordA **ppEnum) = 0;
   3780 
   3781     virtual HRESULT STDMETHODCALLTYPE Next(
   3782         ULONG ulCount,
   3783         REGISTERWORDA *rgRegisterWord,
   3784         ULONG *pcFetched) = 0;
   3785 
   3786     virtual HRESULT STDMETHODCALLTYPE Reset(
   3787         ) = 0;
   3788 
   3789     virtual HRESULT STDMETHODCALLTYPE Skip(
   3790         ULONG ulCount) = 0;
   3791 
   3792 };
   3793 #ifdef __CRT_UUID_DECL
   3794 __CRT_UUID_DECL(IEnumRegisterWordA, 0x08c03412, 0xf96b, 0x11d0, 0xa4,0x75, 0x00,0xaa,0x00,0x6b,0xcc,0x59)
   3795 #endif
   3796 #else
   3797 typedef struct IEnumRegisterWordAVtbl {
   3798     BEGIN_INTERFACE
   3799 
   3800     /*** IUnknown methods ***/
   3801     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3802         IEnumRegisterWordA *This,
   3803         REFIID riid,
   3804         void **ppvObject);
   3805 
   3806     ULONG (STDMETHODCALLTYPE *AddRef)(
   3807         IEnumRegisterWordA *This);
   3808 
   3809     ULONG (STDMETHODCALLTYPE *Release)(
   3810         IEnumRegisterWordA *This);
   3811 
   3812     /*** IEnumRegisterWordA methods ***/
   3813     HRESULT (STDMETHODCALLTYPE *Clone)(
   3814         IEnumRegisterWordA *This,
   3815         IEnumRegisterWordA **ppEnum);
   3816 
   3817     HRESULT (STDMETHODCALLTYPE *Next)(
   3818         IEnumRegisterWordA *This,
   3819         ULONG ulCount,
   3820         REGISTERWORDA *rgRegisterWord,
   3821         ULONG *pcFetched);
   3822 
   3823     HRESULT (STDMETHODCALLTYPE *Reset)(
   3824         IEnumRegisterWordA *This);
   3825 
   3826     HRESULT (STDMETHODCALLTYPE *Skip)(
   3827         IEnumRegisterWordA *This,
   3828         ULONG ulCount);
   3829 
   3830     END_INTERFACE
   3831 } IEnumRegisterWordAVtbl;
   3832 
   3833 interface IEnumRegisterWordA {
   3834     CONST_VTBL IEnumRegisterWordAVtbl* lpVtbl;
   3835 };
   3836 
   3837 #ifdef COBJMACROS
   3838 #ifndef WIDL_C_INLINE_WRAPPERS
   3839 /*** IUnknown methods ***/
   3840 #define IEnumRegisterWordA_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3841 #define IEnumRegisterWordA_AddRef(This) (This)->lpVtbl->AddRef(This)
   3842 #define IEnumRegisterWordA_Release(This) (This)->lpVtbl->Release(This)
   3843 /*** IEnumRegisterWordA methods ***/
   3844 #define IEnumRegisterWordA_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
   3845 #define IEnumRegisterWordA_Next(This,ulCount,rgRegisterWord,pcFetched) (This)->lpVtbl->Next(This,ulCount,rgRegisterWord,pcFetched)
   3846 #define IEnumRegisterWordA_Reset(This) (This)->lpVtbl->Reset(This)
   3847 #define IEnumRegisterWordA_Skip(This,ulCount) (This)->lpVtbl->Skip(This,ulCount)
   3848 #else
   3849 /*** IUnknown methods ***/
   3850 static inline HRESULT IEnumRegisterWordA_QueryInterface(IEnumRegisterWordA* This,REFIID riid,void **ppvObject) {
   3851     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3852 }
   3853 static inline ULONG IEnumRegisterWordA_AddRef(IEnumRegisterWordA* This) {
   3854     return This->lpVtbl->AddRef(This);
   3855 }
   3856 static inline ULONG IEnumRegisterWordA_Release(IEnumRegisterWordA* This) {
   3857     return This->lpVtbl->Release(This);
   3858 }
   3859 /*** IEnumRegisterWordA methods ***/
   3860 static inline HRESULT IEnumRegisterWordA_Clone(IEnumRegisterWordA* This,IEnumRegisterWordA **ppEnum) {
   3861     return This->lpVtbl->Clone(This,ppEnum);
   3862 }
   3863 static inline HRESULT IEnumRegisterWordA_Next(IEnumRegisterWordA* This,ULONG ulCount,REGISTERWORDA *rgRegisterWord,ULONG *pcFetched) {
   3864     return This->lpVtbl->Next(This,ulCount,rgRegisterWord,pcFetched);
   3865 }
   3866 static inline HRESULT IEnumRegisterWordA_Reset(IEnumRegisterWordA* This) {
   3867     return This->lpVtbl->Reset(This);
   3868 }
   3869 static inline HRESULT IEnumRegisterWordA_Skip(IEnumRegisterWordA* This,ULONG ulCount) {
   3870     return This->lpVtbl->Skip(This,ulCount);
   3871 }
   3872 #endif
   3873 #endif
   3874 
   3875 #endif
   3876 
   3877 
   3878 #endif  /* __IEnumRegisterWordA_INTERFACE_DEFINED__ */
   3879 
   3880 /*****************************************************************************
   3881  * IEnumRegisterWordW interface
   3882  */
   3883 #ifndef __IEnumRegisterWordW_INTERFACE_DEFINED__
   3884 #define __IEnumRegisterWordW_INTERFACE_DEFINED__
   3885 
   3886 DEFINE_GUID(IID_IEnumRegisterWordW, 0x4955dd31, 0xb159, 0x11d0, 0x8f,0xcf, 0x00,0xaa,0x00,0x6b,0xcc,0x59);
   3887 #if defined(__cplusplus) && !defined(CINTERFACE)
   3888 MIDL_INTERFACE("4955dd31-b159-11d0-8fcf-00aa006bcc59")
   3889 IEnumRegisterWordW : public IUnknown
   3890 {
   3891     virtual HRESULT STDMETHODCALLTYPE Clone(
   3892         IEnumRegisterWordW **ppEnum) = 0;
   3893 
   3894     virtual HRESULT STDMETHODCALLTYPE Next(
   3895         ULONG ulCount,
   3896         REGISTERWORDW *rgRegisterWord,
   3897         ULONG *pcFetched) = 0;
   3898 
   3899     virtual HRESULT STDMETHODCALLTYPE Reset(
   3900         ) = 0;
   3901 
   3902     virtual HRESULT STDMETHODCALLTYPE Skip(
   3903         ULONG ulCount) = 0;
   3904 
   3905 };
   3906 #ifdef __CRT_UUID_DECL
   3907 __CRT_UUID_DECL(IEnumRegisterWordW, 0x4955dd31, 0xb159, 0x11d0, 0x8f,0xcf, 0x00,0xaa,0x00,0x6b,0xcc,0x59)
   3908 #endif
   3909 #else
   3910 typedef struct IEnumRegisterWordWVtbl {
   3911     BEGIN_INTERFACE
   3912 
   3913     /*** IUnknown methods ***/
   3914     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3915         IEnumRegisterWordW *This,
   3916         REFIID riid,
   3917         void **ppvObject);
   3918 
   3919     ULONG (STDMETHODCALLTYPE *AddRef)(
   3920         IEnumRegisterWordW *This);
   3921 
   3922     ULONG (STDMETHODCALLTYPE *Release)(
   3923         IEnumRegisterWordW *This);
   3924 
   3925     /*** IEnumRegisterWordW methods ***/
   3926     HRESULT (STDMETHODCALLTYPE *Clone)(
   3927         IEnumRegisterWordW *This,
   3928         IEnumRegisterWordW **ppEnum);
   3929 
   3930     HRESULT (STDMETHODCALLTYPE *Next)(
   3931         IEnumRegisterWordW *This,
   3932         ULONG ulCount,
   3933         REGISTERWORDW *rgRegisterWord,
   3934         ULONG *pcFetched);
   3935 
   3936     HRESULT (STDMETHODCALLTYPE *Reset)(
   3937         IEnumRegisterWordW *This);
   3938 
   3939     HRESULT (STDMETHODCALLTYPE *Skip)(
   3940         IEnumRegisterWordW *This,
   3941         ULONG ulCount);
   3942 
   3943     END_INTERFACE
   3944 } IEnumRegisterWordWVtbl;
   3945 
   3946 interface IEnumRegisterWordW {
   3947     CONST_VTBL IEnumRegisterWordWVtbl* lpVtbl;
   3948 };
   3949 
   3950 #ifdef COBJMACROS
   3951 #ifndef WIDL_C_INLINE_WRAPPERS
   3952 /*** IUnknown methods ***/
   3953 #define IEnumRegisterWordW_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3954 #define IEnumRegisterWordW_AddRef(This) (This)->lpVtbl->AddRef(This)
   3955 #define IEnumRegisterWordW_Release(This) (This)->lpVtbl->Release(This)
   3956 /*** IEnumRegisterWordW methods ***/
   3957 #define IEnumRegisterWordW_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
   3958 #define IEnumRegisterWordW_Next(This,ulCount,rgRegisterWord,pcFetched) (This)->lpVtbl->Next(This,ulCount,rgRegisterWord,pcFetched)
   3959 #define IEnumRegisterWordW_Reset(This) (This)->lpVtbl->Reset(This)
   3960 #define IEnumRegisterWordW_Skip(This,ulCount) (This)->lpVtbl->Skip(This,ulCount)
   3961 #else
   3962 /*** IUnknown methods ***/
   3963 static inline HRESULT IEnumRegisterWordW_QueryInterface(IEnumRegisterWordW* This,REFIID riid,void **ppvObject) {
   3964     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3965 }
   3966 static inline ULONG IEnumRegisterWordW_AddRef(IEnumRegisterWordW* This) {
   3967     return This->lpVtbl->AddRef(This);
   3968 }
   3969 static inline ULONG IEnumRegisterWordW_Release(IEnumRegisterWordW* This) {
   3970     return This->lpVtbl->Release(This);
   3971 }
   3972 /*** IEnumRegisterWordW methods ***/
   3973 static inline HRESULT IEnumRegisterWordW_Clone(IEnumRegisterWordW* This,IEnumRegisterWordW **ppEnum) {
   3974     return This->lpVtbl->Clone(This,ppEnum);
   3975 }
   3976 static inline HRESULT IEnumRegisterWordW_Next(IEnumRegisterWordW* This,ULONG ulCount,REGISTERWORDW *rgRegisterWord,ULONG *pcFetched) {
   3977     return This->lpVtbl->Next(This,ulCount,rgRegisterWord,pcFetched);
   3978 }
   3979 static inline HRESULT IEnumRegisterWordW_Reset(IEnumRegisterWordW* This) {
   3980     return This->lpVtbl->Reset(This);
   3981 }
   3982 static inline HRESULT IEnumRegisterWordW_Skip(IEnumRegisterWordW* This,ULONG ulCount) {
   3983     return This->lpVtbl->Skip(This,ulCount);
   3984 }
   3985 #endif
   3986 #endif
   3987 
   3988 #endif
   3989 
   3990 
   3991 #endif  /* __IEnumRegisterWordW_INTERFACE_DEFINED__ */
   3992 
   3993 /*****************************************************************************
   3994  * CActiveIMM coclass
   3995  */
   3996 
   3997 DEFINE_GUID(CLSID_CActiveIMM, 0x4955dd33, 0xb159, 0x11d0, 0x8f,0xcf, 0x00,0xaa,0x00,0x6b,0xcc,0x59);
   3998 
   3999 #ifdef __cplusplus
   4000 class DECLSPEC_UUID("4955dd33-b159-11d0-8fcf-00aa006bcc59") CActiveIMM;
   4001 #ifdef __CRT_UUID_DECL
   4002 __CRT_UUID_DECL(CActiveIMM, 0x4955dd33, 0xb159, 0x11d0, 0x8f,0xcf, 0x00,0xaa,0x00,0x6b,0xcc,0x59)
   4003 #endif
   4004 #endif
   4005 
   4006 #endif /* __ActiveIMM_LIBRARY_DEFINED__ */
   4007 #endif
   4008 /* Begin additional prototypes for all interfaces */
   4009 
   4010 ULONG           __RPC_USER HWND_UserSize     (ULONG *, ULONG, HWND *);
   4011 unsigned char * __RPC_USER HWND_UserMarshal  (ULONG *, unsigned char *, HWND *);
   4012 unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
   4013 void            __RPC_USER HWND_UserFree     (ULONG *, HWND *);
   4014 ULONG           __RPC_USER HBITMAP_UserSize     (ULONG *, ULONG, HBITMAP *);
   4015 unsigned char * __RPC_USER HBITMAP_UserMarshal  (ULONG *, unsigned char *, HBITMAP *);
   4016 unsigned char * __RPC_USER HBITMAP_UserUnmarshal(ULONG *, unsigned char *, HBITMAP *);
   4017 void            __RPC_USER HBITMAP_UserFree     (ULONG *, HBITMAP *);
   4018 
   4019 /* End additional prototypes */
   4020 
   4021 #ifdef __cplusplus
   4022 }
   4023 #endif
   4024 
   4025 #endif /* __dimm_h__ */