1 /*** Autogenerated by WIDL 1.6 from include/dimm.idl - Do not edit ***/
2 
3 #ifndef __REQUIRED_RPCNDR_H_VERSION__
4 #define __REQUIRED_RPCNDR_H_VERSION__ 475
5 #endif
6 
7 #include <rpc.h>
8 #include <rpcndr.h>
9 
10 #ifndef COM_NO_WINDOWS_H
11 #include <windows.h>
12 #include <ole2.h>
13 #endif
14 
15 #ifndef __dimm_h__
16 #define __dimm_h__
17 
18 /* Forward declarations */
19 
20 #ifndef __IEnumInputContext_FWD_DEFINED__
21 #define __IEnumInputContext_FWD_DEFINED__
22 typedef interface IEnumInputContext IEnumInputContext;
23 #endif
24 
25 #ifndef __IActiveIMMRegistrar_FWD_DEFINED__
26 #define __IActiveIMMRegistrar_FWD_DEFINED__
27 typedef interface IActiveIMMRegistrar IActiveIMMRegistrar;
28 #endif
29 
30 #ifndef __IActiveIMMMessagePumpOwner_FWD_DEFINED__
31 #define __IActiveIMMMessagePumpOwner_FWD_DEFINED__
32 typedef interface IActiveIMMMessagePumpOwner IActiveIMMMessagePumpOwner;
33 #endif
34 
35 #ifndef __IActiveIMMApp_FWD_DEFINED__
36 #define __IActiveIMMApp_FWD_DEFINED__
37 typedef interface IActiveIMMApp IActiveIMMApp;
38 #endif
39 
40 #ifndef __IActiveIMMIME_FWD_DEFINED__
41 #define __IActiveIMMIME_FWD_DEFINED__
42 typedef interface IActiveIMMIME IActiveIMMIME;
43 #endif
44 
45 #ifndef __IActiveIME_FWD_DEFINED__
46 #define __IActiveIME_FWD_DEFINED__
47 typedef interface IActiveIME IActiveIME;
48 #endif
49 
50 #ifndef __IActiveIME2_FWD_DEFINED__
51 #define __IActiveIME2_FWD_DEFINED__
52 typedef interface IActiveIME2 IActiveIME2;
53 #endif
54 
55 #ifndef __IEnumRegisterWordA_FWD_DEFINED__
56 #define __IEnumRegisterWordA_FWD_DEFINED__
57 typedef interface IEnumRegisterWordA IEnumRegisterWordA;
58 #endif
59 
60 #ifndef __IEnumRegisterWordW_FWD_DEFINED__
61 #define __IEnumRegisterWordW_FWD_DEFINED__
62 typedef interface IEnumRegisterWordW IEnumRegisterWordW;
63 #endif
64 
65 #ifndef __CActiveIMM_FWD_DEFINED__
66 #define __CActiveIMM_FWD_DEFINED__
67 #ifdef __cplusplus
68 typedef class CActiveIMM CActiveIMM;
69 #else
70 typedef struct CActiveIMM CActiveIMM;
71 #endif /* defined __cplusplus */
72 #endif /* defined __CActiveIMM_FWD_DEFINED__ */
73 
74 /* Headers for imported files */
75 
76 #include <unknwn.h>
77 
78 #ifdef __cplusplus
79 extern "C" {
80 #endif
81 
82 /**
83  * This file is part of the mingw-w64 runtime package.
84  * No warranty is given; refer to the file DISCLAIMER within this package.
85  */
86 
87 #ifndef __IEnumRegisterWordA_FWD_DEFINED__
88 #define __IEnumRegisterWordA_FWD_DEFINED__
89 typedef interface IEnumRegisterWordA IEnumRegisterWordA;
90 #endif
91 
92 #ifndef __IEnumRegisterWordW_FWD_DEFINED__
93 #define __IEnumRegisterWordW_FWD_DEFINED__
94 typedef interface IEnumRegisterWordW IEnumRegisterWordW;
95 #endif
96 
97 #include <winapifamily.h>
98 
99 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
100 
101 DEFINE_GUID(LIBID_ActiveIMM, 0x4955dd30, 0xb159, 0x11d0, 0x8f,0xcf, 0x00,0xaa,0x00,0x6b,0xcc,0x59);
102 
103 #include <imm.h>
104 #if 0
105 typedef WORD LANGID;
106 typedef struct __WIDL_dimm_generated_name_00000002 {
107     LPSTR lpReading;
108     LPSTR lpWord;
109 } REGISTERWORDA;
110 typedef struct __WIDL_dimm_generated_name_00000003 {
111     LPWSTR lpReading;
112     LPWSTR lpWord;
113 } REGISTERWORDW;
114 typedef struct __WIDL_dimm_generated_name_00000004 {
115     LONG lfHeight;
116     LONG lfWidth;
117     LONG lfEscapement;
118     LONG lfOrientation;
119     LONG lfWeight;
120     BYTE lfItalic;
121     BYTE lfUnderline;
122     BYTE lfStrikeOut;
123     BYTE lfCharSet;
124     BYTE lfOutPrecision;
125     BYTE lfClipPrecision;
126     BYTE lfQuality;
127     BYTE lfPitchAndFamily;
128     CHAR lfFaceName[32];
129 } LOGFONTA;
130 typedef struct __WIDL_dimm_generated_name_00000005 {
131     LONG lfHeight;
132     LONG lfWidth;
133     LONG lfEscapement;
134     LONG lfOrientation;
135     LONG lfWeight;
136     BYTE lfItalic;
137     BYTE lfUnderline;
138     BYTE lfStrikeOut;
139     BYTE lfCharSet;
140     BYTE lfOutPrecision;
141     BYTE lfClipPrecision;
142     BYTE lfQuality;
143     BYTE lfPitchAndFamily;
144     WCHAR lfFaceName[32];
145 } LOGFONTW;
146 typedef DWORD HIMC;
147 typedef DWORD HIMCC;
148 typedef struct __WIDL_dimm_generated_name_00000006 {
149     DWORD dwIndex;
150     DWORD dwStyle;
151     POINT ptCurrentPos;
152     RECT rcArea;
153 } CANDIDATEFORM;
154 typedef struct __WIDL_dimm_generated_name_00000007 {
155     DWORD dwStyle;
156     POINT ptCurrentPos;
157     RECT rcArea;
158 } COMPOSITIONFORM;
159 typedef struct __WIDL_dimm_generated_name_00000008 {
160     DWORD dwSize;
161     DWORD dwStyle;
162     DWORD dwCount;
163     DWORD dwSelection;
164     DWORD dwPageStart;
165     DWORD dwPageSize;
166     DWORD dwOffset[1];
167 } CANDIDATELIST;
168 typedef struct __WIDL_dimm_generated_name_00000009 {
169     DWORD dwStyle;
170     CHAR szDescription[32];
171 } STYLEBUFA;
172 typedef struct __WIDL_dimm_generated_name_0000000A {
173     DWORD dwStyle;
174     WCHAR szDescription[32];
175 } STYLEBUFW;
176 typedef WORD ATOM;
177 typedef struct __WIDL_dimm_generated_name_0000000B {
178     UINT cbSize;
179     UINT fType;
180     UINT fState;
181     UINT wID;
182     HBITMAP hbmpChecked;
183     HBITMAP hbmpUnchecked;
184     DWORD dwItemData;
185     CHAR szString[80];
186     HBITMAP hbmpItem;
187 } IMEMENUITEMINFOA;
188 typedef struct __WIDL_dimm_generated_name_0000000C {
189     UINT cbSize;
190     UINT fType;
191     UINT fState;
192     UINT wID;
193     HBITMAP hbmpChecked;
194     HBITMAP hbmpUnchecked;
195     DWORD dwItemData;
196     WCHAR szString[80];
197     HBITMAP hbmpItem;
198 } IMEMENUITEMINFOW;
199 #endif
200 #ifndef _DDKIMM_H_
201 typedef struct __WIDL_dimm_generated_name_0000000D {
202     HWND hWnd;
203     WINBOOL fOpen;
204     POINT ptStatusWndPos;
205     POINT ptSoftKbdPos;
206     DWORD fdwConversion;
207     DWORD fdwSentence;
208     union {
209         LOGFONTA A;
210         LOGFONTW W;
211     } lfFont;
212     COMPOSITIONFORM cfCompForm;
213     CANDIDATEFORM cfCandForm[4];
214     HIMCC hCompStr;
215     HIMCC hCandInfo;
216     HIMCC hGuideLine;
217     HIMCC hPrivate;
218     DWORD dwNumMsgBuf;
219     HIMCC hMsgBuf;
220     DWORD fdwInit;
221     DWORD dwReserve[3];
222 } INPUTCONTEXT;
223 typedef struct __WIDL_dimm_generated_name_0000000E {
224     DWORD dwPrivateDataSize;
225     DWORD fdwProperty;
226     DWORD fdwConversionCaps;
227     DWORD fdwSentenceCaps;
228     DWORD fdwUICaps;
229     DWORD fdwSCSCaps;
230     DWORD fdwSelectCaps;
231 } IMEINFO;
232 #endif
233 /*****************************************************************************
234  * IEnumInputContext interface
235  */
236 #ifndef __IEnumInputContext_INTERFACE_DEFINED__
237 #define __IEnumInputContext_INTERFACE_DEFINED__
238 
239 DEFINE_GUID(IID_IEnumInputContext, 0x09b5eab0, 0xf997, 0x11d1, 0x93,0xd4, 0x00,0x60,0xb0,0x67,0xb8,0x6e);
240 #if defined(__cplusplus) && !defined(CINTERFACE)
241 MIDL_INTERFACE("09b5eab0-f997-11d1-93d4-0060b067b86e")
242 IEnumInputContext : public IUnknown
243 {
244     virtual HRESULT STDMETHODCALLTYPE Clone(
245         IEnumInputContext **ppEnum) = 0;
246 
247     virtual HRESULT STDMETHODCALLTYPE Next(
248         ULONG ulCount,
249         HIMC *rgInputContext,
250         ULONG *pcFetched) = 0;
251 
252     virtual HRESULT STDMETHODCALLTYPE Reset(
253         ) = 0;
254 
255     virtual HRESULT STDMETHODCALLTYPE Skip(
256         ULONG ulCount) = 0;
257 
258 };
259 #ifdef __CRT_UUID_DECL
260 __CRT_UUID_DECL(IEnumInputContext, 0x09b5eab0, 0xf997, 0x11d1, 0x93,0xd4, 0x00,0x60,0xb0,0x67,0xb8,0x6e)
261 #endif
262 #else
263 typedef struct IEnumInputContextVtbl {
264     BEGIN_INTERFACE
265 
266     /*** IUnknown methods ***/
267     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
268         IEnumInputContext* This,
269         REFIID riid,
270         void **ppvObject);
271 
272     ULONG (STDMETHODCALLTYPE *AddRef)(
273         IEnumInputContext* This);
274 
275     ULONG (STDMETHODCALLTYPE *Release)(
276         IEnumInputContext* This);
277 
278     /*** IEnumInputContext methods ***/
279     HRESULT (STDMETHODCALLTYPE *Clone)(
280         IEnumInputContext* This,
281         IEnumInputContext **ppEnum);
282 
283     HRESULT (STDMETHODCALLTYPE *Next)(
284         IEnumInputContext* This,
285         ULONG ulCount,
286         HIMC *rgInputContext,
287         ULONG *pcFetched);
288 
289     HRESULT (STDMETHODCALLTYPE *Reset)(
290         IEnumInputContext* This);
291 
292     HRESULT (STDMETHODCALLTYPE *Skip)(
293         IEnumInputContext* This,
294         ULONG ulCount);
295 
296     END_INTERFACE
297 } IEnumInputContextVtbl;
298 interface IEnumInputContext {
299     CONST_VTBL IEnumInputContextVtbl* lpVtbl;
300 };
301 
302 #ifdef COBJMACROS
303 #ifndef WIDL_C_INLINE_WRAPPERS
304 /*** IUnknown methods ***/
305 #define IEnumInputContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
306 #define IEnumInputContext_AddRef(This) (This)->lpVtbl->AddRef(This)
307 #define IEnumInputContext_Release(This) (This)->lpVtbl->Release(This)
308 /*** IEnumInputContext methods ***/
309 #define IEnumInputContext_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
310 #define IEnumInputContext_Next(This,ulCount,rgInputContext,pcFetched) (This)->lpVtbl->Next(This,ulCount,rgInputContext,pcFetched)
311 #define IEnumInputContext_Reset(This) (This)->lpVtbl->Reset(This)
312 #define IEnumInputContext_Skip(This,ulCount) (This)->lpVtbl->Skip(This,ulCount)
313 #else
314 /*** IUnknown methods ***/
315 static FORCEINLINE HRESULT IEnumInputContext_QueryInterface(IEnumInputContext* This,REFIID riid,void **ppvObject) {
316     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
317 }
318 static FORCEINLINE ULONG IEnumInputContext_AddRef(IEnumInputContext* This) {
319     return This->lpVtbl->AddRef(This);
320 }
321 static FORCEINLINE ULONG IEnumInputContext_Release(IEnumInputContext* This) {
322     return This->lpVtbl->Release(This);
323 }
324 /*** IEnumInputContext methods ***/
325 static FORCEINLINE HRESULT IEnumInputContext_Clone(IEnumInputContext* This,IEnumInputContext **ppEnum) {
326     return This->lpVtbl->Clone(This,ppEnum);
327 }
328 static FORCEINLINE HRESULT IEnumInputContext_Next(IEnumInputContext* This,ULONG ulCount,HIMC *rgInputContext,ULONG *pcFetched) {
329     return This->lpVtbl->Next(This,ulCount,rgInputContext,pcFetched);
330 }
331 static FORCEINLINE HRESULT IEnumInputContext_Reset(IEnumInputContext* This) {
332     return This->lpVtbl->Reset(This);
333 }
334 static FORCEINLINE HRESULT IEnumInputContext_Skip(IEnumInputContext* This,ULONG ulCount) {
335     return This->lpVtbl->Skip(This,ulCount);
336 }
337 #endif
338 #endif
339 
340 #endif
341 
342 HRESULT STDMETHODCALLTYPE IEnumInputContext_Clone_Proxy(
343     IEnumInputContext* This,
344     IEnumInputContext **ppEnum);
345 void __RPC_STUB IEnumInputContext_Clone_Stub(
346     IRpcStubBuffer* This,
347     IRpcChannelBuffer* pRpcChannelBuffer,
348     PRPC_MESSAGE pRpcMessage,
349     DWORD* pdwStubPhase);
350 HRESULT STDMETHODCALLTYPE IEnumInputContext_Next_Proxy(
351     IEnumInputContext* This,
352     ULONG ulCount,
353     HIMC *rgInputContext,
354     ULONG *pcFetched);
355 void __RPC_STUB IEnumInputContext_Next_Stub(
356     IRpcStubBuffer* This,
357     IRpcChannelBuffer* pRpcChannelBuffer,
358     PRPC_MESSAGE pRpcMessage,
359     DWORD* pdwStubPhase);
360 HRESULT STDMETHODCALLTYPE IEnumInputContext_Reset_Proxy(
361     IEnumInputContext* This);
362 void __RPC_STUB IEnumInputContext_Reset_Stub(
363     IRpcStubBuffer* This,
364     IRpcChannelBuffer* pRpcChannelBuffer,
365     PRPC_MESSAGE pRpcMessage,
366     DWORD* pdwStubPhase);
367 HRESULT STDMETHODCALLTYPE IEnumInputContext_Skip_Proxy(
368     IEnumInputContext* This,
369     ULONG ulCount);
370 void __RPC_STUB IEnumInputContext_Skip_Stub(
371     IRpcStubBuffer* This,
372     IRpcChannelBuffer* pRpcChannelBuffer,
373     PRPC_MESSAGE pRpcMessage,
374     DWORD* pdwStubPhase);
375 
376 #endif  /* __IEnumInputContext_INTERFACE_DEFINED__ */
377 
378 /*****************************************************************************
379  * IActiveIMMRegistrar interface
380  */
381 #ifndef __IActiveIMMRegistrar_INTERFACE_DEFINED__
382 #define __IActiveIMMRegistrar_INTERFACE_DEFINED__
383 
384 DEFINE_GUID(IID_IActiveIMMRegistrar, 0xb3458082, 0xbd00, 0x11d1, 0x93,0x9b, 0x00,0x60,0xb0,0x67,0xb8,0x6e);
385 #if defined(__cplusplus) && !defined(CINTERFACE)
386 MIDL_INTERFACE("b3458082-bd00-11d1-939b-0060b067b86e")
387 IActiveIMMRegistrar : public IUnknown
388 {
389     virtual HRESULT STDMETHODCALLTYPE RegisterIME(
390         REFCLSID rclsid,
391         LANGID lgid,
392         LPCWSTR pszIconFile,
393         LPCWSTR pszDesc) = 0;
394 
395     virtual HRESULT STDMETHODCALLTYPE UnregisterIME(
396         REFCLSID rclsid) = 0;
397 
398 };
399 #ifdef __CRT_UUID_DECL
400 __CRT_UUID_DECL(IActiveIMMRegistrar, 0xb3458082, 0xbd00, 0x11d1, 0x93,0x9b, 0x00,0x60,0xb0,0x67,0xb8,0x6e)
401 #endif
402 #else
403 typedef struct IActiveIMMRegistrarVtbl {
404     BEGIN_INTERFACE
405 
406     /*** IUnknown methods ***/
407     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
408         IActiveIMMRegistrar* This,
409         REFIID riid,
410         void **ppvObject);
411 
412     ULONG (STDMETHODCALLTYPE *AddRef)(
413         IActiveIMMRegistrar* This);
414 
415     ULONG (STDMETHODCALLTYPE *Release)(
416         IActiveIMMRegistrar* This);
417 
418     /*** IActiveIMMRegistrar methods ***/
419     HRESULT (STDMETHODCALLTYPE *RegisterIME)(
420         IActiveIMMRegistrar* This,
421         REFCLSID rclsid,
422         LANGID lgid,
423         LPCWSTR pszIconFile,
424         LPCWSTR pszDesc);
425 
426     HRESULT (STDMETHODCALLTYPE *UnregisterIME)(
427         IActiveIMMRegistrar* This,
428         REFCLSID rclsid);
429 
430     END_INTERFACE
431 } IActiveIMMRegistrarVtbl;
432 interface IActiveIMMRegistrar {
433     CONST_VTBL IActiveIMMRegistrarVtbl* lpVtbl;
434 };
435 
436 #ifdef COBJMACROS
437 #ifndef WIDL_C_INLINE_WRAPPERS
438 /*** IUnknown methods ***/
439 #define IActiveIMMRegistrar_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
440 #define IActiveIMMRegistrar_AddRef(This) (This)->lpVtbl->AddRef(This)
441 #define IActiveIMMRegistrar_Release(This) (This)->lpVtbl->Release(This)
442 /*** IActiveIMMRegistrar methods ***/
443 #define IActiveIMMRegistrar_RegisterIME(This,rclsid,lgid,pszIconFile,pszDesc) (This)->lpVtbl->RegisterIME(This,rclsid,lgid,pszIconFile,pszDesc)
444 #define IActiveIMMRegistrar_UnregisterIME(This,rclsid) (This)->lpVtbl->UnregisterIME(This,rclsid)
445 #else
446 /*** IUnknown methods ***/
447 static FORCEINLINE HRESULT IActiveIMMRegistrar_QueryInterface(IActiveIMMRegistrar* This,REFIID riid,void **ppvObject) {
448     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
449 }
450 static FORCEINLINE ULONG IActiveIMMRegistrar_AddRef(IActiveIMMRegistrar* This) {
451     return This->lpVtbl->AddRef(This);
452 }
453 static FORCEINLINE ULONG IActiveIMMRegistrar_Release(IActiveIMMRegistrar* This) {
454     return This->lpVtbl->Release(This);
455 }
456 /*** IActiveIMMRegistrar methods ***/
457 static FORCEINLINE HRESULT IActiveIMMRegistrar_RegisterIME(IActiveIMMRegistrar* This,REFCLSID rclsid,LANGID lgid,LPCWSTR pszIconFile,LPCWSTR pszDesc) {
458     return This->lpVtbl->RegisterIME(This,rclsid,lgid,pszIconFile,pszDesc);
459 }
460 static FORCEINLINE HRESULT IActiveIMMRegistrar_UnregisterIME(IActiveIMMRegistrar* This,REFCLSID rclsid) {
461     return This->lpVtbl->UnregisterIME(This,rclsid);
462 }
463 #endif
464 #endif
465 
466 #endif
467 
468 HRESULT STDMETHODCALLTYPE IActiveIMMRegistrar_RegisterIME_Proxy(
469     IActiveIMMRegistrar* This,
470     REFCLSID rclsid,
471     LANGID lgid,
472     LPCWSTR pszIconFile,
473     LPCWSTR pszDesc);
474 void __RPC_STUB IActiveIMMRegistrar_RegisterIME_Stub(
475     IRpcStubBuffer* This,
476     IRpcChannelBuffer* pRpcChannelBuffer,
477     PRPC_MESSAGE pRpcMessage,
478     DWORD* pdwStubPhase);
479 HRESULT STDMETHODCALLTYPE IActiveIMMRegistrar_UnregisterIME_Proxy(
480     IActiveIMMRegistrar* This,
481     REFCLSID rclsid);
482 void __RPC_STUB IActiveIMMRegistrar_UnregisterIME_Stub(
483     IRpcStubBuffer* This,
484     IRpcChannelBuffer* pRpcChannelBuffer,
485     PRPC_MESSAGE pRpcMessage,
486     DWORD* pdwStubPhase);
487 
488 #endif  /* __IActiveIMMRegistrar_INTERFACE_DEFINED__ */
489 
490 /*****************************************************************************
491  * IActiveIMMMessagePumpOwner interface
492  */
493 #ifndef __IActiveIMMMessagePumpOwner_INTERFACE_DEFINED__
494 #define __IActiveIMMMessagePumpOwner_INTERFACE_DEFINED__
495 
496 DEFINE_GUID(IID_IActiveIMMMessagePumpOwner, 0xb5cf2cfa, 0x8aeb, 0x11d1, 0x93,0x64, 0x00,0x60,0xb0,0x67,0xb8,0x6e);
497 #if defined(__cplusplus) && !defined(CINTERFACE)
498 MIDL_INTERFACE("b5cf2cfa-8aeb-11d1-9364-0060b067b86e")
499 IActiveIMMMessagePumpOwner : public IUnknown
500 {
501     virtual HRESULT STDMETHODCALLTYPE Start(
502         ) = 0;
503 
504     virtual HRESULT STDMETHODCALLTYPE End(
505         ) = 0;
506 
507     virtual HRESULT STDMETHODCALLTYPE OnTranslateMessage(
508         const MSG *pMsg) = 0;
509 
510     virtual HRESULT STDMETHODCALLTYPE Pause(
511         DWORD *pdwCookie) = 0;
512 
513     virtual HRESULT STDMETHODCALLTYPE Resume(
514         DWORD dwCookie) = 0;
515 
516 };
517 #ifdef __CRT_UUID_DECL
518 __CRT_UUID_DECL(IActiveIMMMessagePumpOwner, 0xb5cf2cfa, 0x8aeb, 0x11d1, 0x93,0x64, 0x00,0x60,0xb0,0x67,0xb8,0x6e)
519 #endif
520 #else
521 typedef struct IActiveIMMMessagePumpOwnerVtbl {
522     BEGIN_INTERFACE
523 
524     /*** IUnknown methods ***/
525     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
526         IActiveIMMMessagePumpOwner* This,
527         REFIID riid,
528         void **ppvObject);
529 
530     ULONG (STDMETHODCALLTYPE *AddRef)(
531         IActiveIMMMessagePumpOwner* This);
532 
533     ULONG (STDMETHODCALLTYPE *Release)(
534         IActiveIMMMessagePumpOwner* This);
535 
536     /*** IActiveIMMMessagePumpOwner methods ***/
537     HRESULT (STDMETHODCALLTYPE *Start)(
538         IActiveIMMMessagePumpOwner* This);
539 
540     HRESULT (STDMETHODCALLTYPE *End)(
541         IActiveIMMMessagePumpOwner* This);
542 
543     HRESULT (STDMETHODCALLTYPE *OnTranslateMessage)(
544         IActiveIMMMessagePumpOwner* This,
545         const MSG *pMsg);
546 
547     HRESULT (STDMETHODCALLTYPE *Pause)(
548         IActiveIMMMessagePumpOwner* This,
549         DWORD *pdwCookie);
550 
551     HRESULT (STDMETHODCALLTYPE *Resume)(
552         IActiveIMMMessagePumpOwner* This,
553         DWORD dwCookie);
554 
555     END_INTERFACE
556 } IActiveIMMMessagePumpOwnerVtbl;
557 interface IActiveIMMMessagePumpOwner {
558     CONST_VTBL IActiveIMMMessagePumpOwnerVtbl* lpVtbl;
559 };
560 
561 #ifdef COBJMACROS
562 #ifndef WIDL_C_INLINE_WRAPPERS
563 /*** IUnknown methods ***/
564 #define IActiveIMMMessagePumpOwner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
565 #define IActiveIMMMessagePumpOwner_AddRef(This) (This)->lpVtbl->AddRef(This)
566 #define IActiveIMMMessagePumpOwner_Release(This) (This)->lpVtbl->Release(This)
567 /*** IActiveIMMMessagePumpOwner methods ***/
568 #define IActiveIMMMessagePumpOwner_Start(This) (This)->lpVtbl->Start(This)
569 #define IActiveIMMMessagePumpOwner_End(This) (This)->lpVtbl->End(This)
570 #define IActiveIMMMessagePumpOwner_OnTranslateMessage(This,pMsg) (This)->lpVtbl->OnTranslateMessage(This,pMsg)
571 #define IActiveIMMMessagePumpOwner_Pause(This,pdwCookie) (This)->lpVtbl->Pause(This,pdwCookie)
572 #define IActiveIMMMessagePumpOwner_Resume(This,dwCookie) (This)->lpVtbl->Resume(This,dwCookie)
573 #else
574 /*** IUnknown methods ***/
575 static FORCEINLINE HRESULT IActiveIMMMessagePumpOwner_QueryInterface(IActiveIMMMessagePumpOwner* This,REFIID riid,void **ppvObject) {
576     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
577 }
578 static FORCEINLINE ULONG IActiveIMMMessagePumpOwner_AddRef(IActiveIMMMessagePumpOwner* This) {
579     return This->lpVtbl->AddRef(This);
580 }
581 static FORCEINLINE ULONG IActiveIMMMessagePumpOwner_Release(IActiveIMMMessagePumpOwner* This) {
582     return This->lpVtbl->Release(This);
583 }
584 /*** IActiveIMMMessagePumpOwner methods ***/
585 static FORCEINLINE HRESULT IActiveIMMMessagePumpOwner_Start(IActiveIMMMessagePumpOwner* This) {
586     return This->lpVtbl->Start(This);
587 }
588 static FORCEINLINE HRESULT IActiveIMMMessagePumpOwner_End(IActiveIMMMessagePumpOwner* This) {
589     return This->lpVtbl->End(This);
590 }
591 static FORCEINLINE HRESULT IActiveIMMMessagePumpOwner_OnTranslateMessage(IActiveIMMMessagePumpOwner* This,const MSG *pMsg) {
592     return This->lpVtbl->OnTranslateMessage(This,pMsg);
593 }
594 static FORCEINLINE HRESULT IActiveIMMMessagePumpOwner_Pause(IActiveIMMMessagePumpOwner* This,DWORD *pdwCookie) {
595     return This->lpVtbl->Pause(This,pdwCookie);
596 }
597 static FORCEINLINE HRESULT IActiveIMMMessagePumpOwner_Resume(IActiveIMMMessagePumpOwner* This,DWORD dwCookie) {
598     return This->lpVtbl->Resume(This,dwCookie);
599 }
600 #endif
601 #endif
602 
603 #endif
604 
605 HRESULT STDMETHODCALLTYPE IActiveIMMMessagePumpOwner_Start_Proxy(
606     IActiveIMMMessagePumpOwner* This);
607 void __RPC_STUB IActiveIMMMessagePumpOwner_Start_Stub(
608     IRpcStubBuffer* This,
609     IRpcChannelBuffer* pRpcChannelBuffer,
610     PRPC_MESSAGE pRpcMessage,
611     DWORD* pdwStubPhase);
612 HRESULT STDMETHODCALLTYPE IActiveIMMMessagePumpOwner_End_Proxy(
613     IActiveIMMMessagePumpOwner* This);
614 void __RPC_STUB IActiveIMMMessagePumpOwner_End_Stub(
615     IRpcStubBuffer* This,
616     IRpcChannelBuffer* pRpcChannelBuffer,
617     PRPC_MESSAGE pRpcMessage,
618     DWORD* pdwStubPhase);
619 HRESULT STDMETHODCALLTYPE IActiveIMMMessagePumpOwner_OnTranslateMessage_Proxy(
620     IActiveIMMMessagePumpOwner* This,
621     const MSG *pMsg);
622 void __RPC_STUB IActiveIMMMessagePumpOwner_OnTranslateMessage_Stub(
623     IRpcStubBuffer* This,
624     IRpcChannelBuffer* pRpcChannelBuffer,
625     PRPC_MESSAGE pRpcMessage,
626     DWORD* pdwStubPhase);
627 HRESULT STDMETHODCALLTYPE IActiveIMMMessagePumpOwner_Pause_Proxy(
628     IActiveIMMMessagePumpOwner* This,
629     DWORD *pdwCookie);
630 void __RPC_STUB IActiveIMMMessagePumpOwner_Pause_Stub(
631     IRpcStubBuffer* This,
632     IRpcChannelBuffer* pRpcChannelBuffer,
633     PRPC_MESSAGE pRpcMessage,
634     DWORD* pdwStubPhase);
635 HRESULT STDMETHODCALLTYPE IActiveIMMMessagePumpOwner_Resume_Proxy(
636     IActiveIMMMessagePumpOwner* This,
637     DWORD dwCookie);
638 void __RPC_STUB IActiveIMMMessagePumpOwner_Resume_Stub(
639     IRpcStubBuffer* This,
640     IRpcChannelBuffer* pRpcChannelBuffer,
641     PRPC_MESSAGE pRpcMessage,
642     DWORD* pdwStubPhase);
643 
644 #endif  /* __IActiveIMMMessagePumpOwner_INTERFACE_DEFINED__ */
645 
646 /*****************************************************************************
647  * IActiveIMMApp interface
648  */
649 #ifndef __IActiveIMMApp_INTERFACE_DEFINED__
650 #define __IActiveIMMApp_INTERFACE_DEFINED__
651 
652 DEFINE_GUID(IID_IActiveIMMApp, 0x08c0e040, 0x62d1, 0x11d1, 0x93,0x26, 0x00,0x60,0xb0,0x67,0xb8,0x6e);
653 #if defined(__cplusplus) && !defined(CINTERFACE)
654 MIDL_INTERFACE("08c0e040-62d1-11d1-9326-0060b067b86e")
655 IActiveIMMApp : public IUnknown
656 {
657     virtual HRESULT STDMETHODCALLTYPE AssociateContext(
658         HWND hWnd,
659         HIMC hIME,
660         HIMC *phPrev) = 0;
661 
662     virtual HRESULT STDMETHODCALLTYPE ConfigureIMEA(
663         HKL hKL,
664         HWND hWnd,
665         DWORD dwMode,
666         REGISTERWORDA *pData) = 0;
667 
668     virtual HRESULT STDMETHODCALLTYPE ConfigureIMEW(
669         HKL hKL,
670         HWND hWnd,
671         DWORD dwMode,
672         REGISTERWORDW *pData) = 0;
673 
674     virtual HRESULT STDMETHODCALLTYPE CreateContext(
675         HIMC *phIMC) = 0;
676 
677     virtual HRESULT STDMETHODCALLTYPE DestroyContext(
678         HIMC hIME) = 0;
679 
680     virtual HRESULT STDMETHODCALLTYPE EnumRegisterWordA(
681         HKL hKL,
682         LPSTR szReading,
683         DWORD dwStyle,
684         LPSTR szRegister,
685         LPVOID pData,
686         IEnumRegisterWordA **pEnum) = 0;
687 
688     virtual HRESULT STDMETHODCALLTYPE EnumRegisterWordW(
689         HKL hKL,
690         LPWSTR szReading,
691         DWORD dwStyle,
692         LPWSTR szRegister,
693         LPVOID pData,
694         IEnumRegisterWordW **pEnum) = 0;
695 
696     virtual HRESULT STDMETHODCALLTYPE EscapeA(
697         HKL hKL,
698         HIMC hIMC,
699         UINT uEscape,
700         LPVOID pData,
701         LRESULT *plResult) = 0;
702 
703     virtual HRESULT STDMETHODCALLTYPE EscapeW(
704         HKL hKL,
705         HIMC hIMC,
706         UINT uEscape,
707         LPVOID pData,
708         LRESULT *plResult) = 0;
709 
710     virtual HRESULT STDMETHODCALLTYPE GetCandidateListA(
711         HIMC hIMC,
712         DWORD dwIndex,
713         UINT uBufLen,
714         CANDIDATELIST *pCandList,
715         UINT *puCopied) = 0;
716 
717     virtual HRESULT STDMETHODCALLTYPE GetCandidateListW(
718         HIMC hIMC,
719         DWORD dwIndex,
720         UINT uBufLen,
721         CANDIDATELIST *pCandList,
722         UINT *puCopied) = 0;
723 
724     virtual HRESULT STDMETHODCALLTYPE GetCandidateListCountA(
725         HIMC hIMC,
726         DWORD *pdwListSize,
727         DWORD *pdwBufLen) = 0;
728 
729     virtual HRESULT STDMETHODCALLTYPE GetCandidateListCountW(
730         HIMC hIMC,
731         DWORD *pdwListSize,
732         DWORD *pdwBufLen) = 0;
733 
734     virtual HRESULT STDMETHODCALLTYPE GetCandidateWindow(
735         HIMC hIMC,
736         DWORD dwIndex,
737         CANDIDATEFORM *pCandidate) = 0;
738 
739     virtual HRESULT STDMETHODCALLTYPE GetCompositionFontA(
740         HIMC hIMC,
741         LOGFONTA *plf) = 0;
742 
743     virtual HRESULT STDMETHODCALLTYPE GetCompositionFontW(
744         HIMC hIMC,
745         LOGFONTW *plf) = 0;
746 
747     virtual HRESULT STDMETHODCALLTYPE GetCompositionStringA(
748         HIMC hIMC,
749         DWORD dwIndex,
750         DWORD dwBufLen,
751         LONG *plCopied,
752         LPVOID pBuf) = 0;
753 
754     virtual HRESULT STDMETHODCALLTYPE GetCompositionStringW(
755         HIMC hIMC,
756         DWORD dwIndex,
757         DWORD dwBufLen,
758         LONG *plCopied,
759         LPVOID pBuf) = 0;
760 
761     virtual HRESULT STDMETHODCALLTYPE GetCompositionWindow(
762         HIMC hIMC,
763         COMPOSITIONFORM *pCompForm) = 0;
764 
765     virtual HRESULT STDMETHODCALLTYPE GetContext(
766         HWND hWnd,
767         HIMC *phIMC) = 0;
768 
769     virtual HRESULT STDMETHODCALLTYPE GetConversionListA(
770         HKL hKL,
771         HIMC hIMC,
772         LPSTR pSrc,
773         UINT uBufLen,
774         UINT uFlag,
775         CANDIDATELIST *pDst,
776         UINT *puCopied) = 0;
777 
778     virtual HRESULT STDMETHODCALLTYPE GetConversionListW(
779         HKL hKL,
780         HIMC hIMC,
781         LPWSTR pSrc,
782         UINT uBufLen,
783         UINT uFlag,
784         CANDIDATELIST *pDst,
785         UINT *puCopied) = 0;
786 
787     virtual HRESULT STDMETHODCALLTYPE GetConversionStatus(
788         HIMC hIMC,
789         DWORD *pfdwConversion,
790         DWORD *pfdwSentence) = 0;
791 
792     virtual HRESULT STDMETHODCALLTYPE GetDefaultIMEWnd(
793         HWND hWnd,
794         HWND *phDefWnd) = 0;
795 
796     virtual HRESULT STDMETHODCALLTYPE GetDescriptionA(
797         HKL hKL,
798         UINT uBufLen,
799         LPSTR szDescription,
800         UINT *puCopied) = 0;
801 
802     virtual HRESULT STDMETHODCALLTYPE GetDescriptionW(
803         HKL hKL,
804         UINT uBufLen,
805         LPWSTR szDescription,
806         UINT *puCopied) = 0;
807 
808     virtual HRESULT STDMETHODCALLTYPE GetGuideLineA(
809         HIMC hIMC,
810         DWORD dwIndex,
811         DWORD dwBufLen,
812         LPSTR pBuf,
813         DWORD *pdwResult) = 0;
814 
815     virtual HRESULT STDMETHODCALLTYPE GetGuideLineW(
816         HIMC hIMC,
817         DWORD dwIndex,
818         DWORD dwBufLen,
819         LPWSTR pBuf,
820         DWORD *pdwResult) = 0;
821 
822     virtual HRESULT STDMETHODCALLTYPE GetIMEFileNameA(
823         HKL hKL,
824         UINT uBufLen,
825         LPSTR szFileName,
826         UINT *puCopied) = 0;
827 
828     virtual HRESULT STDMETHODCALLTYPE GetIMEFileNameW(
829         HKL hKL,
830         UINT uBufLen,
831         LPWSTR szFileName,
832         UINT *puCopied) = 0;
833 
834     virtual HRESULT STDMETHODCALLTYPE GetOpenStatus(
835         HIMC hIMC) = 0;
836 
837     virtual HRESULT STDMETHODCALLTYPE GetProperty(
838         HKL hKL,
839         DWORD fdwIndex,
840         DWORD *pdwProperty) = 0;
841 
842     virtual HRESULT STDMETHODCALLTYPE GetRegisterWordStyleA(
843         HKL hKL,
844         UINT nItem,
845         STYLEBUFA *pStyleBuf,
846         UINT *puCopied) = 0;
847 
848     virtual HRESULT STDMETHODCALLTYPE GetRegisterWordStyleW(
849         HKL hKL,
850         UINT nItem,
851         STYLEBUFW *pStyleBuf,
852         UINT *puCopied) = 0;
853 
854     virtual HRESULT STDMETHODCALLTYPE GetStatusWindowPos(
855         HIMC hIMC,
856         POINT *pptPos) = 0;
857 
858     virtual HRESULT STDMETHODCALLTYPE GetVirtualKey(
859         HWND hWnd,
860         UINT *puVirtualKey) = 0;
861 
862     virtual HRESULT STDMETHODCALLTYPE InstallIMEA(
863         LPSTR szIMEFileName,
864         LPSTR szLayoutText,
865         HKL *phKL) = 0;
866 
867     virtual HRESULT STDMETHODCALLTYPE InstallIMEW(
868         LPWSTR szIMEFileName,
869         LPWSTR szLayoutText,
870         HKL *phKL) = 0;
871 
872     virtual HRESULT STDMETHODCALLTYPE IsIME(
873         HKL hKL) = 0;
874 
875     virtual HRESULT STDMETHODCALLTYPE IsUIMessageA(
876         HWND hWndIME,
877         UINT msg,
878         WPARAM wParam,
879         LPARAM lParam) = 0;
880 
881     virtual HRESULT STDMETHODCALLTYPE IsUIMessageW(
882         HWND hWndIME,
883         UINT msg,
884         WPARAM wParam,
885         LPARAM lParam) = 0;
886 
887     virtual HRESULT STDMETHODCALLTYPE NotifyIME(
888         HIMC hIMC,
889         DWORD dwAction,
890         DWORD dwIndex,
891         DWORD dwValue) = 0;
892 
893     virtual HRESULT STDMETHODCALLTYPE RegisterWordA(
894         HKL hKL,
895         LPSTR szReading,
896         DWORD dwStyle,
897         LPSTR szRegister) = 0;
898 
899     virtual HRESULT STDMETHODCALLTYPE RegisterWordW(
900         HKL hKL,
901         LPWSTR szReading,
902         DWORD dwStyle,
903         LPWSTR szRegister) = 0;
904 
905     virtual HRESULT STDMETHODCALLTYPE ReleaseContext(
906         HWND hWnd,
907         HIMC hIMC) = 0;
908 
909     virtual HRESULT STDMETHODCALLTYPE SetCandidateWindow(
910         HIMC hIMC,
911         CANDIDATEFORM *pCandidate) = 0;
912 
913     virtual HRESULT STDMETHODCALLTYPE SetCompositionFontA(
914         HIMC hIMC,
915         LOGFONTA *plf) = 0;
916 
917     virtual HRESULT STDMETHODCALLTYPE SetCompositionFontW(
918         HIMC hIMC,
919         LOGFONTW *plf) = 0;
920 
921     virtual HRESULT STDMETHODCALLTYPE SetCompositionStringA(
922         HIMC hIMC,
923         DWORD dwIndex,
924         LPVOID pComp,
925         DWORD dwCompLen,
926         LPVOID pRead,
927         DWORD dwReadLen) = 0;
928 
929     virtual HRESULT STDMETHODCALLTYPE SetCompositionStringW(
930         HIMC hIMC,
931         DWORD dwIndex,
932         LPVOID pComp,
933         DWORD dwCompLen,
934         LPVOID pRead,
935         DWORD dwReadLen) = 0;
936 
937     virtual HRESULT STDMETHODCALLTYPE SetCompositionWindow(
938         HIMC hIMC,
939         COMPOSITIONFORM *pCompForm) = 0;
940 
941     virtual HRESULT STDMETHODCALLTYPE SetConversionStatus(
942         HIMC hIMC,
943         DWORD fdwConversion,
944         DWORD fdwSentence) = 0;
945 
946     virtual HRESULT STDMETHODCALLTYPE SetOpenStatus(
947         HIMC hIMC,
948         WINBOOL fOpen) = 0;
949 
950     virtual HRESULT STDMETHODCALLTYPE SetStatusWindowPos(
951         HIMC hIMC,
952         POINT *pptPos) = 0;
953 
954     virtual HRESULT STDMETHODCALLTYPE SimulateHotKey(
955         HWND hWnd,
956         DWORD dwHotKeyID) = 0;
957 
958     virtual HRESULT STDMETHODCALLTYPE UnregisterWordA(
959         HKL hKL,
960         LPSTR szReading,
961         DWORD dwStyle,
962         LPSTR szUnregister) = 0;
963 
964     virtual HRESULT STDMETHODCALLTYPE UnregisterWordW(
965         HKL hKL,
966         LPWSTR szReading,
967         DWORD dwStyle,
968         LPWSTR szUnregister) = 0;
969 
970     virtual HRESULT STDMETHODCALLTYPE Activate(
971         WINBOOL fRestoreLayout) = 0;
972 
973     virtual HRESULT STDMETHODCALLTYPE Deactivate(
974         ) = 0;
975 
976     virtual HRESULT STDMETHODCALLTYPE OnDefWindowProc(
977         HWND hWnd,
978         UINT Msg,
979         WPARAM wParam,
980         LPARAM lParam,
981         LRESULT *plResult) = 0;
982 
983     virtual HRESULT STDMETHODCALLTYPE FilterClientWindows(
984         ATOM *aaClassList,
985         UINT uSize) = 0;
986 
987     virtual HRESULT STDMETHODCALLTYPE GetCodePageA(
988         HKL hKL,
989         UINT *uCodePage) = 0;
990 
991     virtual HRESULT STDMETHODCALLTYPE GetLangId(
992         HKL hKL,
993         LANGID *plid) = 0;
994 
995     virtual HRESULT STDMETHODCALLTYPE AssociateContextEx(
996         HWND hWnd,
997         HIMC hIMC,
998         DWORD dwFlags) = 0;
999 
1000     virtual HRESULT STDMETHODCALLTYPE DisableIME(
1001         DWORD idThread) = 0;
1002 
1003     virtual HRESULT STDMETHODCALLTYPE GetImeMenuItemsA(
1004         HIMC hIMC,
1005         DWORD dwFlags,
1006         DWORD dwType,
1007         IMEMENUITEMINFOA *pImeParentMenu,
1008         IMEMENUITEMINFOA *pImeMenu,
1009         DWORD dwSize,
1010         DWORD *pdwResult) = 0;
1011 
1012     virtual HRESULT STDMETHODCALLTYPE GetImeMenuItemsW(
1013         HIMC hIMC,
1014         DWORD dwFlags,
1015         DWORD dwType,
1016         IMEMENUITEMINFOW *pImeParentMenu,
1017         IMEMENUITEMINFOW *pImeMenu,
1018         DWORD dwSize,
1019         DWORD *pdwResult) = 0;
1020 
1021     virtual HRESULT STDMETHODCALLTYPE EnumInputContext(
1022         DWORD idThread,
1023         IEnumInputContext **ppEnum) = 0;
1024 
1025 };
1026 #ifdef __CRT_UUID_DECL
1027 __CRT_UUID_DECL(IActiveIMMApp, 0x08c0e040, 0x62d1, 0x11d1, 0x93,0x26, 0x00,0x60,0xb0,0x67,0xb8,0x6e)
1028 #endif
1029 #else
1030 typedef struct IActiveIMMAppVtbl {
1031     BEGIN_INTERFACE
1032 
1033     /*** IUnknown methods ***/
1034     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1035         IActiveIMMApp* This,
1036         REFIID riid,
1037         void **ppvObject);
1038 
1039     ULONG (STDMETHODCALLTYPE *AddRef)(
1040         IActiveIMMApp* This);
1041 
1042     ULONG (STDMETHODCALLTYPE *Release)(
1043         IActiveIMMApp* This);
1044 
1045     /*** IActiveIMMApp methods ***/
1046     HRESULT (STDMETHODCALLTYPE *AssociateContext)(
1047         IActiveIMMApp* This,
1048         HWND hWnd,
1049         HIMC hIME,
1050         HIMC *phPrev);
1051 
1052     HRESULT (STDMETHODCALLTYPE *ConfigureIMEA)(
1053         IActiveIMMApp* This,
1054         HKL hKL,
1055         HWND hWnd,
1056         DWORD dwMode,
1057         REGISTERWORDA *pData);
1058 
1059     HRESULT (STDMETHODCALLTYPE *ConfigureIMEW)(
1060         IActiveIMMApp* This,
1061         HKL hKL,
1062         HWND hWnd,
1063         DWORD dwMode,
1064         REGISTERWORDW *pData);
1065 
1066     HRESULT (STDMETHODCALLTYPE *CreateContext)(
1067         IActiveIMMApp* This,
1068         HIMC *phIMC);
1069 
1070     HRESULT (STDMETHODCALLTYPE *DestroyContext)(
1071         IActiveIMMApp* This,
1072         HIMC hIME);
1073 
1074     HRESULT (STDMETHODCALLTYPE *EnumRegisterWordA)(
1075         IActiveIMMApp* This,
1076         HKL hKL,
1077         LPSTR szReading,
1078         DWORD dwStyle,
1079         LPSTR szRegister,
1080         LPVOID pData,
1081         IEnumRegisterWordA **pEnum);
1082 
1083     HRESULT (STDMETHODCALLTYPE *EnumRegisterWordW)(
1084         IActiveIMMApp* This,
1085         HKL hKL,
1086         LPWSTR szReading,
1087         DWORD dwStyle,
1088         LPWSTR szRegister,
1089         LPVOID pData,
1090         IEnumRegisterWordW **pEnum);
1091 
1092     HRESULT (STDMETHODCALLTYPE *EscapeA)(
1093         IActiveIMMApp* This,
1094         HKL hKL,
1095         HIMC hIMC,
1096         UINT uEscape,
1097         LPVOID pData,
1098         LRESULT *plResult);
1099 
1100     HRESULT (STDMETHODCALLTYPE *EscapeW)(
1101         IActiveIMMApp* This,
1102         HKL hKL,
1103         HIMC hIMC,
1104         UINT uEscape,
1105         LPVOID pData,
1106         LRESULT *plResult);
1107 
1108     HRESULT (STDMETHODCALLTYPE *GetCandidateListA)(
1109         IActiveIMMApp* This,
1110         HIMC hIMC,
1111         DWORD dwIndex,
1112         UINT uBufLen,
1113         CANDIDATELIST *pCandList,
1114         UINT *puCopied);
1115 
1116     HRESULT (STDMETHODCALLTYPE *GetCandidateListW)(
1117         IActiveIMMApp* This,
1118         HIMC hIMC,
1119         DWORD dwIndex,
1120         UINT uBufLen,
1121         CANDIDATELIST *pCandList,
1122         UINT *puCopied);
1123 
1124     HRESULT (STDMETHODCALLTYPE *GetCandidateListCountA)(
1125         IActiveIMMApp* This,
1126         HIMC hIMC,
1127         DWORD *pdwListSize,
1128         DWORD *pdwBufLen);
1129 
1130     HRESULT (STDMETHODCALLTYPE *GetCandidateListCountW)(
1131         IActiveIMMApp* This,
1132         HIMC hIMC,
1133         DWORD *pdwListSize,
1134         DWORD *pdwBufLen);
1135 
1136     HRESULT (STDMETHODCALLTYPE *GetCandidateWindow)(
1137         IActiveIMMApp* This,
1138         HIMC hIMC,
1139         DWORD dwIndex,
1140         CANDIDATEFORM *pCandidate);
1141 
1142     HRESULT (STDMETHODCALLTYPE *GetCompositionFontA)(
1143         IActiveIMMApp* This,
1144         HIMC hIMC,
1145         LOGFONTA *plf);
1146 
1147     HRESULT (STDMETHODCALLTYPE *GetCompositionFontW)(
1148         IActiveIMMApp* This,
1149         HIMC hIMC,
1150         LOGFONTW *plf);
1151 
1152     HRESULT (STDMETHODCALLTYPE *GetCompositionStringA)(
1153         IActiveIMMApp* This,
1154         HIMC hIMC,
1155         DWORD dwIndex,
1156         DWORD dwBufLen,
1157         LONG *plCopied,
1158         LPVOID pBuf);
1159 
1160     HRESULT (STDMETHODCALLTYPE *GetCompositionStringW)(
1161         IActiveIMMApp* This,
1162         HIMC hIMC,
1163         DWORD dwIndex,
1164         DWORD dwBufLen,
1165         LONG *plCopied,
1166         LPVOID pBuf);
1167 
1168     HRESULT (STDMETHODCALLTYPE *GetCompositionWindow)(
1169         IActiveIMMApp* This,
1170         HIMC hIMC,
1171         COMPOSITIONFORM *pCompForm);
1172 
1173     HRESULT (STDMETHODCALLTYPE *GetContext)(
1174         IActiveIMMApp* This,
1175         HWND hWnd,
1176         HIMC *phIMC);
1177 
1178     HRESULT (STDMETHODCALLTYPE *GetConversionListA)(
1179         IActiveIMMApp* This,
1180         HKL hKL,
1181         HIMC hIMC,
1182         LPSTR pSrc,
1183         UINT uBufLen,
1184         UINT uFlag,
1185         CANDIDATELIST *pDst,
1186         UINT *puCopied);
1187 
1188     HRESULT (STDMETHODCALLTYPE *GetConversionListW)(
1189         IActiveIMMApp* This,
1190         HKL hKL,
1191         HIMC hIMC,
1192         LPWSTR pSrc,
1193         UINT uBufLen,
1194         UINT uFlag,
1195         CANDIDATELIST *pDst,
1196         UINT *puCopied);
1197 
1198     HRESULT (STDMETHODCALLTYPE *GetConversionStatus)(
1199         IActiveIMMApp* This,
1200         HIMC hIMC,
1201         DWORD *pfdwConversion,
1202         DWORD *pfdwSentence);
1203 
1204     HRESULT (STDMETHODCALLTYPE *GetDefaultIMEWnd)(
1205         IActiveIMMApp* This,
1206         HWND hWnd,
1207         HWND *phDefWnd);
1208 
1209     HRESULT (STDMETHODCALLTYPE *GetDescriptionA)(
1210         IActiveIMMApp* This,
1211         HKL hKL,
1212         UINT uBufLen,
1213         LPSTR szDescription,
1214         UINT *puCopied);
1215 
1216     HRESULT (STDMETHODCALLTYPE *GetDescriptionW)(
1217         IActiveIMMApp* This,
1218         HKL hKL,
1219         UINT uBufLen,
1220         LPWSTR szDescription,
1221         UINT *puCopied);
1222 
1223     HRESULT (STDMETHODCALLTYPE *GetGuideLineA)(
1224         IActiveIMMApp* This,
1225         HIMC hIMC,
1226         DWORD dwIndex,
1227         DWORD dwBufLen,
1228         LPSTR pBuf,
1229         DWORD *pdwResult);
1230 
1231     HRESULT (STDMETHODCALLTYPE *GetGuideLineW)(
1232         IActiveIMMApp* This,
1233         HIMC hIMC,
1234         DWORD dwIndex,
1235         DWORD dwBufLen,
1236         LPWSTR pBuf,
1237         DWORD *pdwResult);
1238 
1239     HRESULT (STDMETHODCALLTYPE *GetIMEFileNameA)(
1240         IActiveIMMApp* This,
1241         HKL hKL,
1242         UINT uBufLen,
1243         LPSTR szFileName,
1244         UINT *puCopied);
1245 
1246     HRESULT (STDMETHODCALLTYPE *GetIMEFileNameW)(
1247         IActiveIMMApp* This,
1248         HKL hKL,
1249         UINT uBufLen,
1250         LPWSTR szFileName,
1251         UINT *puCopied);
1252 
1253     HRESULT (STDMETHODCALLTYPE *GetOpenStatus)(
1254         IActiveIMMApp* This,
1255         HIMC hIMC);
1256 
1257     HRESULT (STDMETHODCALLTYPE *GetProperty)(
1258         IActiveIMMApp* This,
1259         HKL hKL,
1260         DWORD fdwIndex,
1261         DWORD *pdwProperty);
1262 
1263     HRESULT (STDMETHODCALLTYPE *GetRegisterWordStyleA)(
1264         IActiveIMMApp* This,
1265         HKL hKL,
1266         UINT nItem,
1267         STYLEBUFA *pStyleBuf,
1268         UINT *puCopied);
1269 
1270     HRESULT (STDMETHODCALLTYPE *GetRegisterWordStyleW)(
1271         IActiveIMMApp* This,
1272         HKL hKL,
1273         UINT nItem,
1274         STYLEBUFW *pStyleBuf,
1275         UINT *puCopied);
1276 
1277     HRESULT (STDMETHODCALLTYPE *GetStatusWindowPos)(
1278         IActiveIMMApp* This,
1279         HIMC hIMC,
1280         POINT *pptPos);
1281 
1282     HRESULT (STDMETHODCALLTYPE *GetVirtualKey)(
1283         IActiveIMMApp* This,
1284         HWND hWnd,
1285         UINT *puVirtualKey);
1286 
1287     HRESULT (STDMETHODCALLTYPE *InstallIMEA)(
1288         IActiveIMMApp* This,
1289         LPSTR szIMEFileName,
1290         LPSTR szLayoutText,
1291         HKL *phKL);
1292 
1293     HRESULT (STDMETHODCALLTYPE *InstallIMEW)(
1294         IActiveIMMApp* This,
1295         LPWSTR szIMEFileName,
1296         LPWSTR szLayoutText,
1297         HKL *phKL);
1298 
1299     HRESULT (STDMETHODCALLTYPE *IsIME)(
1300         IActiveIMMApp* This,
1301         HKL hKL);
1302 
1303     HRESULT (STDMETHODCALLTYPE *IsUIMessageA)(
1304         IActiveIMMApp* This,
1305         HWND hWndIME,
1306         UINT msg,
1307         WPARAM wParam,
1308         LPARAM lParam);
1309 
1310     HRESULT (STDMETHODCALLTYPE *IsUIMessageW)(
1311         IActiveIMMApp* This,
1312         HWND hWndIME,
1313         UINT msg,
1314         WPARAM wParam,
1315         LPARAM lParam);
1316 
1317     HRESULT (STDMETHODCALLTYPE *NotifyIME)(
1318         IActiveIMMApp* This,
1319         HIMC hIMC,
1320         DWORD dwAction,
1321         DWORD dwIndex,
1322         DWORD dwValue);
1323 
1324     HRESULT (STDMETHODCALLTYPE *RegisterWordA)(
1325         IActiveIMMApp* This,
1326         HKL hKL,
1327         LPSTR szReading,
1328         DWORD dwStyle,
1329         LPSTR szRegister);
1330 
1331     HRESULT (STDMETHODCALLTYPE *RegisterWordW)(
1332         IActiveIMMApp* This,
1333         HKL hKL,
1334         LPWSTR szReading,
1335         DWORD dwStyle,
1336         LPWSTR szRegister);
1337 
1338     HRESULT (STDMETHODCALLTYPE *ReleaseContext)(
1339         IActiveIMMApp* This,
1340         HWND hWnd,
1341         HIMC hIMC);
1342 
1343     HRESULT (STDMETHODCALLTYPE *SetCandidateWindow)(
1344         IActiveIMMApp* This,
1345         HIMC hIMC,
1346         CANDIDATEFORM *pCandidate);
1347 
1348     HRESULT (STDMETHODCALLTYPE *SetCompositionFontA)(
1349         IActiveIMMApp* This,
1350         HIMC hIMC,
1351         LOGFONTA *plf);
1352 
1353     HRESULT (STDMETHODCALLTYPE *SetCompositionFontW)(
1354         IActiveIMMApp* This,
1355         HIMC hIMC,
1356         LOGFONTW *plf);
1357 
1358     HRESULT (STDMETHODCALLTYPE *SetCompositionStringA)(
1359         IActiveIMMApp* This,
1360         HIMC hIMC,
1361         DWORD dwIndex,
1362         LPVOID pComp,
1363         DWORD dwCompLen,
1364         LPVOID pRead,
1365         DWORD dwReadLen);
1366 
1367     HRESULT (STDMETHODCALLTYPE *SetCompositionStringW)(
1368         IActiveIMMApp* This,
1369         HIMC hIMC,
1370         DWORD dwIndex,
1371         LPVOID pComp,
1372         DWORD dwCompLen,
1373         LPVOID pRead,
1374         DWORD dwReadLen);
1375 
1376     HRESULT (STDMETHODCALLTYPE *SetCompositionWindow)(
1377         IActiveIMMApp* This,
1378         HIMC hIMC,
1379         COMPOSITIONFORM *pCompForm);
1380 
1381     HRESULT (STDMETHODCALLTYPE *SetConversionStatus)(
1382         IActiveIMMApp* This,
1383         HIMC hIMC,
1384         DWORD fdwConversion,
1385         DWORD fdwSentence);
1386 
1387     HRESULT (STDMETHODCALLTYPE *SetOpenStatus)(
1388         IActiveIMMApp* This,
1389         HIMC hIMC,
1390         WINBOOL fOpen);
1391 
1392     HRESULT (STDMETHODCALLTYPE *SetStatusWindowPos)(
1393         IActiveIMMApp* This,
1394         HIMC hIMC,
1395         POINT *pptPos);
1396 
1397     HRESULT (STDMETHODCALLTYPE *SimulateHotKey)(
1398         IActiveIMMApp* This,
1399         HWND hWnd,
1400         DWORD dwHotKeyID);
1401 
1402     HRESULT (STDMETHODCALLTYPE *UnregisterWordA)(
1403         IActiveIMMApp* This,
1404         HKL hKL,
1405         LPSTR szReading,
1406         DWORD dwStyle,
1407         LPSTR szUnregister);
1408 
1409     HRESULT (STDMETHODCALLTYPE *UnregisterWordW)(
1410         IActiveIMMApp* This,
1411         HKL hKL,
1412         LPWSTR szReading,
1413         DWORD dwStyle,
1414         LPWSTR szUnregister);
1415 
1416     HRESULT (STDMETHODCALLTYPE *Activate)(
1417         IActiveIMMApp* This,
1418         WINBOOL fRestoreLayout);
1419 
1420     HRESULT (STDMETHODCALLTYPE *Deactivate)(
1421         IActiveIMMApp* This);
1422 
1423     HRESULT (STDMETHODCALLTYPE *OnDefWindowProc)(
1424         IActiveIMMApp* This,
1425         HWND hWnd,
1426         UINT Msg,
1427         WPARAM wParam,
1428         LPARAM lParam,
1429         LRESULT *plResult);
1430 
1431     HRESULT (STDMETHODCALLTYPE *FilterClientWindows)(
1432         IActiveIMMApp* This,
1433         ATOM *aaClassList,
1434         UINT uSize);
1435 
1436     HRESULT (STDMETHODCALLTYPE *GetCodePageA)(
1437         IActiveIMMApp* This,
1438         HKL hKL,
1439         UINT *uCodePage);
1440 
1441     HRESULT (STDMETHODCALLTYPE *GetLangId)(
1442         IActiveIMMApp* This,
1443         HKL hKL,
1444         LANGID *plid);
1445 
1446     HRESULT (STDMETHODCALLTYPE *AssociateContextEx)(
1447         IActiveIMMApp* This,
1448         HWND hWnd,
1449         HIMC hIMC,
1450         DWORD dwFlags);
1451 
1452     HRESULT (STDMETHODCALLTYPE *DisableIME)(
1453         IActiveIMMApp* This,
1454         DWORD idThread);
1455 
1456     HRESULT (STDMETHODCALLTYPE *GetImeMenuItemsA)(
1457         IActiveIMMApp* This,
1458         HIMC hIMC,
1459         DWORD dwFlags,
1460         DWORD dwType,
1461         IMEMENUITEMINFOA *pImeParentMenu,
1462         IMEMENUITEMINFOA *pImeMenu,
1463         DWORD dwSize,
1464         DWORD *pdwResult);
1465 
1466     HRESULT (STDMETHODCALLTYPE *GetImeMenuItemsW)(
1467         IActiveIMMApp* This,
1468         HIMC hIMC,
1469         DWORD dwFlags,
1470         DWORD dwType,
1471         IMEMENUITEMINFOW *pImeParentMenu,
1472         IMEMENUITEMINFOW *pImeMenu,
1473         DWORD dwSize,
1474         DWORD *pdwResult);
1475 
1476     HRESULT (STDMETHODCALLTYPE *EnumInputContext)(
1477         IActiveIMMApp* This,
1478         DWORD idThread,
1479         IEnumInputContext **ppEnum);
1480 
1481     END_INTERFACE
1482 } IActiveIMMAppVtbl;
1483 interface IActiveIMMApp {
1484     CONST_VTBL IActiveIMMAppVtbl* lpVtbl;
1485 };
1486 
1487 #ifdef COBJMACROS
1488 #ifndef WIDL_C_INLINE_WRAPPERS
1489 /*** IUnknown methods ***/
1490 #define IActiveIMMApp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1491 #define IActiveIMMApp_AddRef(This) (This)->lpVtbl->AddRef(This)
1492 #define IActiveIMMApp_Release(This) (This)->lpVtbl->Release(This)
1493 /*** IActiveIMMApp methods ***/
1494 #define IActiveIMMApp_AssociateContext(This,hWnd,hIME,phPrev) (This)->lpVtbl->AssociateContext(This,hWnd,hIME,phPrev)
1495 #define IActiveIMMApp_ConfigureIMEA(This,hKL,hWnd,dwMode,pData) (This)->lpVtbl->ConfigureIMEA(This,hKL,hWnd,dwMode,pData)
1496 #define IActiveIMMApp_ConfigureIMEW(This,hKL,hWnd,dwMode,pData) (This)->lpVtbl->ConfigureIMEW(This,hKL,hWnd,dwMode,pData)
1497 #define IActiveIMMApp_CreateContext(This,phIMC) (This)->lpVtbl->CreateContext(This,phIMC)
1498 #define IActiveIMMApp_DestroyContext(This,hIME) (This)->lpVtbl->DestroyContext(This,hIME)
1499 #define IActiveIMMApp_EnumRegisterWordA(This,hKL,szReading,dwStyle,szRegister,pData,pEnum) (This)->lpVtbl->EnumRegisterWordA(This,hKL,szReading,dwStyle,szRegister,pData,pEnum)
1500 #define IActiveIMMApp_EnumRegisterWordW(This,hKL,szReading,dwStyle,szRegister,pData,pEnum) (This)->lpVtbl->EnumRegisterWordW(This,hKL,szReading,dwStyle,szRegister,pData,pEnum)
1501 #define IActiveIMMApp_EscapeA(This,hKL,hIMC,uEscape,pData,plResult) (This)->lpVtbl->EscapeA(This,hKL,hIMC,uEscape,pData,plResult)
1502 #define IActiveIMMApp_EscapeW(This,hKL,hIMC,uEscape,pData,plResult) (This)->lpVtbl->EscapeW(This,hKL,hIMC,uEscape,pData,plResult)
1503 #define IActiveIMMApp_GetCandidateListA(This,hIMC,dwIndex,uBufLen,pCandList,puCopied) (This)->lpVtbl->GetCandidateListA(This,hIMC,dwIndex,uBufLen,pCandList,puCopied)
1504 #define IActiveIMMApp_GetCandidateListW(This,hIMC,dwIndex,uBufLen,pCandList,puCopied) (This)->lpVtbl->GetCandidateListW(This,hIMC,dwIndex,uBufLen,pCandList,puCopied)
1505 #define IActiveIMMApp_GetCandidateListCountA(This,hIMC,pdwListSize,pdwBufLen) (This)->lpVtbl->GetCandidateListCountA(This,hIMC,pdwListSize,pdwBufLen)
1506 #define IActiveIMMApp_GetCandidateListCountW(This,hIMC,pdwListSize,pdwBufLen) (This)->lpVtbl->GetCandidateListCountW(This,hIMC,pdwListSize,pdwBufLen)
1507 #define IActiveIMMApp_GetCandidateWindow(This,hIMC,dwIndex,pCandidate) (This)->lpVtbl->GetCandidateWindow(This,hIMC,dwIndex,pCandidate)
1508 #define IActiveIMMApp_GetCompositionFontA(This,hIMC,plf) (This)->lpVtbl->GetCompositionFontA(This,hIMC,plf)
1509 #define IActiveIMMApp_GetCompositionFontW(This,hIMC,plf) (This)->lpVtbl->GetCompositionFontW(This,hIMC,plf)
1510 #define IActiveIMMApp_GetCompositionStringA(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf) (This)->lpVtbl->GetCompositionStringA(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf)
1511 #define IActiveIMMApp_GetCompositionStringW(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf) (This)->lpVtbl->GetCompositionStringW(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf)
1512 #define IActiveIMMApp_GetCompositionWindow(This,hIMC,pCompForm) (This)->lpVtbl->GetCompositionWindow(This,hIMC,pCompForm)
1513 #define IActiveIMMApp_GetContext(This,hWnd,phIMC) (This)->lpVtbl->GetContext(This,hWnd,phIMC)
1514 #define IActiveIMMApp_GetConversionListA(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied) (This)->lpVtbl->GetConversionListA(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied)
1515 #define IActiveIMMApp_GetConversionListW(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied) (This)->lpVtbl->GetConversionListW(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied)
1516 #define IActiveIMMApp_GetConversionStatus(This,hIMC,pfdwConversion,pfdwSentence) (This)->lpVtbl->GetConversionStatus(This,hIMC,pfdwConversion,pfdwSentence)
1517 #define IActiveIMMApp_GetDefaultIMEWnd(This,hWnd,phDefWnd) (This)->lpVtbl->GetDefaultIMEWnd(This,hWnd,phDefWnd)
1518 #define IActiveIMMApp_GetDescriptionA(This,hKL,uBufLen,szDescription,puCopied) (This)->lpVtbl->GetDescriptionA(This,hKL,uBufLen,szDescription,puCopied)
1519 #define IActiveIMMApp_GetDescriptionW(This,hKL,uBufLen,szDescription,puCopied) (This)->lpVtbl->GetDescriptionW(This,hKL,uBufLen,szDescription,puCopied)
1520 #define IActiveIMMApp_GetGuideLineA(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult) (This)->lpVtbl->GetGuideLineA(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult)
1521 #define IActiveIMMApp_GetGuideLineW(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult) (This)->lpVtbl->GetGuideLineW(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult)
1522 #define IActiveIMMApp_GetIMEFileNameA(This,hKL,uBufLen,szFileName,puCopied) (This)->lpVtbl->GetIMEFileNameA(This,hKL,uBufLen,szFileName,puCopied)
1523 #define IActiveIMMApp_GetIMEFileNameW(This,hKL,uBufLen,szFileName,puCopied) (This)->lpVtbl->GetIMEFileNameW(This,hKL,uBufLen,szFileName,puCopied)
1524 #define IActiveIMMApp_GetOpenStatus(This,hIMC) (This)->lpVtbl->GetOpenStatus(This,hIMC)
1525 #define IActiveIMMApp_GetProperty(This,hKL,fdwIndex,pdwProperty) (This)->lpVtbl->GetProperty(This,hKL,fdwIndex,pdwProperty)
1526 #define IActiveIMMApp_GetRegisterWordStyleA(This,hKL,nItem,pStyleBuf,puCopied) (This)->lpVtbl->GetRegisterWordStyleA(This,hKL,nItem,pStyleBuf,puCopied)
1527 #define IActiveIMMApp_GetRegisterWordStyleW(This,hKL,nItem,pStyleBuf,puCopied) (This)->lpVtbl->GetRegisterWordStyleW(This,hKL,nItem,pStyleBuf,puCopied)
1528 #define IActiveIMMApp_GetStatusWindowPos(This,hIMC,pptPos) (This)->lpVtbl->GetStatusWindowPos(This,hIMC,pptPos)
1529 #define IActiveIMMApp_GetVirtualKey(This,hWnd,puVirtualKey) (This)->lpVtbl->GetVirtualKey(This,hWnd,puVirtualKey)
1530 #define IActiveIMMApp_InstallIMEA(This,szIMEFileName,szLayoutText,phKL) (This)->lpVtbl->InstallIMEA(This,szIMEFileName,szLayoutText,phKL)
1531 #define IActiveIMMApp_InstallIMEW(This,szIMEFileName,szLayoutText,phKL) (This)->lpVtbl->InstallIMEW(This,szIMEFileName,szLayoutText,phKL)
1532 #define IActiveIMMApp_IsIME(This,hKL) (This)->lpVtbl->IsIME(This,hKL)
1533 #define IActiveIMMApp_IsUIMessageA(This,hWndIME,msg,wParam,lParam) (This)->lpVtbl->IsUIMessageA(This,hWndIME,msg,wParam,lParam)
1534 #define IActiveIMMApp_IsUIMessageW(This,hWndIME,msg,wParam,lParam) (This)->lpVtbl->IsUIMessageW(This,hWndIME,msg,wParam,lParam)
1535 #define IActiveIMMApp_NotifyIME(This,hIMC,dwAction,dwIndex,dwValue) (This)->lpVtbl->NotifyIME(This,hIMC,dwAction,dwIndex,dwValue)
1536 #define IActiveIMMApp_RegisterWordA(This,hKL,szReading,dwStyle,szRegister) (This)->lpVtbl->RegisterWordA(This,hKL,szReading,dwStyle,szRegister)
1537 #define IActiveIMMApp_RegisterWordW(This,hKL,szReading,dwStyle,szRegister) (This)->lpVtbl->RegisterWordW(This,hKL,szReading,dwStyle,szRegister)
1538 #define IActiveIMMApp_ReleaseContext(This,hWnd,hIMC) (This)->lpVtbl->ReleaseContext(This,hWnd,hIMC)
1539 #define IActiveIMMApp_SetCandidateWindow(This,hIMC,pCandidate) (This)->lpVtbl->SetCandidateWindow(This,hIMC,pCandidate)
1540 #define IActiveIMMApp_SetCompositionFontA(This,hIMC,plf) (This)->lpVtbl->SetCompositionFontA(This,hIMC,plf)
1541 #define IActiveIMMApp_SetCompositionFontW(This,hIMC,plf) (This)->lpVtbl->SetCompositionFontW(This,hIMC,plf)
1542 #define IActiveIMMApp_SetCompositionStringA(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen) (This)->lpVtbl->SetCompositionStringA(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen)
1543 #define IActiveIMMApp_SetCompositionStringW(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen) (This)->lpVtbl->SetCompositionStringW(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen)
1544 #define IActiveIMMApp_SetCompositionWindow(This,hIMC,pCompForm) (This)->lpVtbl->SetCompositionWindow(This,hIMC,pCompForm)
1545 #define IActiveIMMApp_SetConversionStatus(This,hIMC,fdwConversion,fdwSentence) (This)->lpVtbl->SetConversionStatus(This,hIMC,fdwConversion,fdwSentence)
1546 #define IActiveIMMApp_SetOpenStatus(This,hIMC,fOpen) (This)->lpVtbl->SetOpenStatus(This,hIMC,fOpen)
1547 #define IActiveIMMApp_SetStatusWindowPos(This,hIMC,pptPos) (This)->lpVtbl->SetStatusWindowPos(This,hIMC,pptPos)
1548 #define IActiveIMMApp_SimulateHotKey(This,hWnd,dwHotKeyID) (This)->lpVtbl->SimulateHotKey(This,hWnd,dwHotKeyID)
1549 #define IActiveIMMApp_UnregisterWordA(This,hKL,szReading,dwStyle,szUnregister) (This)->lpVtbl->UnregisterWordA(This,hKL,szReading,dwStyle,szUnregister)
1550 #define IActiveIMMApp_UnregisterWordW(This,hKL,szReading,dwStyle,szUnregister) (This)->lpVtbl->UnregisterWordW(This,hKL,szReading,dwStyle,szUnregister)
1551 #define IActiveIMMApp_Activate(This,fRestoreLayout) (This)->lpVtbl->Activate(This,fRestoreLayout)
1552 #define IActiveIMMApp_Deactivate(This) (This)->lpVtbl->Deactivate(This)
1553 #define IActiveIMMApp_OnDefWindowProc(This,hWnd,Msg,wParam,lParam,plResult) (This)->lpVtbl->OnDefWindowProc(This,hWnd,Msg,wParam,lParam,plResult)
1554 #define IActiveIMMApp_FilterClientWindows(This,aaClassList,uSize) (This)->lpVtbl->FilterClientWindows(This,aaClassList,uSize)
1555 #define IActiveIMMApp_GetCodePageA(This,hKL,uCodePage) (This)->lpVtbl->GetCodePageA(This,hKL,uCodePage)
1556 #define IActiveIMMApp_GetLangId(This,hKL,plid) (This)->lpVtbl->GetLangId(This,hKL,plid)
1557 #define IActiveIMMApp_AssociateContextEx(This,hWnd,hIMC,dwFlags) (This)->lpVtbl->AssociateContextEx(This,hWnd,hIMC,dwFlags)
1558 #define IActiveIMMApp_DisableIME(This,idThread) (This)->lpVtbl->DisableIME(This,idThread)
1559 #define IActiveIMMApp_GetImeMenuItemsA(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult) (This)->lpVtbl->GetImeMenuItemsA(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult)
1560 #define IActiveIMMApp_GetImeMenuItemsW(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult) (This)->lpVtbl->GetImeMenuItemsW(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult)
1561 #define IActiveIMMApp_EnumInputContext(This,idThread,ppEnum) (This)->lpVtbl->EnumInputContext(This,idThread,ppEnum)
1562 #else
1563 /*** IUnknown methods ***/
1564 static FORCEINLINE HRESULT IActiveIMMApp_QueryInterface(IActiveIMMApp* This,REFIID riid,void **ppvObject) {
1565     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1566 }
1567 static FORCEINLINE ULONG IActiveIMMApp_AddRef(IActiveIMMApp* This) {
1568     return This->lpVtbl->AddRef(This);
1569 }
1570 static FORCEINLINE ULONG IActiveIMMApp_Release(IActiveIMMApp* This) {
1571     return This->lpVtbl->Release(This);
1572 }
1573 /*** IActiveIMMApp methods ***/
1574 static FORCEINLINE HRESULT IActiveIMMApp_AssociateContext(IActiveIMMApp* This,HWND hWnd,HIMC hIME,HIMC *phPrev) {
1575     return This->lpVtbl->AssociateContext(This,hWnd,hIME,phPrev);
1576 }
1577 static FORCEINLINE HRESULT IActiveIMMApp_ConfigureIMEA(IActiveIMMApp* This,HKL hKL,HWND hWnd,DWORD dwMode,REGISTERWORDA *pData) {
1578     return This->lpVtbl->ConfigureIMEA(This,hKL,hWnd,dwMode,pData);
1579 }
1580 static FORCEINLINE HRESULT IActiveIMMApp_ConfigureIMEW(IActiveIMMApp* This,HKL hKL,HWND hWnd,DWORD dwMode,REGISTERWORDW *pData) {
1581     return This->lpVtbl->ConfigureIMEW(This,hKL,hWnd,dwMode,pData);
1582 }
1583 static FORCEINLINE HRESULT IActiveIMMApp_CreateContext(IActiveIMMApp* This,HIMC *phIMC) {
1584     return This->lpVtbl->CreateContext(This,phIMC);
1585 }
1586 static FORCEINLINE HRESULT IActiveIMMApp_DestroyContext(IActiveIMMApp* This,HIMC hIME) {
1587     return This->lpVtbl->DestroyContext(This,hIME);
1588 }
1589 static FORCEINLINE HRESULT IActiveIMMApp_EnumRegisterWordA(IActiveIMMApp* This,HKL hKL,LPSTR szReading,DWORD dwStyle,LPSTR szRegister,LPVOID pData,IEnumRegisterWordA **pEnum) {
1590     return This->lpVtbl->EnumRegisterWordA(This,hKL,szReading,dwStyle,szRegister,pData,pEnum);
1591 }
1592 static FORCEINLINE HRESULT IActiveIMMApp_EnumRegisterWordW(IActiveIMMApp* This,HKL hKL,LPWSTR szReading,DWORD dwStyle,LPWSTR szRegister,LPVOID pData,IEnumRegisterWordW **pEnum) {
1593     return This->lpVtbl->EnumRegisterWordW(This,hKL,szReading,dwStyle,szRegister,pData,pEnum);
1594 }
1595 static FORCEINLINE HRESULT IActiveIMMApp_EscapeA(IActiveIMMApp* This,HKL hKL,HIMC hIMC,UINT uEscape,LPVOID pData,LRESULT *plResult) {
1596     return This->lpVtbl->EscapeA(This,hKL,hIMC,uEscape,pData,plResult);
1597 }
1598 static FORCEINLINE HRESULT IActiveIMMApp_EscapeW(IActiveIMMApp* This,HKL hKL,HIMC hIMC,UINT uEscape,LPVOID pData,LRESULT *plResult) {
1599     return This->lpVtbl->EscapeW(This,hKL,hIMC,uEscape,pData,plResult);
1600 }
1601 static FORCEINLINE HRESULT IActiveIMMApp_GetCandidateListA(IActiveIMMApp* This,HIMC hIMC,DWORD dwIndex,UINT uBufLen,CANDIDATELIST *pCandList,UINT *puCopied) {
1602     return This->lpVtbl->GetCandidateListA(This,hIMC,dwIndex,uBufLen,pCandList,puCopied);
1603 }
1604 static FORCEINLINE HRESULT IActiveIMMApp_GetCandidateListW(IActiveIMMApp* This,HIMC hIMC,DWORD dwIndex,UINT uBufLen,CANDIDATELIST *pCandList,UINT *puCopied) {
1605     return This->lpVtbl->GetCandidateListW(This,hIMC,dwIndex,uBufLen,pCandList,puCopied);
1606 }
1607 static FORCEINLINE HRESULT IActiveIMMApp_GetCandidateListCountA(IActiveIMMApp* This,HIMC hIMC,DWORD *pdwListSize,DWORD *pdwBufLen) {
1608     return This->lpVtbl->GetCandidateListCountA(This,hIMC,pdwListSize,pdwBufLen);
1609 }
1610 static FORCEINLINE HRESULT IActiveIMMApp_GetCandidateListCountW(IActiveIMMApp* This,HIMC hIMC,DWORD *pdwListSize,DWORD *pdwBufLen) {
1611     return This->lpVtbl->GetCandidateListCountW(This,hIMC,pdwListSize,pdwBufLen);
1612 }
1613 static FORCEINLINE HRESULT IActiveIMMApp_GetCandidateWindow(IActiveIMMApp* This,HIMC hIMC,DWORD dwIndex,CANDIDATEFORM *pCandidate) {
1614     return This->lpVtbl->GetCandidateWindow(This,hIMC,dwIndex,pCandidate);
1615 }
1616 static FORCEINLINE HRESULT IActiveIMMApp_GetCompositionFontA(IActiveIMMApp* This,HIMC hIMC,LOGFONTA *plf) {
1617     return This->lpVtbl->GetCompositionFontA(This,hIMC,plf);
1618 }
1619 static FORCEINLINE HRESULT IActiveIMMApp_GetCompositionFontW(IActiveIMMApp* This,HIMC hIMC,LOGFONTW *plf) {
1620     return This->lpVtbl->GetCompositionFontW(This,hIMC,plf);
1621 }
1622 static FORCEINLINE HRESULT IActiveIMMApp_GetCompositionStringA(IActiveIMMApp* This,HIMC hIMC,DWORD dwIndex,DWORD dwBufLen,LONG *plCopied,LPVOID pBuf) {
1623     return This->lpVtbl->GetCompositionStringA(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf);
1624 }
1625 static FORCEINLINE HRESULT IActiveIMMApp_GetCompositionStringW(IActiveIMMApp* This,HIMC hIMC,DWORD dwIndex,DWORD dwBufLen,LONG *plCopied,LPVOID pBuf) {
1626     return This->lpVtbl->GetCompositionStringW(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf);
1627 }
1628 static FORCEINLINE HRESULT IActiveIMMApp_GetCompositionWindow(IActiveIMMApp* This,HIMC hIMC,COMPOSITIONFORM *pCompForm) {
1629     return This->lpVtbl->GetCompositionWindow(This,hIMC,pCompForm);
1630 }
1631 static FORCEINLINE HRESULT IActiveIMMApp_GetContext(IActiveIMMApp* This,HWND hWnd,HIMC *phIMC) {
1632     return This->lpVtbl->GetContext(This,hWnd,phIMC);
1633 }
1634 static FORCEINLINE HRESULT IActiveIMMApp_GetConversionListA(IActiveIMMApp* This,HKL hKL,HIMC hIMC,LPSTR pSrc,UINT uBufLen,UINT uFlag,CANDIDATELIST *pDst,UINT *puCopied) {
1635     return This->lpVtbl->GetConversionListA(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied);
1636 }
1637 static FORCEINLINE HRESULT IActiveIMMApp_GetConversionListW(IActiveIMMApp* This,HKL hKL,HIMC hIMC,LPWSTR pSrc,UINT uBufLen,UINT uFlag,CANDIDATELIST *pDst,UINT *puCopied) {
1638     return This->lpVtbl->GetConversionListW(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied);
1639 }
1640 static FORCEINLINE HRESULT IActiveIMMApp_GetConversionStatus(IActiveIMMApp* This,HIMC hIMC,DWORD *pfdwConversion,DWORD *pfdwSentence) {
1641     return This->lpVtbl->GetConversionStatus(This,hIMC,pfdwConversion,pfdwSentence);
1642 }
1643 static FORCEINLINE HRESULT IActiveIMMApp_GetDefaultIMEWnd(IActiveIMMApp* This,HWND hWnd,HWND *phDefWnd) {
1644     return This->lpVtbl->GetDefaultIMEWnd(This,hWnd,phDefWnd);
1645 }
1646 static FORCEINLINE HRESULT IActiveIMMApp_GetDescriptionA(IActiveIMMApp* This,HKL hKL,UINT uBufLen,LPSTR szDescription,UINT *puCopied) {
1647     return This->lpVtbl->GetDescriptionA(This,hKL,uBufLen,szDescription,puCopied);
1648 }
1649 static FORCEINLINE HRESULT IActiveIMMApp_GetDescriptionW(IActiveIMMApp* This,HKL hKL,UINT uBufLen,LPWSTR szDescription,UINT *puCopied) {
1650     return This->lpVtbl->GetDescriptionW(This,hKL,uBufLen,szDescription,puCopied);
1651 }
1652 static FORCEINLINE HRESULT IActiveIMMApp_GetGuideLineA(IActiveIMMApp* This,HIMC hIMC,DWORD dwIndex,DWORD dwBufLen,LPSTR pBuf,DWORD *pdwResult) {
1653     return This->lpVtbl->GetGuideLineA(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult);
1654 }
1655 static FORCEINLINE HRESULT IActiveIMMApp_GetGuideLineW(IActiveIMMApp* This,HIMC hIMC,DWORD dwIndex,DWORD dwBufLen,LPWSTR pBuf,DWORD *pdwResult) {
1656     return This->lpVtbl->GetGuideLineW(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult);
1657 }
1658 static FORCEINLINE HRESULT IActiveIMMApp_GetIMEFileNameA(IActiveIMMApp* This,HKL hKL,UINT uBufLen,LPSTR szFileName,UINT *puCopied) {
1659     return This->lpVtbl->GetIMEFileNameA(This,hKL,uBufLen,szFileName,puCopied);
1660 }
1661 static FORCEINLINE HRESULT IActiveIMMApp_GetIMEFileNameW(IActiveIMMApp* This,HKL hKL,UINT uBufLen,LPWSTR szFileName,UINT *puCopied) {
1662     return This->lpVtbl->GetIMEFileNameW(This,hKL,uBufLen,szFileName,puCopied);
1663 }
1664 static FORCEINLINE HRESULT IActiveIMMApp_GetOpenStatus(IActiveIMMApp* This,HIMC hIMC) {
1665     return This->lpVtbl->GetOpenStatus(This,hIMC);
1666 }
1667 static FORCEINLINE HRESULT IActiveIMMApp_GetProperty(IActiveIMMApp* This,HKL hKL,DWORD fdwIndex,DWORD *pdwProperty) {
1668     return This->lpVtbl->GetProperty(This,hKL,fdwIndex,pdwProperty);
1669 }
1670 static FORCEINLINE HRESULT IActiveIMMApp_GetRegisterWordStyleA(IActiveIMMApp* This,HKL hKL,UINT nItem,STYLEBUFA *pStyleBuf,UINT *puCopied) {
1671     return This->lpVtbl->GetRegisterWordStyleA(This,hKL,nItem,pStyleBuf,puCopied);
1672 }
1673 static FORCEINLINE HRESULT IActiveIMMApp_GetRegisterWordStyleW(IActiveIMMApp* This,HKL hKL,UINT nItem,STYLEBUFW *pStyleBuf,UINT *puCopied) {
1674     return This->lpVtbl->GetRegisterWordStyleW(This,hKL,nItem,pStyleBuf,puCopied);
1675 }
1676 static FORCEINLINE HRESULT IActiveIMMApp_GetStatusWindowPos(IActiveIMMApp* This,HIMC hIMC,POINT *pptPos) {
1677     return This->lpVtbl->GetStatusWindowPos(This,hIMC,pptPos);
1678 }
1679 static FORCEINLINE HRESULT IActiveIMMApp_GetVirtualKey(IActiveIMMApp* This,HWND hWnd,UINT *puVirtualKey) {
1680     return This->lpVtbl->GetVirtualKey(This,hWnd,puVirtualKey);
1681 }
1682 static FORCEINLINE HRESULT IActiveIMMApp_InstallIMEA(IActiveIMMApp* This,LPSTR szIMEFileName,LPSTR szLayoutText,HKL *phKL) {
1683     return This->lpVtbl->InstallIMEA(This,szIMEFileName,szLayoutText,phKL);
1684 }
1685 static FORCEINLINE HRESULT IActiveIMMApp_InstallIMEW(IActiveIMMApp* This,LPWSTR szIMEFileName,LPWSTR szLayoutText,HKL *phKL) {
1686     return This->lpVtbl->InstallIMEW(This,szIMEFileName,szLayoutText,phKL);
1687 }
1688 static FORCEINLINE HRESULT IActiveIMMApp_IsIME(IActiveIMMApp* This,HKL hKL) {
1689     return This->lpVtbl->IsIME(This,hKL);
1690 }
1691 static FORCEINLINE HRESULT IActiveIMMApp_IsUIMessageA(IActiveIMMApp* This,HWND hWndIME,UINT msg,WPARAM wParam,LPARAM lParam) {
1692     return This->lpVtbl->IsUIMessageA(This,hWndIME,msg,wParam,lParam);
1693 }
1694 static FORCEINLINE HRESULT IActiveIMMApp_IsUIMessageW(IActiveIMMApp* This,HWND hWndIME,UINT msg,WPARAM wParam,LPARAM lParam) {
1695     return This->lpVtbl->IsUIMessageW(This,hWndIME,msg,wParam,lParam);
1696 }
1697 static FORCEINLINE HRESULT IActiveIMMApp_NotifyIME(IActiveIMMApp* This,HIMC hIMC,DWORD dwAction,DWORD dwIndex,DWORD dwValue) {
1698     return This->lpVtbl->NotifyIME(This,hIMC,dwAction,dwIndex,dwValue);
1699 }
1700 static FORCEINLINE HRESULT IActiveIMMApp_RegisterWordA(IActiveIMMApp* This,HKL hKL,LPSTR szReading,DWORD dwStyle,LPSTR szRegister) {
1701     return This->lpVtbl->RegisterWordA(This,hKL,szReading,dwStyle,szRegister);
1702 }
1703 static FORCEINLINE HRESULT IActiveIMMApp_RegisterWordW(IActiveIMMApp* This,HKL hKL,LPWSTR szReading,DWORD dwStyle,LPWSTR szRegister) {
1704     return This->lpVtbl->RegisterWordW(This,hKL,szReading,dwStyle,szRegister);
1705 }
1706 static FORCEINLINE HRESULT IActiveIMMApp_ReleaseContext(IActiveIMMApp* This,HWND hWnd,HIMC hIMC) {
1707     return This->lpVtbl->ReleaseContext(This,hWnd,hIMC);
1708 }
1709 static FORCEINLINE HRESULT IActiveIMMApp_SetCandidateWindow(IActiveIMMApp* This,HIMC hIMC,CANDIDATEFORM *pCandidate) {
1710     return This->lpVtbl->SetCandidateWindow(This,hIMC,pCandidate);
1711 }
1712 static FORCEINLINE HRESULT IActiveIMMApp_SetCompositionFontA(IActiveIMMApp* This,HIMC hIMC,LOGFONTA *plf) {
1713     return This->lpVtbl->SetCompositionFontA(This,hIMC,plf);
1714 }
1715 static FORCEINLINE HRESULT IActiveIMMApp_SetCompositionFontW(IActiveIMMApp* This,HIMC hIMC,LOGFONTW *plf) {
1716     return This->lpVtbl->SetCompositionFontW(This,hIMC,plf);
1717 }
1718 static FORCEINLINE HRESULT IActiveIMMApp_SetCompositionStringA(IActiveIMMApp* This,HIMC hIMC,DWORD dwIndex,LPVOID pComp,DWORD dwCompLen,LPVOID pRead,DWORD dwReadLen) {
1719     return This->lpVtbl->SetCompositionStringA(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen);
1720 }
1721 static FORCEINLINE HRESULT IActiveIMMApp_SetCompositionStringW(IActiveIMMApp* This,HIMC hIMC,DWORD dwIndex,LPVOID pComp,DWORD dwCompLen,LPVOID pRead,DWORD dwReadLen) {
1722     return This->lpVtbl->SetCompositionStringW(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen);
1723 }
1724 static FORCEINLINE HRESULT IActiveIMMApp_SetCompositionWindow(IActiveIMMApp* This,HIMC hIMC,COMPOSITIONFORM *pCompForm) {
1725     return This->lpVtbl->SetCompositionWindow(This,hIMC,pCompForm);
1726 }
1727 static FORCEINLINE HRESULT IActiveIMMApp_SetConversionStatus(IActiveIMMApp* This,HIMC hIMC,DWORD fdwConversion,DWORD fdwSentence) {
1728     return This->lpVtbl->SetConversionStatus(This,hIMC,fdwConversion,fdwSentence);
1729 }
1730 static FORCEINLINE HRESULT IActiveIMMApp_SetOpenStatus(IActiveIMMApp* This,HIMC hIMC,WINBOOL fOpen) {
1731     return This->lpVtbl->SetOpenStatus(This,hIMC,fOpen);
1732 }
1733 static FORCEINLINE HRESULT IActiveIMMApp_SetStatusWindowPos(IActiveIMMApp* This,HIMC hIMC,POINT *pptPos) {
1734     return This->lpVtbl->SetStatusWindowPos(This,hIMC,pptPos);
1735 }
1736 static FORCEINLINE HRESULT IActiveIMMApp_SimulateHotKey(IActiveIMMApp* This,HWND hWnd,DWORD dwHotKeyID) {
1737     return This->lpVtbl->SimulateHotKey(This,hWnd,dwHotKeyID);
1738 }
1739 static FORCEINLINE HRESULT IActiveIMMApp_UnregisterWordA(IActiveIMMApp* This,HKL hKL,LPSTR szReading,DWORD dwStyle,LPSTR szUnregister) {
1740     return This->lpVtbl->UnregisterWordA(This,hKL,szReading,dwStyle,szUnregister);
1741 }
1742 static FORCEINLINE HRESULT IActiveIMMApp_UnregisterWordW(IActiveIMMApp* This,HKL hKL,LPWSTR szReading,DWORD dwStyle,LPWSTR szUnregister) {
1743     return This->lpVtbl->UnregisterWordW(This,hKL,szReading,dwStyle,szUnregister);
1744 }
1745 static FORCEINLINE HRESULT IActiveIMMApp_Activate(IActiveIMMApp* This,WINBOOL fRestoreLayout) {
1746     return This->lpVtbl->Activate(This,fRestoreLayout);
1747 }
1748 static FORCEINLINE HRESULT IActiveIMMApp_Deactivate(IActiveIMMApp* This) {
1749     return This->lpVtbl->Deactivate(This);
1750 }
1751 static FORCEINLINE HRESULT IActiveIMMApp_OnDefWindowProc(IActiveIMMApp* This,HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam,LRESULT *plResult) {
1752     return This->lpVtbl->OnDefWindowProc(This,hWnd,Msg,wParam,lParam,plResult);
1753 }
1754 static FORCEINLINE HRESULT IActiveIMMApp_FilterClientWindows(IActiveIMMApp* This,ATOM *aaClassList,UINT uSize) {
1755     return This->lpVtbl->FilterClientWindows(This,aaClassList,uSize);
1756 }
1757 static FORCEINLINE HRESULT IActiveIMMApp_GetCodePageA(IActiveIMMApp* This,HKL hKL,UINT *uCodePage) {
1758     return This->lpVtbl->GetCodePageA(This,hKL,uCodePage);
1759 }
1760 static FORCEINLINE HRESULT IActiveIMMApp_GetLangId(IActiveIMMApp* This,HKL hKL,LANGID *plid) {
1761     return This->lpVtbl->GetLangId(This,hKL,plid);
1762 }
1763 static FORCEINLINE HRESULT IActiveIMMApp_AssociateContextEx(IActiveIMMApp* This,HWND hWnd,HIMC hIMC,DWORD dwFlags) {
1764     return This->lpVtbl->AssociateContextEx(This,hWnd,hIMC,dwFlags);
1765 }
1766 static FORCEINLINE HRESULT IActiveIMMApp_DisableIME(IActiveIMMApp* This,DWORD idThread) {
1767     return This->lpVtbl->DisableIME(This,idThread);
1768 }
1769 static FORCEINLINE HRESULT IActiveIMMApp_GetImeMenuItemsA(IActiveIMMApp* This,HIMC hIMC,DWORD dwFlags,DWORD dwType,IMEMENUITEMINFOA *pImeParentMenu,IMEMENUITEMINFOA *pImeMenu,DWORD dwSize,DWORD *pdwResult) {
1770     return This->lpVtbl->GetImeMenuItemsA(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult);
1771 }
1772 static FORCEINLINE HRESULT IActiveIMMApp_GetImeMenuItemsW(IActiveIMMApp* This,HIMC hIMC,DWORD dwFlags,DWORD dwType,IMEMENUITEMINFOW *pImeParentMenu,IMEMENUITEMINFOW *pImeMenu,DWORD dwSize,DWORD *pdwResult) {
1773     return This->lpVtbl->GetImeMenuItemsW(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult);
1774 }
1775 static FORCEINLINE HRESULT IActiveIMMApp_EnumInputContext(IActiveIMMApp* This,DWORD idThread,IEnumInputContext **ppEnum) {
1776     return This->lpVtbl->EnumInputContext(This,idThread,ppEnum);
1777 }
1778 #endif
1779 #endif
1780 
1781 #endif
1782 
1783 HRESULT STDMETHODCALLTYPE IActiveIMMApp_AssociateContext_Proxy(
1784     IActiveIMMApp* This,
1785     HWND hWnd,
1786     HIMC hIME,
1787     HIMC *phPrev);
1788 void __RPC_STUB IActiveIMMApp_AssociateContext_Stub(
1789     IRpcStubBuffer* This,
1790     IRpcChannelBuffer* pRpcChannelBuffer,
1791     PRPC_MESSAGE pRpcMessage,
1792     DWORD* pdwStubPhase);
1793 HRESULT STDMETHODCALLTYPE IActiveIMMApp_ConfigureIMEA_Proxy(
1794     IActiveIMMApp* This,
1795     HKL hKL,
1796     HWND hWnd,
1797     DWORD dwMode,
1798     REGISTERWORDA *pData);
1799 void __RPC_STUB IActiveIMMApp_ConfigureIMEA_Stub(
1800     IRpcStubBuffer* This,
1801     IRpcChannelBuffer* pRpcChannelBuffer,
1802     PRPC_MESSAGE pRpcMessage,
1803     DWORD* pdwStubPhase);
1804 HRESULT STDMETHODCALLTYPE IActiveIMMApp_ConfigureIMEW_Proxy(
1805     IActiveIMMApp* This,
1806     HKL hKL,
1807     HWND hWnd,
1808     DWORD dwMode,
1809     REGISTERWORDW *pData);
1810 void __RPC_STUB IActiveIMMApp_ConfigureIMEW_Stub(
1811     IRpcStubBuffer* This,
1812     IRpcChannelBuffer* pRpcChannelBuffer,
1813     PRPC_MESSAGE pRpcMessage,
1814     DWORD* pdwStubPhase);
1815 HRESULT STDMETHODCALLTYPE IActiveIMMApp_CreateContext_Proxy(
1816     IActiveIMMApp* This,
1817     HIMC *phIMC);
1818 void __RPC_STUB IActiveIMMApp_CreateContext_Stub(
1819     IRpcStubBuffer* This,
1820     IRpcChannelBuffer* pRpcChannelBuffer,
1821     PRPC_MESSAGE pRpcMessage,
1822     DWORD* pdwStubPhase);
1823 HRESULT STDMETHODCALLTYPE IActiveIMMApp_DestroyContext_Proxy(
1824     IActiveIMMApp* This,
1825     HIMC hIME);
1826 void __RPC_STUB IActiveIMMApp_DestroyContext_Stub(
1827     IRpcStubBuffer* This,
1828     IRpcChannelBuffer* pRpcChannelBuffer,
1829     PRPC_MESSAGE pRpcMessage,
1830     DWORD* pdwStubPhase);
1831 HRESULT STDMETHODCALLTYPE IActiveIMMApp_EnumRegisterWordA_Proxy(
1832     IActiveIMMApp* This,
1833     HKL hKL,
1834     LPSTR szReading,
1835     DWORD dwStyle,
1836     LPSTR szRegister,
1837     LPVOID pData,
1838     IEnumRegisterWordA **pEnum);
1839 void __RPC_STUB IActiveIMMApp_EnumRegisterWordA_Stub(
1840     IRpcStubBuffer* This,
1841     IRpcChannelBuffer* pRpcChannelBuffer,
1842     PRPC_MESSAGE pRpcMessage,
1843     DWORD* pdwStubPhase);
1844 HRESULT STDMETHODCALLTYPE IActiveIMMApp_EnumRegisterWordW_Proxy(
1845     IActiveIMMApp* This,
1846     HKL hKL,
1847     LPWSTR szReading,
1848     DWORD dwStyle,
1849     LPWSTR szRegister,
1850     LPVOID pData,
1851     IEnumRegisterWordW **pEnum);
1852 void __RPC_STUB IActiveIMMApp_EnumRegisterWordW_Stub(
1853     IRpcStubBuffer* This,
1854     IRpcChannelBuffer* pRpcChannelBuffer,
1855     PRPC_MESSAGE pRpcMessage,
1856     DWORD* pdwStubPhase);
1857 HRESULT STDMETHODCALLTYPE IActiveIMMApp_EscapeA_Proxy(
1858     IActiveIMMApp* This,
1859     HKL hKL,
1860     HIMC hIMC,
1861     UINT uEscape,
1862     LPVOID pData,
1863     LRESULT *plResult);
1864 void __RPC_STUB IActiveIMMApp_EscapeA_Stub(
1865     IRpcStubBuffer* This,
1866     IRpcChannelBuffer* pRpcChannelBuffer,
1867     PRPC_MESSAGE pRpcMessage,
1868     DWORD* pdwStubPhase);
1869 HRESULT STDMETHODCALLTYPE IActiveIMMApp_EscapeW_Proxy(
1870     IActiveIMMApp* This,
1871     HKL hKL,
1872     HIMC hIMC,
1873     UINT uEscape,
1874     LPVOID pData,
1875     LRESULT *plResult);
1876 void __RPC_STUB IActiveIMMApp_EscapeW_Stub(
1877     IRpcStubBuffer* This,
1878     IRpcChannelBuffer* pRpcChannelBuffer,
1879     PRPC_MESSAGE pRpcMessage,
1880     DWORD* pdwStubPhase);
1881 HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetCandidateListA_Proxy(
1882     IActiveIMMApp* This,
1883     HIMC hIMC,
1884     DWORD dwIndex,
1885     UINT uBufLen,
1886     CANDIDATELIST *pCandList,
1887     UINT *puCopied);
1888 void __RPC_STUB IActiveIMMApp_GetCandidateListA_Stub(
1889     IRpcStubBuffer* This,
1890     IRpcChannelBuffer* pRpcChannelBuffer,
1891     PRPC_MESSAGE pRpcMessage,
1892     DWORD* pdwStubPhase);
1893 HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetCandidateListW_Proxy(
1894     IActiveIMMApp* This,
1895     HIMC hIMC,
1896     DWORD dwIndex,
1897     UINT uBufLen,
1898     CANDIDATELIST *pCandList,
1899     UINT *puCopied);
1900 void __RPC_STUB IActiveIMMApp_GetCandidateListW_Stub(
1901     IRpcStubBuffer* This,
1902     IRpcChannelBuffer* pRpcChannelBuffer,
1903     PRPC_MESSAGE pRpcMessage,
1904     DWORD* pdwStubPhase);
1905 HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetCandidateListCountA_Proxy(
1906     IActiveIMMApp* This,
1907     HIMC hIMC,
1908     DWORD *pdwListSize,
1909     DWORD *pdwBufLen);
1910 void __RPC_STUB IActiveIMMApp_GetCandidateListCountA_Stub(
1911     IRpcStubBuffer* This,
1912     IRpcChannelBuffer* pRpcChannelBuffer,
1913     PRPC_MESSAGE pRpcMessage,
1914     DWORD* pdwStubPhase);
1915 HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetCandidateListCountW_Proxy(
1916     IActiveIMMApp* This,
1917     HIMC hIMC,
1918     DWORD *pdwListSize,
1919     DWORD *pdwBufLen);
1920 void __RPC_STUB IActiveIMMApp_GetCandidateListCountW_Stub(
1921     IRpcStubBuffer* This,
1922     IRpcChannelBuffer* pRpcChannelBuffer,
1923     PRPC_MESSAGE pRpcMessage,
1924     DWORD* pdwStubPhase);
1925 HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetCandidateWindow_Proxy(
1926     IActiveIMMApp* This,
1927     HIMC hIMC,
1928     DWORD dwIndex,
1929     CANDIDATEFORM *pCandidate);
1930 void __RPC_STUB IActiveIMMApp_GetCandidateWindow_Stub(
1931     IRpcStubBuffer* This,
1932     IRpcChannelBuffer* pRpcChannelBuffer,
1933     PRPC_MESSAGE pRpcMessage,
1934     DWORD* pdwStubPhase);
1935 HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetCompositionFontA_Proxy(
1936     IActiveIMMApp* This,
1937     HIMC hIMC,
1938     LOGFONTA *plf);
1939 void __RPC_STUB IActiveIMMApp_GetCompositionFontA_Stub(
1940     IRpcStubBuffer* This,
1941     IRpcChannelBuffer* pRpcChannelBuffer,
1942     PRPC_MESSAGE pRpcMessage,
1943     DWORD* pdwStubPhase);
1944 HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetCompositionFontW_Proxy(
1945     IActiveIMMApp* This,
1946     HIMC hIMC,
1947     LOGFONTW *plf);
1948 void __RPC_STUB IActiveIMMApp_GetCompositionFontW_Stub(
1949     IRpcStubBuffer* This,
1950     IRpcChannelBuffer* pRpcChannelBuffer,
1951     PRPC_MESSAGE pRpcMessage,
1952     DWORD* pdwStubPhase);
1953 HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetCompositionStringA_Proxy(
1954     IActiveIMMApp* This,
1955     HIMC hIMC,
1956     DWORD dwIndex,
1957     DWORD dwBufLen,
1958     LONG *plCopied,
1959     LPVOID pBuf);
1960 void __RPC_STUB IActiveIMMApp_GetCompositionStringA_Stub(
1961     IRpcStubBuffer* This,
1962     IRpcChannelBuffer* pRpcChannelBuffer,
1963     PRPC_MESSAGE pRpcMessage,
1964     DWORD* pdwStubPhase);
1965 HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetCompositionStringW_Proxy(
1966     IActiveIMMApp* This,
1967     HIMC hIMC,
1968     DWORD dwIndex,
1969     DWORD dwBufLen,
1970     LONG *plCopied,
1971     LPVOID pBuf);
1972 void __RPC_STUB IActiveIMMApp_GetCompositionStringW_Stub(
1973     IRpcStubBuffer* This,
1974     IRpcChannelBuffer* pRpcChannelBuffer,
1975     PRPC_MESSAGE pRpcMessage,
1976     DWORD* pdwStubPhase);
1977 HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetCompositionWindow_Proxy(
1978     IActiveIMMApp* This,
1979     HIMC hIMC,
1980     COMPOSITIONFORM *pCompForm);
1981 void __RPC_STUB IActiveIMMApp_GetCompositionWindow_Stub(
1982     IRpcStubBuffer* This,
1983     IRpcChannelBuffer* pRpcChannelBuffer,
1984     PRPC_MESSAGE pRpcMessage,
1985     DWORD* pdwStubPhase);
1986 HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetContext_Proxy(
1987     IActiveIMMApp* This,
1988     HWND hWnd,
1989     HIMC *phIMC);
1990 void __RPC_STUB IActiveIMMApp_GetContext_Stub(
1991     IRpcStubBuffer* This,
1992     IRpcChannelBuffer* pRpcChannelBuffer,
1993     PRPC_MESSAGE pRpcMessage,
1994     DWORD* pdwStubPhase);
1995 HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetConversionListA_Proxy(
1996     IActiveIMMApp* This,
1997     HKL hKL,
1998     HIMC hIMC,
1999     LPSTR pSrc,
2000     UINT uBufLen,
2001     UINT uFlag,
2002     CANDIDATELIST *pDst,
2003     UINT *puCopied);
2004 void __RPC_STUB IActiveIMMApp_GetConversionListA_Stub(
2005     IRpcStubBuffer* This,
2006     IRpcChannelBuffer* pRpcChannelBuffer,
2007     PRPC_MESSAGE pRpcMessage,
2008     DWORD* pdwStubPhase);
2009 HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetConversionListW_Proxy(
2010     IActiveIMMApp* This,
2011     HKL hKL,
2012     HIMC hIMC,
2013     LPWSTR pSrc,
2014     UINT uBufLen,
2015     UINT uFlag,
2016     CANDIDATELIST *pDst,
2017     UINT *puCopied);
2018 void __RPC_STUB IActiveIMMApp_GetConversionListW_Stub(
2019     IRpcStubBuffer* This,
2020     IRpcChannelBuffer* pRpcChannelBuffer,
2021     PRPC_MESSAGE pRpcMessage,
2022     DWORD* pdwStubPhase);
2023 HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetConversionStatus_Proxy(
2024     IActiveIMMApp* This,
2025     HIMC hIMC,
2026     DWORD *pfdwConversion,
2027     DWORD *pfdwSentence);
2028 void __RPC_STUB IActiveIMMApp_GetConversionStatus_Stub(
2029     IRpcStubBuffer* This,
2030     IRpcChannelBuffer* pRpcChannelBuffer,
2031     PRPC_MESSAGE pRpcMessage,
2032     DWORD* pdwStubPhase);
2033 HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetDefaultIMEWnd_Proxy(
2034     IActiveIMMApp* This,
2035     HWND hWnd,
2036     HWND *phDefWnd);
2037 void __RPC_STUB IActiveIMMApp_GetDefaultIMEWnd_Stub(
2038     IRpcStubBuffer* This,
2039     IRpcChannelBuffer* pRpcChannelBuffer,
2040     PRPC_MESSAGE pRpcMessage,
2041     DWORD* pdwStubPhase);
2042 HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetDescriptionA_Proxy(
2043     IActiveIMMApp* This,
2044     HKL hKL,
2045     UINT uBufLen,
2046     LPSTR szDescription,
2047     UINT *puCopied);
2048 void __RPC_STUB IActiveIMMApp_GetDescriptionA_Stub(
2049     IRpcStubBuffer* This,
2050     IRpcChannelBuffer* pRpcChannelBuffer,
2051     PRPC_MESSAGE pRpcMessage,
2052     DWORD* pdwStubPhase);
2053 HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetDescriptionW_Proxy(
2054     IActiveIMMApp* This,
2055     HKL hKL,
2056     UINT uBufLen,
2057     LPWSTR szDescription,
2058     UINT *puCopied);
2059 void __RPC_STUB IActiveIMMApp_GetDescriptionW_Stub(
2060     IRpcStubBuffer* This,
2061     IRpcChannelBuffer* pRpcChannelBuffer,
2062     PRPC_MESSAGE pRpcMessage,
2063     DWORD* pdwStubPhase);
2064 HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetGuideLineA_Proxy(
2065     IActiveIMMApp* This,
2066     HIMC hIMC,
2067     DWORD dwIndex,
2068     DWORD dwBufLen,
2069     LPSTR pBuf,
2070     DWORD *pdwResult);
2071 void __RPC_STUB IActiveIMMApp_GetGuideLineA_Stub(
2072     IRpcStubBuffer* This,
2073     IRpcChannelBuffer* pRpcChannelBuffer,
2074     PRPC_MESSAGE pRpcMessage,
2075     DWORD* pdwStubPhase);
2076 HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetGuideLineW_Proxy(
2077     IActiveIMMApp* This,
2078     HIMC hIMC,
2079     DWORD dwIndex,
2080     DWORD dwBufLen,
2081     LPWSTR pBuf,
2082     DWORD *pdwResult);
2083 void __RPC_STUB IActiveIMMApp_GetGuideLineW_Stub(
2084     IRpcStubBuffer* This,
2085     IRpcChannelBuffer* pRpcChannelBuffer,
2086     PRPC_MESSAGE pRpcMessage,
2087     DWORD* pdwStubPhase);
2088 HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetIMEFileNameA_Proxy(
2089     IActiveIMMApp* This,
2090     HKL hKL,
2091     UINT uBufLen,
2092     LPSTR szFileName,
2093     UINT *puCopied);
2094 void __RPC_STUB IActiveIMMApp_GetIMEFileNameA_Stub(
2095     IRpcStubBuffer* This,
2096     IRpcChannelBuffer* pRpcChannelBuffer,
2097     PRPC_MESSAGE pRpcMessage,
2098     DWORD* pdwStubPhase);
2099 HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetIMEFileNameW_Proxy(
2100     IActiveIMMApp* This,
2101     HKL hKL,
2102     UINT uBufLen,
2103     LPWSTR szFileName,
2104     UINT *puCopied);
2105 void __RPC_STUB IActiveIMMApp_GetIMEFileNameW_Stub(
2106     IRpcStubBuffer* This,
2107     IRpcChannelBuffer* pRpcChannelBuffer,
2108     PRPC_MESSAGE pRpcMessage,
2109     DWORD* pdwStubPhase);
2110 HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetOpenStatus_Proxy(
2111     IActiveIMMApp* This,
2112     HIMC hIMC);
2113 void __RPC_STUB IActiveIMMApp_GetOpenStatus_Stub(
2114     IRpcStubBuffer* This,
2115     IRpcChannelBuffer* pRpcChannelBuffer,
2116     PRPC_MESSAGE pRpcMessage,
2117     DWORD* pdwStubPhase);
2118 HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetProperty_Proxy(
2119     IActiveIMMApp* This,
2120     HKL hKL,
2121     DWORD fdwIndex,
2122     DWORD *pdwProperty);
2123 void __RPC_STUB IActiveIMMApp_GetProperty_Stub(
2124     IRpcStubBuffer* This,
2125     IRpcChannelBuffer* pRpcChannelBuffer,
2126     PRPC_MESSAGE pRpcMessage,
2127     DWORD* pdwStubPhase);
2128 HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetRegisterWordStyleA_Proxy(
2129     IActiveIMMApp* This,
2130     HKL hKL,
2131     UINT nItem,
2132     STYLEBUFA *pStyleBuf,
2133     UINT *puCopied);
2134 void __RPC_STUB IActiveIMMApp_GetRegisterWordStyleA_Stub(
2135     IRpcStubBuffer* This,
2136     IRpcChannelBuffer* pRpcChannelBuffer,
2137     PRPC_MESSAGE pRpcMessage,
2138     DWORD* pdwStubPhase);
2139 HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetRegisterWordStyleW_Proxy(
2140     IActiveIMMApp* This,
2141     HKL hKL,
2142     UINT nItem,
2143     STYLEBUFW *pStyleBuf,
2144     UINT *puCopied);
2145 void __RPC_STUB IActiveIMMApp_GetRegisterWordStyleW_Stub(
2146     IRpcStubBuffer* This,
2147     IRpcChannelBuffer* pRpcChannelBuffer,
2148     PRPC_MESSAGE pRpcMessage,
2149     DWORD* pdwStubPhase);
2150 HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetStatusWindowPos_Proxy(
2151     IActiveIMMApp* This,
2152     HIMC hIMC,
2153     POINT *pptPos);
2154 void __RPC_STUB IActiveIMMApp_GetStatusWindowPos_Stub(
2155     IRpcStubBuffer* This,
2156     IRpcChannelBuffer* pRpcChannelBuffer,
2157     PRPC_MESSAGE pRpcMessage,
2158     DWORD* pdwStubPhase);
2159 HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetVirtualKey_Proxy(
2160     IActiveIMMApp* This,
2161     HWND hWnd,
2162     UINT *puVirtualKey);
2163 void __RPC_STUB IActiveIMMApp_GetVirtualKey_Stub(
2164     IRpcStubBuffer* This,
2165     IRpcChannelBuffer* pRpcChannelBuffer,
2166     PRPC_MESSAGE pRpcMessage,
2167     DWORD* pdwStubPhase);
2168 HRESULT STDMETHODCALLTYPE IActiveIMMApp_InstallIMEA_Proxy(
2169     IActiveIMMApp* This,
2170     LPSTR szIMEFileName,
2171     LPSTR szLayoutText,
2172     HKL *phKL);
2173 void __RPC_STUB IActiveIMMApp_InstallIMEA_Stub(
2174     IRpcStubBuffer* This,
2175     IRpcChannelBuffer* pRpcChannelBuffer,
2176     PRPC_MESSAGE pRpcMessage,
2177     DWORD* pdwStubPhase);
2178 HRESULT STDMETHODCALLTYPE IActiveIMMApp_InstallIMEW_Proxy(
2179     IActiveIMMApp* This,
2180     LPWSTR szIMEFileName,
2181     LPWSTR szLayoutText,
2182     HKL *phKL);
2183 void __RPC_STUB IActiveIMMApp_InstallIMEW_Stub(
2184     IRpcStubBuffer* This,
2185     IRpcChannelBuffer* pRpcChannelBuffer,
2186     PRPC_MESSAGE pRpcMessage,
2187     DWORD* pdwStubPhase);
2188 HRESULT STDMETHODCALLTYPE IActiveIMMApp_IsIME_Proxy(
2189     IActiveIMMApp* This,
2190     HKL hKL);
2191 void __RPC_STUB IActiveIMMApp_IsIME_Stub(
2192     IRpcStubBuffer* This,
2193     IRpcChannelBuffer* pRpcChannelBuffer,
2194     PRPC_MESSAGE pRpcMessage,
2195     DWORD* pdwStubPhase);
2196 HRESULT STDMETHODCALLTYPE IActiveIMMApp_IsUIMessageA_Proxy(
2197     IActiveIMMApp* This,
2198     HWND hWndIME,
2199     UINT msg,
2200     WPARAM wParam,
2201     LPARAM lParam);
2202 void __RPC_STUB IActiveIMMApp_IsUIMessageA_Stub(
2203     IRpcStubBuffer* This,
2204     IRpcChannelBuffer* pRpcChannelBuffer,
2205     PRPC_MESSAGE pRpcMessage,
2206     DWORD* pdwStubPhase);
2207 HRESULT STDMETHODCALLTYPE IActiveIMMApp_IsUIMessageW_Proxy(
2208     IActiveIMMApp* This,
2209     HWND hWndIME,
2210     UINT msg,
2211     WPARAM wParam,
2212     LPARAM lParam);
2213 void __RPC_STUB IActiveIMMApp_IsUIMessageW_Stub(
2214     IRpcStubBuffer* This,
2215     IRpcChannelBuffer* pRpcChannelBuffer,
2216     PRPC_MESSAGE pRpcMessage,
2217     DWORD* pdwStubPhase);
2218 HRESULT STDMETHODCALLTYPE IActiveIMMApp_NotifyIME_Proxy(
2219     IActiveIMMApp* This,
2220     HIMC hIMC,
2221     DWORD dwAction,
2222     DWORD dwIndex,
2223     DWORD dwValue);
2224 void __RPC_STUB IActiveIMMApp_NotifyIME_Stub(
2225     IRpcStubBuffer* This,
2226     IRpcChannelBuffer* pRpcChannelBuffer,
2227     PRPC_MESSAGE pRpcMessage,
2228     DWORD* pdwStubPhase);
2229 HRESULT STDMETHODCALLTYPE IActiveIMMApp_RegisterWordA_Proxy(
2230     IActiveIMMApp* This,
2231     HKL hKL,
2232     LPSTR szReading,
2233     DWORD dwStyle,
2234     LPSTR szRegister);
2235 void __RPC_STUB IActiveIMMApp_RegisterWordA_Stub(
2236     IRpcStubBuffer* This,
2237     IRpcChannelBuffer* pRpcChannelBuffer,
2238     PRPC_MESSAGE pRpcMessage,
2239     DWORD* pdwStubPhase);
2240 HRESULT STDMETHODCALLTYPE IActiveIMMApp_RegisterWordW_Proxy(
2241     IActiveIMMApp* This,
2242     HKL hKL,
2243     LPWSTR szReading,
2244     DWORD dwStyle,
2245     LPWSTR szRegister);
2246 void __RPC_STUB IActiveIMMApp_RegisterWordW_Stub(
2247     IRpcStubBuffer* This,
2248     IRpcChannelBuffer* pRpcChannelBuffer,
2249     PRPC_MESSAGE pRpcMessage,
2250     DWORD* pdwStubPhase);
2251 HRESULT STDMETHODCALLTYPE IActiveIMMApp_ReleaseContext_Proxy(
2252     IActiveIMMApp* This,
2253     HWND hWnd,
2254     HIMC hIMC);
2255 void __RPC_STUB IActiveIMMApp_ReleaseContext_Stub(
2256     IRpcStubBuffer* This,
2257     IRpcChannelBuffer* pRpcChannelBuffer,
2258     PRPC_MESSAGE pRpcMessage,
2259     DWORD* pdwStubPhase);
2260 HRESULT STDMETHODCALLTYPE IActiveIMMApp_SetCandidateWindow_Proxy(
2261     IActiveIMMApp* This,
2262     HIMC hIMC,
2263     CANDIDATEFORM *pCandidate);
2264 void __RPC_STUB IActiveIMMApp_SetCandidateWindow_Stub(
2265     IRpcStubBuffer* This,
2266     IRpcChannelBuffer* pRpcChannelBuffer,
2267     PRPC_MESSAGE pRpcMessage,
2268     DWORD* pdwStubPhase);
2269 HRESULT STDMETHODCALLTYPE IActiveIMMApp_SetCompositionFontA_Proxy(
2270     IActiveIMMApp* This,
2271     HIMC hIMC,
2272     LOGFONTA *plf);
2273 void __RPC_STUB IActiveIMMApp_SetCompositionFontA_Stub(
2274     IRpcStubBuffer* This,
2275     IRpcChannelBuffer* pRpcChannelBuffer,
2276     PRPC_MESSAGE pRpcMessage,
2277     DWORD* pdwStubPhase);
2278 HRESULT STDMETHODCALLTYPE IActiveIMMApp_SetCompositionFontW_Proxy(
2279     IActiveIMMApp* This,
2280     HIMC hIMC,
2281     LOGFONTW *plf);
2282 void __RPC_STUB IActiveIMMApp_SetCompositionFontW_Stub(
2283     IRpcStubBuffer* This,
2284     IRpcChannelBuffer* pRpcChannelBuffer,
2285     PRPC_MESSAGE pRpcMessage,
2286     DWORD* pdwStubPhase);
2287 HRESULT STDMETHODCALLTYPE IActiveIMMApp_SetCompositionStringA_Proxy(
2288     IActiveIMMApp* This,
2289     HIMC hIMC,
2290     DWORD dwIndex,
2291     LPVOID pComp,
2292     DWORD dwCompLen,
2293     LPVOID pRead,
2294     DWORD dwReadLen);
2295 void __RPC_STUB IActiveIMMApp_SetCompositionStringA_Stub(
2296     IRpcStubBuffer* This,
2297     IRpcChannelBuffer* pRpcChannelBuffer,
2298     PRPC_MESSAGE pRpcMessage,
2299     DWORD* pdwStubPhase);
2300 HRESULT STDMETHODCALLTYPE IActiveIMMApp_SetCompositionStringW_Proxy(
2301     IActiveIMMApp* This,
2302     HIMC hIMC,
2303     DWORD dwIndex,
2304     LPVOID pComp,
2305     DWORD dwCompLen,
2306     LPVOID pRead,
2307     DWORD dwReadLen);
2308 void __RPC_STUB IActiveIMMApp_SetCompositionStringW_Stub(
2309     IRpcStubBuffer* This,
2310     IRpcChannelBuffer* pRpcChannelBuffer,
2311     PRPC_MESSAGE pRpcMessage,
2312     DWORD* pdwStubPhase);
2313 HRESULT STDMETHODCALLTYPE IActiveIMMApp_SetCompositionWindow_Proxy(
2314     IActiveIMMApp* This,
2315     HIMC hIMC,
2316     COMPOSITIONFORM *pCompForm);
2317 void __RPC_STUB IActiveIMMApp_SetCompositionWindow_Stub(
2318     IRpcStubBuffer* This,
2319     IRpcChannelBuffer* pRpcChannelBuffer,
2320     PRPC_MESSAGE pRpcMessage,
2321     DWORD* pdwStubPhase);
2322 HRESULT STDMETHODCALLTYPE IActiveIMMApp_SetConversionStatus_Proxy(
2323     IActiveIMMApp* This,
2324     HIMC hIMC,
2325     DWORD fdwConversion,
2326     DWORD fdwSentence);
2327 void __RPC_STUB IActiveIMMApp_SetConversionStatus_Stub(
2328     IRpcStubBuffer* This,
2329     IRpcChannelBuffer* pRpcChannelBuffer,
2330     PRPC_MESSAGE pRpcMessage,
2331     DWORD* pdwStubPhase);
2332 HRESULT STDMETHODCALLTYPE IActiveIMMApp_SetOpenStatus_Proxy(
2333     IActiveIMMApp* This,
2334     HIMC hIMC,
2335     WINBOOL fOpen);
2336 void __RPC_STUB IActiveIMMApp_SetOpenStatus_Stub(
2337     IRpcStubBuffer* This,
2338     IRpcChannelBuffer* pRpcChannelBuffer,
2339     PRPC_MESSAGE pRpcMessage,
2340     DWORD* pdwStubPhase);
2341 HRESULT STDMETHODCALLTYPE IActiveIMMApp_SetStatusWindowPos_Proxy(
2342     IActiveIMMApp* This,
2343     HIMC hIMC,
2344     POINT *pptPos);
2345 void __RPC_STUB IActiveIMMApp_SetStatusWindowPos_Stub(
2346     IRpcStubBuffer* This,
2347     IRpcChannelBuffer* pRpcChannelBuffer,
2348     PRPC_MESSAGE pRpcMessage,
2349     DWORD* pdwStubPhase);
2350 HRESULT STDMETHODCALLTYPE IActiveIMMApp_SimulateHotKey_Proxy(
2351     IActiveIMMApp* This,
2352     HWND hWnd,
2353     DWORD dwHotKeyID);
2354 void __RPC_STUB IActiveIMMApp_SimulateHotKey_Stub(
2355     IRpcStubBuffer* This,
2356     IRpcChannelBuffer* pRpcChannelBuffer,
2357     PRPC_MESSAGE pRpcMessage,
2358     DWORD* pdwStubPhase);
2359 HRESULT STDMETHODCALLTYPE IActiveIMMApp_UnregisterWordA_Proxy(
2360     IActiveIMMApp* This,
2361     HKL hKL,
2362     LPSTR szReading,
2363     DWORD dwStyle,
2364     LPSTR szUnregister);
2365 void __RPC_STUB IActiveIMMApp_UnregisterWordA_Stub(
2366     IRpcStubBuffer* This,
2367     IRpcChannelBuffer* pRpcChannelBuffer,
2368     PRPC_MESSAGE pRpcMessage,
2369     DWORD* pdwStubPhase);
2370 HRESULT STDMETHODCALLTYPE IActiveIMMApp_UnregisterWordW_Proxy(
2371     IActiveIMMApp* This,
2372     HKL hKL,
2373     LPWSTR szReading,
2374     DWORD dwStyle,
2375     LPWSTR szUnregister);
2376 void __RPC_STUB IActiveIMMApp_UnregisterWordW_Stub(
2377     IRpcStubBuffer* This,
2378     IRpcChannelBuffer* pRpcChannelBuffer,
2379     PRPC_MESSAGE pRpcMessage,
2380     DWORD* pdwStubPhase);
2381 HRESULT STDMETHODCALLTYPE IActiveIMMApp_Activate_Proxy(
2382     IActiveIMMApp* This,
2383     WINBOOL fRestoreLayout);
2384 void __RPC_STUB IActiveIMMApp_Activate_Stub(
2385     IRpcStubBuffer* This,
2386     IRpcChannelBuffer* pRpcChannelBuffer,
2387     PRPC_MESSAGE pRpcMessage,
2388     DWORD* pdwStubPhase);
2389 HRESULT STDMETHODCALLTYPE IActiveIMMApp_Deactivate_Proxy(
2390     IActiveIMMApp* This);
2391 void __RPC_STUB IActiveIMMApp_Deactivate_Stub(
2392     IRpcStubBuffer* This,
2393     IRpcChannelBuffer* pRpcChannelBuffer,
2394     PRPC_MESSAGE pRpcMessage,
2395     DWORD* pdwStubPhase);
2396 HRESULT STDMETHODCALLTYPE IActiveIMMApp_OnDefWindowProc_Proxy(
2397     IActiveIMMApp* This,
2398     HWND hWnd,
2399     UINT Msg,
2400     WPARAM wParam,
2401     LPARAM lParam,
2402     LRESULT *plResult);
2403 void __RPC_STUB IActiveIMMApp_OnDefWindowProc_Stub(
2404     IRpcStubBuffer* This,
2405     IRpcChannelBuffer* pRpcChannelBuffer,
2406     PRPC_MESSAGE pRpcMessage,
2407     DWORD* pdwStubPhase);
2408 HRESULT STDMETHODCALLTYPE IActiveIMMApp_FilterClientWindows_Proxy(
2409     IActiveIMMApp* This,
2410     ATOM *aaClassList,
2411     UINT uSize);
2412 void __RPC_STUB IActiveIMMApp_FilterClientWindows_Stub(
2413     IRpcStubBuffer* This,
2414     IRpcChannelBuffer* pRpcChannelBuffer,
2415     PRPC_MESSAGE pRpcMessage,
2416     DWORD* pdwStubPhase);
2417 HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetCodePageA_Proxy(
2418     IActiveIMMApp* This,
2419     HKL hKL,
2420     UINT *uCodePage);
2421 void __RPC_STUB IActiveIMMApp_GetCodePageA_Stub(
2422     IRpcStubBuffer* This,
2423     IRpcChannelBuffer* pRpcChannelBuffer,
2424     PRPC_MESSAGE pRpcMessage,
2425     DWORD* pdwStubPhase);
2426 HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetLangId_Proxy(
2427     IActiveIMMApp* This,
2428     HKL hKL,
2429     LANGID *plid);
2430 void __RPC_STUB IActiveIMMApp_GetLangId_Stub(
2431     IRpcStubBuffer* This,
2432     IRpcChannelBuffer* pRpcChannelBuffer,
2433     PRPC_MESSAGE pRpcMessage,
2434     DWORD* pdwStubPhase);
2435 HRESULT STDMETHODCALLTYPE IActiveIMMApp_AssociateContextEx_Proxy(
2436     IActiveIMMApp* This,
2437     HWND hWnd,
2438     HIMC hIMC,
2439     DWORD dwFlags);
2440 void __RPC_STUB IActiveIMMApp_AssociateContextEx_Stub(
2441     IRpcStubBuffer* This,
2442     IRpcChannelBuffer* pRpcChannelBuffer,
2443     PRPC_MESSAGE pRpcMessage,
2444     DWORD* pdwStubPhase);
2445 HRESULT STDMETHODCALLTYPE IActiveIMMApp_DisableIME_Proxy(
2446     IActiveIMMApp* This,
2447     DWORD idThread);
2448 void __RPC_STUB IActiveIMMApp_DisableIME_Stub(
2449     IRpcStubBuffer* This,
2450     IRpcChannelBuffer* pRpcChannelBuffer,
2451     PRPC_MESSAGE pRpcMessage,
2452     DWORD* pdwStubPhase);
2453 HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetImeMenuItemsA_Proxy(
2454     IActiveIMMApp* This,
2455     HIMC hIMC,
2456     DWORD dwFlags,
2457     DWORD dwType,
2458     IMEMENUITEMINFOA *pImeParentMenu,
2459     IMEMENUITEMINFOA *pImeMenu,
2460     DWORD dwSize,
2461     DWORD *pdwResult);
2462 void __RPC_STUB IActiveIMMApp_GetImeMenuItemsA_Stub(
2463     IRpcStubBuffer* This,
2464     IRpcChannelBuffer* pRpcChannelBuffer,
2465     PRPC_MESSAGE pRpcMessage,
2466     DWORD* pdwStubPhase);
2467 HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetImeMenuItemsW_Proxy(
2468     IActiveIMMApp* This,
2469     HIMC hIMC,
2470     DWORD dwFlags,
2471     DWORD dwType,
2472     IMEMENUITEMINFOW *pImeParentMenu,
2473     IMEMENUITEMINFOW *pImeMenu,
2474     DWORD dwSize,
2475     DWORD *pdwResult);
2476 void __RPC_STUB IActiveIMMApp_GetImeMenuItemsW_Stub(
2477     IRpcStubBuffer* This,
2478     IRpcChannelBuffer* pRpcChannelBuffer,
2479     PRPC_MESSAGE pRpcMessage,
2480     DWORD* pdwStubPhase);
2481 HRESULT STDMETHODCALLTYPE IActiveIMMApp_EnumInputContext_Proxy(
2482     IActiveIMMApp* This,
2483     DWORD idThread,
2484     IEnumInputContext **ppEnum);
2485 void __RPC_STUB IActiveIMMApp_EnumInputContext_Stub(
2486     IRpcStubBuffer* This,
2487     IRpcChannelBuffer* pRpcChannelBuffer,
2488     PRPC_MESSAGE pRpcMessage,
2489     DWORD* pdwStubPhase);
2490 
2491 #endif  /* __IActiveIMMApp_INTERFACE_DEFINED__ */
2492 
2493 /*****************************************************************************
2494  * IActiveIMMIME interface
2495  */
2496 #ifndef __IActiveIMMIME_INTERFACE_DEFINED__
2497 #define __IActiveIMMIME_INTERFACE_DEFINED__
2498 
2499 DEFINE_GUID(IID_IActiveIMMIME, 0x08c03411, 0xf96b, 0x11d0, 0xa4,0x75, 0x00,0xaa,0x00,0x6b,0xcc,0x59);
2500 #if defined(__cplusplus) && !defined(CINTERFACE)
2501 MIDL_INTERFACE("08c03411-f96b-11d0-a475-00aa006bcc59")
2502 IActiveIMMIME : public IUnknown
2503 {
2504     virtual HRESULT STDMETHODCALLTYPE AssociateContext(
2505         HWND hWnd,
2506         HIMC hIME,
2507         HIMC *phPrev) = 0;
2508 
2509     virtual HRESULT STDMETHODCALLTYPE ConfigureIMEA(
2510         HKL hKL,
2511         HWND hWnd,
2512         DWORD dwMode,
2513         REGISTERWORDA *pData) = 0;
2514 
2515     virtual HRESULT STDMETHODCALLTYPE ConfigureIMEW(
2516         HKL hKL,
2517         HWND hWnd,
2518         DWORD dwMode,
2519         REGISTERWORDW *pData) = 0;
2520 
2521     virtual HRESULT STDMETHODCALLTYPE CreateContext(
2522         HIMC *phIMC) = 0;
2523 
2524     virtual HRESULT STDMETHODCALLTYPE DestroyContext(
2525         HIMC hIME) = 0;
2526 
2527     virtual HRESULT STDMETHODCALLTYPE EnumRegisterWordA(
2528         HKL hKL,
2529         LPSTR szReading,
2530         DWORD dwStyle,
2531         LPSTR szRegister,
2532         LPVOID pData,
2533         IEnumRegisterWordA **pEnum) = 0;
2534 
2535     virtual HRESULT STDMETHODCALLTYPE EnumRegisterWordW(
2536         HKL hKL,
2537         LPWSTR szReading,
2538         DWORD dwStyle,
2539         LPWSTR szRegister,
2540         LPVOID pData,
2541         IEnumRegisterWordW **pEnum) = 0;
2542 
2543     virtual HRESULT STDMETHODCALLTYPE EscapeA(
2544         HKL hKL,
2545         HIMC hIMC,
2546         UINT uEscape,
2547         LPVOID pData,
2548         LRESULT *plResult) = 0;
2549 
2550     virtual HRESULT STDMETHODCALLTYPE EscapeW(
2551         HKL hKL,
2552         HIMC hIMC,
2553         UINT uEscape,
2554         LPVOID pData,
2555         LRESULT *plResult) = 0;
2556 
2557     virtual HRESULT STDMETHODCALLTYPE GetCandidateListA(
2558         HIMC hIMC,
2559         DWORD dwIndex,
2560         UINT uBufLen,
2561         CANDIDATELIST *pCandList,
2562         UINT *puCopied) = 0;
2563 
2564     virtual HRESULT STDMETHODCALLTYPE GetCandidateListW(
2565         HIMC hIMC,
2566         DWORD dwIndex,
2567         UINT uBufLen,
2568         CANDIDATELIST *pCandList,
2569         UINT *puCopied) = 0;
2570 
2571     virtual HRESULT STDMETHODCALLTYPE GetCandidateListCountA(
2572         HIMC hIMC,
2573         DWORD *pdwListSize,
2574         DWORD *pdwBufLen) = 0;
2575 
2576     virtual HRESULT STDMETHODCALLTYPE GetCandidateListCountW(
2577         HIMC hIMC,
2578         DWORD *pdwListSize,
2579         DWORD *pdwBufLen) = 0;
2580 
2581     virtual HRESULT STDMETHODCALLTYPE GetCandidateWindow(
2582         HIMC hIMC,
2583         DWORD dwIndex,
2584         CANDIDATEFORM *pCandidate) = 0;
2585 
2586     virtual HRESULT STDMETHODCALLTYPE GetCompositionFontA(
2587         HIMC hIMC,
2588         LOGFONTA *plf) = 0;
2589 
2590     virtual HRESULT STDMETHODCALLTYPE GetCompositionFontW(
2591         HIMC hIMC,
2592         LOGFONTW *plf) = 0;
2593 
2594     virtual HRESULT STDMETHODCALLTYPE GetCompositionStringA(
2595         HIMC hIMC,
2596         DWORD dwIndex,
2597         DWORD dwBufLen,
2598         LONG *plCopied,
2599         LPVOID pBuf) = 0;
2600 
2601     virtual HRESULT STDMETHODCALLTYPE GetCompositionStringW(
2602         HIMC hIMC,
2603         DWORD dwIndex,
2604         DWORD dwBufLen,
2605         LONG *plCopied,
2606         LPVOID pBuf) = 0;
2607 
2608     virtual HRESULT STDMETHODCALLTYPE GetCompositionWindow(
2609         HIMC hIMC,
2610         COMPOSITIONFORM *pCompForm) = 0;
2611 
2612     virtual HRESULT STDMETHODCALLTYPE GetContext(
2613         HWND hWnd,
2614         HIMC *phIMC) = 0;
2615 
2616     virtual HRESULT STDMETHODCALLTYPE GetConversionListA(
2617         HKL hKL,
2618         HIMC hIMC,
2619         LPSTR pSrc,
2620         UINT uBufLen,
2621         UINT uFlag,
2622         CANDIDATELIST *pDst,
2623         UINT *puCopied) = 0;
2624 
2625     virtual HRESULT STDMETHODCALLTYPE GetConversionListW(
2626         HKL hKL,
2627         HIMC hIMC,
2628         LPWSTR pSrc,
2629         UINT uBufLen,
2630         UINT uFlag,
2631         CANDIDATELIST *pDst,
2632         UINT *puCopied) = 0;
2633 
2634     virtual HRESULT STDMETHODCALLTYPE GetConversionStatus(
2635         HIMC hIMC,
2636         DWORD *pfdwConversion,
2637         DWORD *pfdwSentence) = 0;
2638 
2639     virtual HRESULT STDMETHODCALLTYPE GetDefaultIMEWnd(
2640         HWND hWnd,
2641         HWND *phDefWnd) = 0;
2642 
2643     virtual HRESULT STDMETHODCALLTYPE GetDescriptionA(
2644         HKL hKL,
2645         UINT uBufLen,
2646         LPSTR szDescription,
2647         UINT *puCopied) = 0;
2648 
2649     virtual HRESULT STDMETHODCALLTYPE GetDescriptionW(
2650         HKL hKL,
2651         UINT uBufLen,
2652         LPWSTR szDescription,
2653         UINT *puCopied) = 0;
2654 
2655     virtual HRESULT STDMETHODCALLTYPE GetGuideLineA(
2656         HIMC hIMC,
2657         DWORD dwIndex,
2658         DWORD dwBufLen,
2659         LPSTR pBuf,
2660         DWORD *pdwResult) = 0;
2661 
2662     virtual HRESULT STDMETHODCALLTYPE GetGuideLineW(
2663         HIMC hIMC,
2664         DWORD dwIndex,
2665         DWORD dwBufLen,
2666         LPWSTR pBuf,
2667         DWORD *pdwResult) = 0;
2668 
2669     virtual HRESULT STDMETHODCALLTYPE GetIMEFileNameA(
2670         HKL hKL,
2671         UINT uBufLen,
2672         LPSTR szFileName,
2673         UINT *puCopied) = 0;
2674 
2675     virtual HRESULT STDMETHODCALLTYPE GetIMEFileNameW(
2676         HKL hKL,
2677         UINT uBufLen,
2678         LPWSTR szFileName,
2679         UINT *puCopied) = 0;
2680 
2681     virtual HRESULT STDMETHODCALLTYPE GetOpenStatus(
2682         HIMC hIMC) = 0;
2683 
2684     virtual HRESULT STDMETHODCALLTYPE GetProperty(
2685         HKL hKL,
2686         DWORD fdwIndex,
2687         DWORD *pdwProperty) = 0;
2688 
2689     virtual HRESULT STDMETHODCALLTYPE GetRegisterWordStyleA(
2690         HKL hKL,
2691         UINT nItem,
2692         STYLEBUFA *pStyleBuf,
2693         UINT *puCopied) = 0;
2694 
2695     virtual HRESULT STDMETHODCALLTYPE GetRegisterWordStyleW(
2696         HKL hKL,
2697         UINT nItem,
2698         STYLEBUFW *pStyleBuf,
2699         UINT *puCopied) = 0;
2700 
2701     virtual HRESULT STDMETHODCALLTYPE GetStatusWindowPos(
2702         HIMC hIMC,
2703         POINT *pptPos) = 0;
2704 
2705     virtual HRESULT STDMETHODCALLTYPE GetVirtualKey(
2706         HWND hWnd,
2707         UINT *puVirtualKey) = 0;
2708 
2709     virtual HRESULT STDMETHODCALLTYPE InstallIMEA(
2710         LPSTR szIMEFileName,
2711         LPSTR szLayoutText,
2712         HKL *phKL) = 0;
2713 
2714     virtual HRESULT STDMETHODCALLTYPE InstallIMEW(
2715         LPWSTR szIMEFileName,
2716         LPWSTR szLayoutText,
2717         HKL *phKL) = 0;
2718 
2719     virtual HRESULT STDMETHODCALLTYPE IsIME(
2720         HKL hKL) = 0;
2721 
2722     virtual HRESULT STDMETHODCALLTYPE IsUIMessageA(
2723         HWND hWndIME,
2724         UINT msg,
2725         WPARAM wParam,
2726         LPARAM lParam) = 0;
2727 
2728     virtual HRESULT STDMETHODCALLTYPE IsUIMessageW(
2729         HWND hWndIME,
2730         UINT msg,
2731         WPARAM wParam,
2732         LPARAM lParam) = 0;
2733 
2734     virtual HRESULT STDMETHODCALLTYPE NotifyIME(
2735         HIMC hIMC,
2736         DWORD dwAction,
2737         DWORD dwIndex,
2738         DWORD dwValue) = 0;
2739 
2740     virtual HRESULT STDMETHODCALLTYPE RegisterWordA(
2741         HKL hKL,
2742         LPSTR szReading,
2743         DWORD dwStyle,
2744         LPSTR szRegister) = 0;
2745 
2746     virtual HRESULT STDMETHODCALLTYPE RegisterWordW(
2747         HKL hKL,
2748         LPWSTR szReading,
2749         DWORD dwStyle,
2750         LPWSTR szRegister) = 0;
2751 
2752     virtual HRESULT STDMETHODCALLTYPE ReleaseContext(
2753         HWND hWnd,
2754         HIMC hIMC) = 0;
2755 
2756     virtual HRESULT STDMETHODCALLTYPE SetCandidateWindow(
2757         HIMC hIMC,
2758         CANDIDATEFORM *pCandidate) = 0;
2759 
2760     virtual HRESULT STDMETHODCALLTYPE SetCompositionFontA(
2761         HIMC hIMC,
2762         LOGFONTA *plf) = 0;
2763 
2764     virtual HRESULT STDMETHODCALLTYPE SetCompositionFontW(
2765         HIMC hIMC,
2766         LOGFONTW *plf) = 0;
2767 
2768     virtual HRESULT STDMETHODCALLTYPE SetCompositionStringA(
2769         HIMC hIMC,
2770         DWORD dwIndex,
2771         LPVOID pComp,
2772         DWORD dwCompLen,
2773         LPVOID pRead,
2774         DWORD dwReadLen) = 0;
2775 
2776     virtual HRESULT STDMETHODCALLTYPE SetCompositionStringW(
2777         HIMC hIMC,
2778         DWORD dwIndex,
2779         LPVOID pComp,
2780         DWORD dwCompLen,
2781         LPVOID pRead,
2782         DWORD dwReadLen) = 0;
2783 
2784     virtual HRESULT STDMETHODCALLTYPE SetCompositionWindow(
2785         HIMC hIMC,
2786         COMPOSITIONFORM *pCompForm) = 0;
2787 
2788     virtual HRESULT STDMETHODCALLTYPE SetConversionStatus(
2789         HIMC hIMC,
2790         DWORD fdwConversion,
2791         DWORD fdwSentence) = 0;
2792 
2793     virtual HRESULT STDMETHODCALLTYPE SetOpenStatus(
2794         HIMC hIMC,
2795         WINBOOL fOpen) = 0;
2796 
2797     virtual HRESULT STDMETHODCALLTYPE SetStatusWindowPos(
2798         HIMC hIMC,
2799         POINT *pptPos) = 0;
2800 
2801     virtual HRESULT STDMETHODCALLTYPE SimulateHotKey(
2802         HWND hWnd,
2803         DWORD dwHotKeyID) = 0;
2804 
2805     virtual HRESULT STDMETHODCALLTYPE UnregisterWordA(
2806         HKL hKL,
2807         LPSTR szReading,
2808         DWORD dwStyle,
2809         LPSTR szUnregister) = 0;
2810 
2811     virtual HRESULT STDMETHODCALLTYPE UnregisterWordW(
2812         HKL hKL,
2813         LPWSTR szReading,
2814         DWORD dwStyle,
2815         LPWSTR szUnregister) = 0;
2816 
2817     virtual HRESULT STDMETHODCALLTYPE GenerateMessage(
2818         HIMC hIMC) = 0;
2819 
2820     virtual HRESULT STDMETHODCALLTYPE LockIMC(
2821         HIMC hIMC,
2822         INPUTCONTEXT **ppIMC) = 0;
2823 
2824     virtual HRESULT STDMETHODCALLTYPE UnlockIMC(
2825         HIMC hIMC) = 0;
2826 
2827     virtual HRESULT STDMETHODCALLTYPE GetIMCLockCount(
2828         HIMC hIMC,
2829         DWORD *pdwLockCount) = 0;
2830 
2831     virtual HRESULT STDMETHODCALLTYPE CreateIMCC(
2832         DWORD dwSize,
2833         HIMCC *phIMCC) = 0;
2834 
2835     virtual HRESULT STDMETHODCALLTYPE DestroyIMCC(
2836         HIMCC hIMCC) = 0;
2837 
2838     virtual HRESULT STDMETHODCALLTYPE LockIMCC(
2839         HIMCC hIMCC,
2840         void **ppv) = 0;
2841 
2842     virtual HRESULT STDMETHODCALLTYPE UnlockIMCC(
2843         HIMCC hIMCC) = 0;
2844 
2845     virtual HRESULT STDMETHODCALLTYPE ReSizeIMCC(
2846         HIMCC hIMCC,
2847         DWORD dwSize,
2848         HIMCC *phIMCC) = 0;
2849 
2850     virtual HRESULT STDMETHODCALLTYPE GetIMCCSize(
2851         HIMCC hIMCC,
2852         DWORD *pdwSize) = 0;
2853 
2854     virtual HRESULT STDMETHODCALLTYPE GetIMCCLockCount(
2855         HIMCC hIMCC,
2856         DWORD *pdwLockCount) = 0;
2857 
2858     virtual HRESULT STDMETHODCALLTYPE GetHotKey(
2859         DWORD dwHotKeyID,
2860         UINT *puModifiers,
2861         UINT *puVKey,
2862         HKL *phKL) = 0;
2863 
2864     virtual HRESULT STDMETHODCALLTYPE SetHotKey(
2865         DWORD dwHotKeyID,
2866         UINT uModifiers,
2867         UINT uVKey,
2868         HKL hKL) = 0;
2869 
2870     virtual HRESULT STDMETHODCALLTYPE CreateSoftKeyboard(
2871         UINT uType,
2872         HWND hOwner,
2873         int x,
2874         int y,
2875         HWND *phSoftKbdWnd) = 0;
2876 
2877     virtual HRESULT STDMETHODCALLTYPE DestroySoftKeyboard(
2878         HWND hSoftKbdWnd) = 0;
2879 
2880     virtual HRESULT STDMETHODCALLTYPE ShowSoftKeyboard(
2881         HWND hSoftKbdWnd,
2882         int nCmdShow) = 0;
2883 
2884     virtual HRESULT STDMETHODCALLTYPE GetCodePageA(
2885         HKL hKL,
2886         UINT *uCodePage) = 0;
2887 
2888     virtual HRESULT STDMETHODCALLTYPE GetLangId(
2889         HKL hKL,
2890         LANGID *plid) = 0;
2891 
2892     virtual HRESULT STDMETHODCALLTYPE KeybdEvent(
2893         LANGID lgidIME,
2894         BYTE bVk,
2895         BYTE bScan,
2896         DWORD dwFlags,
2897         DWORD dwExtraInfo) = 0;
2898 
2899     virtual HRESULT STDMETHODCALLTYPE LockModal(
2900         ) = 0;
2901 
2902     virtual HRESULT STDMETHODCALLTYPE UnlockModal(
2903         ) = 0;
2904 
2905     virtual HRESULT STDMETHODCALLTYPE AssociateContextEx(
2906         HWND hWnd,
2907         HIMC hIMC,
2908         DWORD dwFlags) = 0;
2909 
2910     virtual HRESULT STDMETHODCALLTYPE DisableIME(
2911         DWORD idThread) = 0;
2912 
2913     virtual HRESULT STDMETHODCALLTYPE GetImeMenuItemsA(
2914         HIMC hIMC,
2915         DWORD dwFlags,
2916         DWORD dwType,
2917         IMEMENUITEMINFOA *pImeParentMenu,
2918         IMEMENUITEMINFOA *pImeMenu,
2919         DWORD dwSize,
2920         DWORD *pdwResult) = 0;
2921 
2922     virtual HRESULT STDMETHODCALLTYPE GetImeMenuItemsW(
2923         HIMC hIMC,
2924         DWORD dwFlags,
2925         DWORD dwType,
2926         IMEMENUITEMINFOW *pImeParentMenu,
2927         IMEMENUITEMINFOW *pImeMenu,
2928         DWORD dwSize,
2929         DWORD *pdwResult) = 0;
2930 
2931     virtual HRESULT STDMETHODCALLTYPE EnumInputContext(
2932         DWORD idThread,
2933         IEnumInputContext **ppEnum) = 0;
2934 
2935     virtual HRESULT STDMETHODCALLTYPE RequestMessageA(
2936         HIMC hIMC,
2937         WPARAM wParam,
2938         LPARAM lParam,
2939         LRESULT *plResult) = 0;
2940 
2941     virtual HRESULT STDMETHODCALLTYPE RequestMessageW(
2942         HIMC hIMC,
2943         WPARAM wParam,
2944         LPARAM lParam,
2945         LRESULT *plResult) = 0;
2946 
2947     virtual HRESULT STDMETHODCALLTYPE SendIMCA(
2948         HWND hWnd,
2949         UINT uMsg,
2950         WPARAM wParam,
2951         LPARAM lParam,
2952         LRESULT *plResult) = 0;
2953 
2954     virtual HRESULT STDMETHODCALLTYPE SendIMCW(
2955         HWND hWnd,
2956         UINT uMsg,
2957         WPARAM wParam,
2958         LPARAM lParam,
2959         LRESULT *plResult) = 0;
2960 
2961     virtual HRESULT STDMETHODCALLTYPE IsSleeping(
2962         ) = 0;
2963 
2964 };
2965 #ifdef __CRT_UUID_DECL
2966 __CRT_UUID_DECL(IActiveIMMIME, 0x08c03411, 0xf96b, 0x11d0, 0xa4,0x75, 0x00,0xaa,0x00,0x6b,0xcc,0x59)
2967 #endif
2968 #else
2969 typedef struct IActiveIMMIMEVtbl {
2970     BEGIN_INTERFACE
2971 
2972     /*** IUnknown methods ***/
2973     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2974         IActiveIMMIME* This,
2975         REFIID riid,
2976         void **ppvObject);
2977 
2978     ULONG (STDMETHODCALLTYPE *AddRef)(
2979         IActiveIMMIME* This);
2980 
2981     ULONG (STDMETHODCALLTYPE *Release)(
2982         IActiveIMMIME* This);
2983 
2984     /*** IActiveIMMIME methods ***/
2985     HRESULT (STDMETHODCALLTYPE *AssociateContext)(
2986         IActiveIMMIME* This,
2987         HWND hWnd,
2988         HIMC hIME,
2989         HIMC *phPrev);
2990 
2991     HRESULT (STDMETHODCALLTYPE *ConfigureIMEA)(
2992         IActiveIMMIME* This,
2993         HKL hKL,
2994         HWND hWnd,
2995         DWORD dwMode,
2996         REGISTERWORDA *pData);
2997 
2998     HRESULT (STDMETHODCALLTYPE *ConfigureIMEW)(
2999         IActiveIMMIME* This,
3000         HKL hKL,
3001         HWND hWnd,
3002         DWORD dwMode,
3003         REGISTERWORDW *pData);
3004 
3005     HRESULT (STDMETHODCALLTYPE *CreateContext)(
3006         IActiveIMMIME* This,
3007         HIMC *phIMC);
3008 
3009     HRESULT (STDMETHODCALLTYPE *DestroyContext)(
3010         IActiveIMMIME* This,
3011         HIMC hIME);
3012 
3013     HRESULT (STDMETHODCALLTYPE *EnumRegisterWordA)(
3014         IActiveIMMIME* This,
3015         HKL hKL,
3016         LPSTR szReading,
3017         DWORD dwStyle,
3018         LPSTR szRegister,
3019         LPVOID pData,
3020         IEnumRegisterWordA **pEnum);
3021 
3022     HRESULT (STDMETHODCALLTYPE *EnumRegisterWordW)(
3023         IActiveIMMIME* This,
3024         HKL hKL,
3025         LPWSTR szReading,
3026         DWORD dwStyle,
3027         LPWSTR szRegister,
3028         LPVOID pData,
3029         IEnumRegisterWordW **pEnum);
3030 
3031     HRESULT (STDMETHODCALLTYPE *EscapeA)(
3032         IActiveIMMIME* This,
3033         HKL hKL,
3034         HIMC hIMC,
3035         UINT uEscape,
3036         LPVOID pData,
3037         LRESULT *plResult);
3038 
3039     HRESULT (STDMETHODCALLTYPE *EscapeW)(
3040         IActiveIMMIME* This,
3041         HKL hKL,
3042         HIMC hIMC,
3043         UINT uEscape,
3044         LPVOID pData,
3045         LRESULT *plResult);
3046 
3047     HRESULT (STDMETHODCALLTYPE *GetCandidateListA)(
3048         IActiveIMMIME* This,
3049         HIMC hIMC,
3050         DWORD dwIndex,
3051         UINT uBufLen,
3052         CANDIDATELIST *pCandList,
3053         UINT *puCopied);
3054 
3055     HRESULT (STDMETHODCALLTYPE *GetCandidateListW)(
3056         IActiveIMMIME* This,
3057         HIMC hIMC,
3058         DWORD dwIndex,
3059         UINT uBufLen,
3060         CANDIDATELIST *pCandList,
3061         UINT *puCopied);
3062 
3063     HRESULT (STDMETHODCALLTYPE *GetCandidateListCountA)(
3064         IActiveIMMIME* This,
3065         HIMC hIMC,
3066         DWORD *pdwListSize,
3067         DWORD *pdwBufLen);
3068 
3069     HRESULT (STDMETHODCALLTYPE *GetCandidateListCountW)(
3070         IActiveIMMIME* This,
3071         HIMC hIMC,
3072         DWORD *pdwListSize,
3073         DWORD *pdwBufLen);
3074 
3075     HRESULT (STDMETHODCALLTYPE *GetCandidateWindow)(
3076         IActiveIMMIME* This,
3077         HIMC hIMC,
3078         DWORD dwIndex,
3079         CANDIDATEFORM *pCandidate);
3080 
3081     HRESULT (STDMETHODCALLTYPE *GetCompositionFontA)(
3082         IActiveIMMIME* This,
3083         HIMC hIMC,
3084         LOGFONTA *plf);
3085 
3086     HRESULT (STDMETHODCALLTYPE *GetCompositionFontW)(
3087         IActiveIMMIME* This,
3088         HIMC hIMC,
3089         LOGFONTW *plf);
3090 
3091     HRESULT (STDMETHODCALLTYPE *GetCompositionStringA)(
3092         IActiveIMMIME* This,
3093         HIMC hIMC,
3094         DWORD dwIndex,
3095         DWORD dwBufLen,
3096         LONG *plCopied,
3097         LPVOID pBuf);
3098 
3099     HRESULT (STDMETHODCALLTYPE *GetCompositionStringW)(
3100         IActiveIMMIME* This,
3101         HIMC hIMC,
3102         DWORD dwIndex,
3103         DWORD dwBufLen,
3104         LONG *plCopied,
3105         LPVOID pBuf);
3106 
3107     HRESULT (STDMETHODCALLTYPE *GetCompositionWindow)(
3108         IActiveIMMIME* This,
3109         HIMC hIMC,
3110         COMPOSITIONFORM *pCompForm);
3111 
3112     HRESULT (STDMETHODCALLTYPE *GetContext)(
3113         IActiveIMMIME* This,
3114         HWND hWnd,
3115         HIMC *phIMC);
3116 
3117     HRESULT (STDMETHODCALLTYPE *GetConversionListA)(
3118         IActiveIMMIME* This,
3119         HKL hKL,
3120         HIMC hIMC,
3121         LPSTR pSrc,
3122         UINT uBufLen,
3123         UINT uFlag,
3124         CANDIDATELIST *pDst,
3125         UINT *puCopied);
3126 
3127     HRESULT (STDMETHODCALLTYPE *GetConversionListW)(
3128         IActiveIMMIME* This,
3129         HKL hKL,
3130         HIMC hIMC,
3131         LPWSTR pSrc,
3132         UINT uBufLen,
3133         UINT uFlag,
3134         CANDIDATELIST *pDst,
3135         UINT *puCopied);
3136 
3137     HRESULT (STDMETHODCALLTYPE *GetConversionStatus)(
3138         IActiveIMMIME* This,
3139         HIMC hIMC,
3140         DWORD *pfdwConversion,
3141         DWORD *pfdwSentence);
3142 
3143     HRESULT (STDMETHODCALLTYPE *GetDefaultIMEWnd)(
3144         IActiveIMMIME* This,
3145         HWND hWnd,
3146         HWND *phDefWnd);
3147 
3148     HRESULT (STDMETHODCALLTYPE *GetDescriptionA)(
3149         IActiveIMMIME* This,
3150         HKL hKL,
3151         UINT uBufLen,
3152         LPSTR szDescription,
3153         UINT *puCopied);
3154 
3155     HRESULT (STDMETHODCALLTYPE *GetDescriptionW)(
3156         IActiveIMMIME* This,
3157         HKL hKL,
3158         UINT uBufLen,
3159         LPWSTR szDescription,
3160         UINT *puCopied);
3161 
3162     HRESULT (STDMETHODCALLTYPE *GetGuideLineA)(
3163         IActiveIMMIME* This,
3164         HIMC hIMC,
3165         DWORD dwIndex,
3166         DWORD dwBufLen,
3167         LPSTR pBuf,
3168         DWORD *pdwResult);
3169 
3170     HRESULT (STDMETHODCALLTYPE *GetGuideLineW)(
3171         IActiveIMMIME* This,
3172         HIMC hIMC,
3173         DWORD dwIndex,
3174         DWORD dwBufLen,
3175         LPWSTR pBuf,
3176         DWORD *pdwResult);
3177 
3178     HRESULT (STDMETHODCALLTYPE *GetIMEFileNameA)(
3179         IActiveIMMIME* This,
3180         HKL hKL,
3181         UINT uBufLen,
3182         LPSTR szFileName,
3183         UINT *puCopied);
3184 
3185     HRESULT (STDMETHODCALLTYPE *GetIMEFileNameW)(
3186         IActiveIMMIME* This,
3187         HKL hKL,
3188         UINT uBufLen,
3189         LPWSTR szFileName,
3190         UINT *puCopied);
3191 
3192     HRESULT (STDMETHODCALLTYPE *GetOpenStatus)(
3193         IActiveIMMIME* This,
3194         HIMC hIMC);
3195 
3196     HRESULT (STDMETHODCALLTYPE *GetProperty)(
3197         IActiveIMMIME* This,
3198         HKL hKL,
3199         DWORD fdwIndex,
3200         DWORD *pdwProperty);
3201 
3202     HRESULT (STDMETHODCALLTYPE *GetRegisterWordStyleA)(
3203         IActiveIMMIME* This,
3204         HKL hKL,
3205         UINT nItem,
3206         STYLEBUFA *pStyleBuf,
3207         UINT *puCopied);
3208 
3209     HRESULT (STDMETHODCALLTYPE *GetRegisterWordStyleW)(
3210         IActiveIMMIME* This,
3211         HKL hKL,
3212         UINT nItem,
3213         STYLEBUFW *pStyleBuf,
3214         UINT *puCopied);
3215 
3216     HRESULT (STDMETHODCALLTYPE *GetStatusWindowPos)(
3217         IActiveIMMIME* This,
3218         HIMC hIMC,
3219         POINT *pptPos);
3220 
3221     HRESULT (STDMETHODCALLTYPE *GetVirtualKey)(
3222         IActiveIMMIME* This,
3223         HWND hWnd,
3224         UINT *puVirtualKey);
3225 
3226     HRESULT (STDMETHODCALLTYPE *InstallIMEA)(
3227         IActiveIMMIME* This,
3228         LPSTR szIMEFileName,
3229         LPSTR szLayoutText,
3230         HKL *phKL);
3231 
3232     HRESULT (STDMETHODCALLTYPE *InstallIMEW)(
3233         IActiveIMMIME* This,
3234         LPWSTR szIMEFileName,
3235         LPWSTR szLayoutText,
3236         HKL *phKL);
3237 
3238     HRESULT (STDMETHODCALLTYPE *IsIME)(
3239         IActiveIMMIME* This,
3240         HKL hKL);
3241 
3242     HRESULT (STDMETHODCALLTYPE *IsUIMessageA)(
3243         IActiveIMMIME* This,
3244         HWND hWndIME,
3245         UINT msg,
3246         WPARAM wParam,
3247         LPARAM lParam);
3248 
3249     HRESULT (STDMETHODCALLTYPE *IsUIMessageW)(
3250         IActiveIMMIME* This,
3251         HWND hWndIME,
3252         UINT msg,
3253         WPARAM wParam,
3254         LPARAM lParam);
3255 
3256     HRESULT (STDMETHODCALLTYPE *NotifyIME)(
3257         IActiveIMMIME* This,
3258         HIMC hIMC,
3259         DWORD dwAction,
3260         DWORD dwIndex,
3261         DWORD dwValue);
3262 
3263     HRESULT (STDMETHODCALLTYPE *RegisterWordA)(
3264         IActiveIMMIME* This,
3265         HKL hKL,
3266         LPSTR szReading,
3267         DWORD dwStyle,
3268         LPSTR szRegister);
3269 
3270     HRESULT (STDMETHODCALLTYPE *RegisterWordW)(
3271         IActiveIMMIME* This,
3272         HKL hKL,
3273         LPWSTR szReading,
3274         DWORD dwStyle,
3275         LPWSTR szRegister);
3276 
3277     HRESULT (STDMETHODCALLTYPE *ReleaseContext)(
3278         IActiveIMMIME* This,
3279         HWND hWnd,
3280         HIMC hIMC);
3281 
3282     HRESULT (STDMETHODCALLTYPE *SetCandidateWindow)(
3283         IActiveIMMIME* This,
3284         HIMC hIMC,
3285         CANDIDATEFORM *pCandidate);
3286 
3287     HRESULT (STDMETHODCALLTYPE *SetCompositionFontA)(
3288         IActiveIMMIME* This,
3289         HIMC hIMC,
3290         LOGFONTA *plf);
3291 
3292     HRESULT (STDMETHODCALLTYPE *SetCompositionFontW)(
3293         IActiveIMMIME* This,
3294         HIMC hIMC,
3295         LOGFONTW *plf);
3296 
3297     HRESULT (STDMETHODCALLTYPE *SetCompositionStringA)(
3298         IActiveIMMIME* This,
3299         HIMC hIMC,
3300         DWORD dwIndex,
3301         LPVOID pComp,
3302         DWORD dwCompLen,
3303         LPVOID pRead,
3304         DWORD dwReadLen);
3305 
3306     HRESULT (STDMETHODCALLTYPE *SetCompositionStringW)(
3307         IActiveIMMIME* This,
3308         HIMC hIMC,
3309         DWORD dwIndex,
3310         LPVOID pComp,
3311         DWORD dwCompLen,
3312         LPVOID pRead,
3313         DWORD dwReadLen);
3314 
3315     HRESULT (STDMETHODCALLTYPE *SetCompositionWindow)(
3316         IActiveIMMIME* This,
3317         HIMC hIMC,
3318         COMPOSITIONFORM *pCompForm);
3319 
3320     HRESULT (STDMETHODCALLTYPE *SetConversionStatus)(
3321         IActiveIMMIME* This,
3322         HIMC hIMC,
3323         DWORD fdwConversion,
3324         DWORD fdwSentence);
3325 
3326     HRESULT (STDMETHODCALLTYPE *SetOpenStatus)(
3327         IActiveIMMIME* This,
3328         HIMC hIMC,
3329         WINBOOL fOpen);
3330 
3331     HRESULT (STDMETHODCALLTYPE *SetStatusWindowPos)(
3332         IActiveIMMIME* This,
3333         HIMC hIMC,
3334         POINT *pptPos);
3335 
3336     HRESULT (STDMETHODCALLTYPE *SimulateHotKey)(
3337         IActiveIMMIME* This,
3338         HWND hWnd,
3339         DWORD dwHotKeyID);
3340 
3341     HRESULT (STDMETHODCALLTYPE *UnregisterWordA)(
3342         IActiveIMMIME* This,
3343         HKL hKL,
3344         LPSTR szReading,
3345         DWORD dwStyle,
3346         LPSTR szUnregister);
3347 
3348     HRESULT (STDMETHODCALLTYPE *UnregisterWordW)(
3349         IActiveIMMIME* This,
3350         HKL hKL,
3351         LPWSTR szReading,
3352         DWORD dwStyle,
3353         LPWSTR szUnregister);
3354 
3355     HRESULT (STDMETHODCALLTYPE *GenerateMessage)(
3356         IActiveIMMIME* This,
3357         HIMC hIMC);
3358 
3359     HRESULT (STDMETHODCALLTYPE *LockIMC)(
3360         IActiveIMMIME* This,
3361         HIMC hIMC,
3362         INPUTCONTEXT **ppIMC);
3363 
3364     HRESULT (STDMETHODCALLTYPE *UnlockIMC)(
3365         IActiveIMMIME* This,
3366         HIMC hIMC);
3367 
3368     HRESULT (STDMETHODCALLTYPE *GetIMCLockCount)(
3369         IActiveIMMIME* This,
3370         HIMC hIMC,
3371         DWORD *pdwLockCount);
3372 
3373     HRESULT (STDMETHODCALLTYPE *CreateIMCC)(
3374         IActiveIMMIME* This,
3375         DWORD dwSize,
3376         HIMCC *phIMCC);
3377 
3378     HRESULT (STDMETHODCALLTYPE *DestroyIMCC)(
3379         IActiveIMMIME* This,
3380         HIMCC hIMCC);
3381 
3382     HRESULT (STDMETHODCALLTYPE *LockIMCC)(
3383         IActiveIMMIME* This,
3384         HIMCC hIMCC,
3385         void **ppv);
3386 
3387     HRESULT (STDMETHODCALLTYPE *UnlockIMCC)(
3388         IActiveIMMIME* This,
3389         HIMCC hIMCC);
3390 
3391     HRESULT (STDMETHODCALLTYPE *ReSizeIMCC)(
3392         IActiveIMMIME* This,
3393         HIMCC hIMCC,
3394         DWORD dwSize,
3395         HIMCC *phIMCC);
3396 
3397     HRESULT (STDMETHODCALLTYPE *GetIMCCSize)(
3398         IActiveIMMIME* This,
3399         HIMCC hIMCC,
3400         DWORD *pdwSize);
3401 
3402     HRESULT (STDMETHODCALLTYPE *GetIMCCLockCount)(
3403         IActiveIMMIME* This,
3404         HIMCC hIMCC,
3405         DWORD *pdwLockCount);
3406 
3407     HRESULT (STDMETHODCALLTYPE *GetHotKey)(
3408         IActiveIMMIME* This,
3409         DWORD dwHotKeyID,
3410         UINT *puModifiers,
3411         UINT *puVKey,
3412         HKL *phKL);
3413 
3414     HRESULT (STDMETHODCALLTYPE *SetHotKey)(
3415         IActiveIMMIME* This,
3416         DWORD dwHotKeyID,
3417         UINT uModifiers,
3418         UINT uVKey,
3419         HKL hKL);
3420 
3421     HRESULT (STDMETHODCALLTYPE *CreateSoftKeyboard)(
3422         IActiveIMMIME* This,
3423         UINT uType,
3424         HWND hOwner,
3425         int x,
3426         int y,
3427         HWND *phSoftKbdWnd);
3428 
3429     HRESULT (STDMETHODCALLTYPE *DestroySoftKeyboard)(
3430         IActiveIMMIME* This,
3431         HWND hSoftKbdWnd);
3432 
3433     HRESULT (STDMETHODCALLTYPE *ShowSoftKeyboard)(
3434         IActiveIMMIME* This,
3435         HWND hSoftKbdWnd,
3436         int nCmdShow);
3437 
3438     HRESULT (STDMETHODCALLTYPE *GetCodePageA)(
3439         IActiveIMMIME* This,
3440         HKL hKL,
3441         UINT *uCodePage);
3442 
3443     HRESULT (STDMETHODCALLTYPE *GetLangId)(
3444         IActiveIMMIME* This,
3445         HKL hKL,
3446         LANGID *plid);
3447 
3448     HRESULT (STDMETHODCALLTYPE *KeybdEvent)(
3449         IActiveIMMIME* This,
3450         LANGID lgidIME,
3451         BYTE bVk,
3452         BYTE bScan,
3453         DWORD dwFlags,
3454         DWORD dwExtraInfo);
3455 
3456     HRESULT (STDMETHODCALLTYPE *LockModal)(
3457         IActiveIMMIME* This);
3458 
3459     HRESULT (STDMETHODCALLTYPE *UnlockModal)(
3460         IActiveIMMIME* This);
3461 
3462     HRESULT (STDMETHODCALLTYPE *AssociateContextEx)(
3463         IActiveIMMIME* This,
3464         HWND hWnd,
3465         HIMC hIMC,
3466         DWORD dwFlags);
3467 
3468     HRESULT (STDMETHODCALLTYPE *DisableIME)(
3469         IActiveIMMIME* This,
3470         DWORD idThread);
3471 
3472     HRESULT (STDMETHODCALLTYPE *GetImeMenuItemsA)(
3473         IActiveIMMIME* This,
3474         HIMC hIMC,
3475         DWORD dwFlags,
3476         DWORD dwType,
3477         IMEMENUITEMINFOA *pImeParentMenu,
3478         IMEMENUITEMINFOA *pImeMenu,
3479         DWORD dwSize,
3480         DWORD *pdwResult);
3481 
3482     HRESULT (STDMETHODCALLTYPE *GetImeMenuItemsW)(
3483         IActiveIMMIME* This,
3484         HIMC hIMC,
3485         DWORD dwFlags,
3486         DWORD dwType,
3487         IMEMENUITEMINFOW *pImeParentMenu,
3488         IMEMENUITEMINFOW *pImeMenu,
3489         DWORD dwSize,
3490         DWORD *pdwResult);
3491 
3492     HRESULT (STDMETHODCALLTYPE *EnumInputContext)(
3493         IActiveIMMIME* This,
3494         DWORD idThread,
3495         IEnumInputContext **ppEnum);
3496 
3497     HRESULT (STDMETHODCALLTYPE *RequestMessageA)(
3498         IActiveIMMIME* This,
3499         HIMC hIMC,
3500         WPARAM wParam,
3501         LPARAM lParam,
3502         LRESULT *plResult);
3503 
3504     HRESULT (STDMETHODCALLTYPE *RequestMessageW)(
3505         IActiveIMMIME* This,
3506         HIMC hIMC,
3507         WPARAM wParam,
3508         LPARAM lParam,
3509         LRESULT *plResult);
3510 
3511     HRESULT (STDMETHODCALLTYPE *SendIMCA)(
3512         IActiveIMMIME* This,
3513         HWND hWnd,
3514         UINT uMsg,
3515         WPARAM wParam,
3516         LPARAM lParam,
3517         LRESULT *plResult);
3518 
3519     HRESULT (STDMETHODCALLTYPE *SendIMCW)(
3520         IActiveIMMIME* This,
3521         HWND hWnd,
3522         UINT uMsg,
3523         WPARAM wParam,
3524         LPARAM lParam,
3525         LRESULT *plResult);
3526 
3527     HRESULT (STDMETHODCALLTYPE *IsSleeping)(
3528         IActiveIMMIME* This);
3529 
3530     END_INTERFACE
3531 } IActiveIMMIMEVtbl;
3532 interface IActiveIMMIME {
3533     CONST_VTBL IActiveIMMIMEVtbl* lpVtbl;
3534 };
3535 
3536 #ifdef COBJMACROS
3537 #ifndef WIDL_C_INLINE_WRAPPERS
3538 /*** IUnknown methods ***/
3539 #define IActiveIMMIME_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3540 #define IActiveIMMIME_AddRef(This) (This)->lpVtbl->AddRef(This)
3541 #define IActiveIMMIME_Release(This) (This)->lpVtbl->Release(This)
3542 /*** IActiveIMMIME methods ***/
3543 #define IActiveIMMIME_AssociateContext(This,hWnd,hIME,phPrev) (This)->lpVtbl->AssociateContext(This,hWnd,hIME,phPrev)
3544 #define IActiveIMMIME_ConfigureIMEA(This,hKL,hWnd,dwMode,pData) (This)->lpVtbl->ConfigureIMEA(This,hKL,hWnd,dwMode,pData)
3545 #define IActiveIMMIME_ConfigureIMEW(This,hKL,hWnd,dwMode,pData) (This)->lpVtbl->ConfigureIMEW(This,hKL,hWnd,dwMode,pData)
3546 #define IActiveIMMIME_CreateContext(This,phIMC) (This)->lpVtbl->CreateContext(This,phIMC)
3547 #define IActiveIMMIME_DestroyContext(This,hIME) (This)->lpVtbl->DestroyContext(This,hIME)
3548 #define IActiveIMMIME_EnumRegisterWordA(This,hKL,szReading,dwStyle,szRegister,pData,pEnum) (This)->lpVtbl->EnumRegisterWordA(This,hKL,szReading,dwStyle,szRegister,pData,pEnum)
3549 #define IActiveIMMIME_EnumRegisterWordW(This,hKL,szReading,dwStyle,szRegister,pData,pEnum) (This)->lpVtbl->EnumRegisterWordW(This,hKL,szReading,dwStyle,szRegister,pData,pEnum)
3550 #define IActiveIMMIME_EscapeA(This,hKL,hIMC,uEscape,pData,plResult) (This)->lpVtbl->EscapeA(This,hKL,hIMC,uEscape,pData,plResult)
3551 #define IActiveIMMIME_EscapeW(This,hKL,hIMC,uEscape,pData,plResult) (This)->lpVtbl->EscapeW(This,hKL,hIMC,uEscape,pData,plResult)
3552 #define IActiveIMMIME_GetCandidateListA(This,hIMC,dwIndex,uBufLen,pCandList,puCopied) (This)->lpVtbl->GetCandidateListA(This,hIMC,dwIndex,uBufLen,pCandList,puCopied)
3553 #define IActiveIMMIME_GetCandidateListW(This,hIMC,dwIndex,uBufLen,pCandList,puCopied) (This)->lpVtbl->GetCandidateListW(This,hIMC,dwIndex,uBufLen,pCandList,puCopied)
3554 #define IActiveIMMIME_GetCandidateListCountA(This,hIMC,pdwListSize,pdwBufLen) (This)->lpVtbl->GetCandidateListCountA(This,hIMC,pdwListSize,pdwBufLen)
3555 #define IActiveIMMIME_GetCandidateListCountW(This,hIMC,pdwListSize,pdwBufLen) (This)->lpVtbl->GetCandidateListCountW(This,hIMC,pdwListSize,pdwBufLen)
3556 #define IActiveIMMIME_GetCandidateWindow(This,hIMC,dwIndex,pCandidate) (This)->lpVtbl->GetCandidateWindow(This,hIMC,dwIndex,pCandidate)
3557 #define IActiveIMMIME_GetCompositionFontA(This,hIMC,plf) (This)->lpVtbl->GetCompositionFontA(This,hIMC,plf)
3558 #define IActiveIMMIME_GetCompositionFontW(This,hIMC,plf) (This)->lpVtbl->GetCompositionFontW(This,hIMC,plf)
3559 #define IActiveIMMIME_GetCompositionStringA(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf) (This)->lpVtbl->GetCompositionStringA(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf)
3560 #define IActiveIMMIME_GetCompositionStringW(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf) (This)->lpVtbl->GetCompositionStringW(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf)
3561 #define IActiveIMMIME_GetCompositionWindow(This,hIMC,pCompForm) (This)->lpVtbl->GetCompositionWindow(This,hIMC,pCompForm)
3562 #define IActiveIMMIME_GetContext(This,hWnd,phIMC) (This)->lpVtbl->GetContext(This,hWnd,phIMC)
3563 #define IActiveIMMIME_GetConversionListA(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied) (This)->lpVtbl->GetConversionListA(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied)
3564 #define IActiveIMMIME_GetConversionListW(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied) (This)->lpVtbl->GetConversionListW(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied)
3565 #define IActiveIMMIME_GetConversionStatus(This,hIMC,pfdwConversion,pfdwSentence) (This)->lpVtbl->GetConversionStatus(This,hIMC,pfdwConversion,pfdwSentence)
3566 #define IActiveIMMIME_GetDefaultIMEWnd(This,hWnd,phDefWnd) (This)->lpVtbl->GetDefaultIMEWnd(This,hWnd,phDefWnd)
3567 #define IActiveIMMIME_GetDescriptionA(This,hKL,uBufLen,szDescription,puCopied) (This)->lpVtbl->GetDescriptionA(This,hKL,uBufLen,szDescription,puCopied)
3568 #define IActiveIMMIME_GetDescriptionW(This,hKL,uBufLen,szDescription,puCopied) (This)->lpVtbl->GetDescriptionW(This,hKL,uBufLen,szDescription,puCopied)
3569 #define IActiveIMMIME_GetGuideLineA(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult) (This)->lpVtbl->GetGuideLineA(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult)
3570 #define IActiveIMMIME_GetGuideLineW(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult) (This)->lpVtbl->GetGuideLineW(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult)
3571 #define IActiveIMMIME_GetIMEFileNameA(This,hKL,uBufLen,szFileName,puCopied) (This)->lpVtbl->GetIMEFileNameA(This,hKL,uBufLen,szFileName,puCopied)
3572 #define IActiveIMMIME_GetIMEFileNameW(This,hKL,uBufLen,szFileName,puCopied) (This)->lpVtbl->GetIMEFileNameW(This,hKL,uBufLen,szFileName,puCopied)
3573 #define IActiveIMMIME_GetOpenStatus(This,hIMC) (This)->lpVtbl->GetOpenStatus(This,hIMC)
3574 #define IActiveIMMIME_GetProperty(This,hKL,fdwIndex,pdwProperty) (This)->lpVtbl->GetProperty(This,hKL,fdwIndex,pdwProperty)
3575 #define IActiveIMMIME_GetRegisterWordStyleA(This,hKL,nItem,pStyleBuf,puCopied) (This)->lpVtbl->GetRegisterWordStyleA(This,hKL,nItem,pStyleBuf,puCopied)
3576 #define IActiveIMMIME_GetRegisterWordStyleW(This,hKL,nItem,pStyleBuf,puCopied) (This)->lpVtbl->GetRegisterWordStyleW(This,hKL,nItem,pStyleBuf,puCopied)
3577 #define IActiveIMMIME_GetStatusWindowPos(This,hIMC,pptPos) (This)->lpVtbl->GetStatusWindowPos(This,hIMC,pptPos)
3578 #define IActiveIMMIME_GetVirtualKey(This,hWnd,puVirtualKey) (This)->lpVtbl->GetVirtualKey(This,hWnd,puVirtualKey)
3579 #define IActiveIMMIME_InstallIMEA(This,szIMEFileName,szLayoutText,phKL) (This)->lpVtbl->InstallIMEA(This,szIMEFileName,szLayoutText,phKL)
3580 #define IActiveIMMIME_InstallIMEW(This,szIMEFileName,szLayoutText,phKL) (This)->lpVtbl->InstallIMEW(This,szIMEFileName,szLayoutText,phKL)
3581 #define IActiveIMMIME_IsIME(This,hKL) (This)->lpVtbl->IsIME(This,hKL)
3582 #define IActiveIMMIME_IsUIMessageA(This,hWndIME,msg,wParam,lParam) (This)->lpVtbl->IsUIMessageA(This,hWndIME,msg,wParam,lParam)
3583 #define IActiveIMMIME_IsUIMessageW(This,hWndIME,msg,wParam,lParam) (This)->lpVtbl->IsUIMessageW(This,hWndIME,msg,wParam,lParam)
3584 #define IActiveIMMIME_NotifyIME(This,hIMC,dwAction,dwIndex,dwValue) (This)->lpVtbl->NotifyIME(This,hIMC,dwAction,dwIndex,dwValue)
3585 #define IActiveIMMIME_RegisterWordA(This,hKL,szReading,dwStyle,szRegister) (This)->lpVtbl->RegisterWordA(This,hKL,szReading,dwStyle,szRegister)
3586 #define IActiveIMMIME_RegisterWordW(This,hKL,szReading,dwStyle,szRegister) (This)->lpVtbl->RegisterWordW(This,hKL,szReading,dwStyle,szRegister)
3587 #define IActiveIMMIME_ReleaseContext(This,hWnd,hIMC) (This)->lpVtbl->ReleaseContext(This,hWnd,hIMC)
3588 #define IActiveIMMIME_SetCandidateWindow(This,hIMC,pCandidate) (This)->lpVtbl->SetCandidateWindow(This,hIMC,pCandidate)
3589 #define IActiveIMMIME_SetCompositionFontA(This,hIMC,plf) (This)->lpVtbl->SetCompositionFontA(This,hIMC,plf)
3590 #define IActiveIMMIME_SetCompositionFontW(This,hIMC,plf) (This)->lpVtbl->SetCompositionFontW(This,hIMC,plf)
3591 #define IActiveIMMIME_SetCompositionStringA(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen) (This)->lpVtbl->SetCompositionStringA(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen)
3592 #define IActiveIMMIME_SetCompositionStringW(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen) (This)->lpVtbl->SetCompositionStringW(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen)
3593 #define IActiveIMMIME_SetCompositionWindow(This,hIMC,pCompForm) (This)->lpVtbl->SetCompositionWindow(This,hIMC,pCompForm)
3594 #define IActiveIMMIME_SetConversionStatus(This,hIMC,fdwConversion,fdwSentence) (This)->lpVtbl->SetConversionStatus(This,hIMC,fdwConversion,fdwSentence)
3595 #define IActiveIMMIME_SetOpenStatus(This,hIMC,fOpen) (This)->lpVtbl->SetOpenStatus(This,hIMC,fOpen)
3596 #define IActiveIMMIME_SetStatusWindowPos(This,hIMC,pptPos) (This)->lpVtbl->SetStatusWindowPos(This,hIMC,pptPos)
3597 #define IActiveIMMIME_SimulateHotKey(This,hWnd,dwHotKeyID) (This)->lpVtbl->SimulateHotKey(This,hWnd,dwHotKeyID)
3598 #define IActiveIMMIME_UnregisterWordA(This,hKL,szReading,dwStyle,szUnregister) (This)->lpVtbl->UnregisterWordA(This,hKL,szReading,dwStyle,szUnregister)
3599 #define IActiveIMMIME_UnregisterWordW(This,hKL,szReading,dwStyle,szUnregister) (This)->lpVtbl->UnregisterWordW(This,hKL,szReading,dwStyle,szUnregister)
3600 #define IActiveIMMIME_GenerateMessage(This,hIMC) (This)->lpVtbl->GenerateMessage(This,hIMC)
3601 #define IActiveIMMIME_LockIMC(This,hIMC,ppIMC) (This)->lpVtbl->LockIMC(This,hIMC,ppIMC)
3602 #define IActiveIMMIME_UnlockIMC(This,hIMC) (This)->lpVtbl->UnlockIMC(This,hIMC)
3603 #define IActiveIMMIME_GetIMCLockCount(This,hIMC,pdwLockCount) (This)->lpVtbl->GetIMCLockCount(This,hIMC,pdwLockCount)
3604 #define IActiveIMMIME_CreateIMCC(This,dwSize,phIMCC) (This)->lpVtbl->CreateIMCC(This,dwSize,phIMCC)
3605 #define IActiveIMMIME_DestroyIMCC(This,hIMCC) (This)->lpVtbl->DestroyIMCC(This,hIMCC)
3606 #define IActiveIMMIME_LockIMCC(This,hIMCC,ppv) (This)->lpVtbl->LockIMCC(This,hIMCC,ppv)
3607 #define IActiveIMMIME_UnlockIMCC(This,hIMCC) (This)->lpVtbl->UnlockIMCC(This,hIMCC)
3608 #define IActiveIMMIME_ReSizeIMCC(This,hIMCC,dwSize,phIMCC) (This)->lpVtbl->ReSizeIMCC(This,hIMCC,dwSize,phIMCC)
3609 #define IActiveIMMIME_GetIMCCSize(This,hIMCC,pdwSize) (This)->lpVtbl->GetIMCCSize(This,hIMCC,pdwSize)
3610 #define IActiveIMMIME_GetIMCCLockCount(This,hIMCC,pdwLockCount) (This)->lpVtbl->GetIMCCLockCount(This,hIMCC,pdwLockCount)
3611 #define IActiveIMMIME_GetHotKey(This,dwHotKeyID,puModifiers,puVKey,phKL) (This)->lpVtbl->GetHotKey(This,dwHotKeyID,puModifiers,puVKey,phKL)
3612 #define IActiveIMMIME_SetHotKey(This,dwHotKeyID,uModifiers,uVKey,hKL) (This)->lpVtbl->SetHotKey(This,dwHotKeyID,uModifiers,uVKey,hKL)
3613 #define IActiveIMMIME_CreateSoftKeyboard(This,uType,hOwner,x,y,phSoftKbdWnd) (This)->lpVtbl->CreateSoftKeyboard(This,uType,hOwner,x,y,phSoftKbdWnd)
3614 #define IActiveIMMIME_DestroySoftKeyboard(This,hSoftKbdWnd) (This)->lpVtbl->DestroySoftKeyboard(This,hSoftKbdWnd)
3615 #define IActiveIMMIME_ShowSoftKeyboard(This,hSoftKbdWnd,nCmdShow) (This)->lpVtbl->ShowSoftKeyboard(This,hSoftKbdWnd,nCmdShow)
3616 #define IActiveIMMIME_GetCodePageA(This,hKL,uCodePage) (This)->lpVtbl->GetCodePageA(This,hKL,uCodePage)
3617 #define IActiveIMMIME_GetLangId(This,hKL,plid) (This)->lpVtbl->GetLangId(This,hKL,plid)
3618 #define IActiveIMMIME_KeybdEvent(This,lgidIME,bVk,bScan,dwFlags,dwExtraInfo) (This)->lpVtbl->KeybdEvent(This,lgidIME,bVk,bScan,dwFlags,dwExtraInfo)
3619 #define IActiveIMMIME_LockModal(This) (This)->lpVtbl->LockModal(This)
3620 #define IActiveIMMIME_UnlockModal(This) (This)->lpVtbl->UnlockModal(This)
3621 #define IActiveIMMIME_AssociateContextEx(This,hWnd,hIMC,dwFlags) (This)->lpVtbl->AssociateContextEx(This,hWnd,hIMC,dwFlags)
3622 #define IActiveIMMIME_DisableIME(This,idThread) (This)->lpVtbl->DisableIME(This,idThread)
3623 #define IActiveIMMIME_GetImeMenuItemsA(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult) (This)->lpVtbl->GetImeMenuItemsA(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult)
3624 #define IActiveIMMIME_GetImeMenuItemsW(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult) (This)->lpVtbl->GetImeMenuItemsW(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult)
3625 #define IActiveIMMIME_EnumInputContext(This,idThread,ppEnum) (This)->lpVtbl->EnumInputContext(This,idThread,ppEnum)
3626 #define IActiveIMMIME_RequestMessageA(This,hIMC,wParam,lParam,plResult) (This)->lpVtbl->RequestMessageA(This,hIMC,wParam,lParam,plResult)
3627 #define IActiveIMMIME_RequestMessageW(This,hIMC,wParam,lParam,plResult) (This)->lpVtbl->RequestMessageW(This,hIMC,wParam,lParam,plResult)
3628 #define IActiveIMMIME_SendIMCA(This,hWnd,uMsg,wParam,lParam,plResult) (This)->lpVtbl->SendIMCA(This,hWnd,uMsg,wParam,lParam,plResult)
3629 #define IActiveIMMIME_SendIMCW(This,hWnd,uMsg,wParam,lParam,plResult) (This)->lpVtbl->SendIMCW(This,hWnd,uMsg,wParam,lParam,plResult)
3630 #define IActiveIMMIME_IsSleeping(This) (This)->lpVtbl->IsSleeping(This)
3631 #else
3632 /*** IUnknown methods ***/
3633 static FORCEINLINE HRESULT IActiveIMMIME_QueryInterface(IActiveIMMIME* This,REFIID riid,void **ppvObject) {
3634     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3635 }
3636 static FORCEINLINE ULONG IActiveIMMIME_AddRef(IActiveIMMIME* This) {
3637     return This->lpVtbl->AddRef(This);
3638 }
3639 static FORCEINLINE ULONG IActiveIMMIME_Release(IActiveIMMIME* This) {
3640     return This->lpVtbl->Release(This);
3641 }
3642 /*** IActiveIMMIME methods ***/
3643 static FORCEINLINE HRESULT IActiveIMMIME_AssociateContext(IActiveIMMIME* This,HWND hWnd,HIMC hIME,HIMC *phPrev) {
3644     return This->lpVtbl->AssociateContext(This,hWnd,hIME,phPrev);
3645 }
3646 static FORCEINLINE HRESULT IActiveIMMIME_ConfigureIMEA(IActiveIMMIME* This,HKL hKL,HWND hWnd,DWORD dwMode,REGISTERWORDA *pData) {
3647     return This->lpVtbl->ConfigureIMEA(This,hKL,hWnd,dwMode,pData);
3648 }
3649 static FORCEINLINE HRESULT IActiveIMMIME_ConfigureIMEW(IActiveIMMIME* This,HKL hKL,HWND hWnd,DWORD dwMode,REGISTERWORDW *pData) {
3650     return This->lpVtbl->ConfigureIMEW(This,hKL,hWnd,dwMode,pData);
3651 }
3652 static FORCEINLINE HRESULT IActiveIMMIME_CreateContext(IActiveIMMIME* This,HIMC *phIMC) {
3653     return This->lpVtbl->CreateContext(This,phIMC);
3654 }
3655 static FORCEINLINE HRESULT IActiveIMMIME_DestroyContext(IActiveIMMIME* This,HIMC hIME) {
3656     return This->lpVtbl->DestroyContext(This,hIME);
3657 }
3658 static FORCEINLINE HRESULT IActiveIMMIME_EnumRegisterWordA(IActiveIMMIME* This,HKL hKL,LPSTR szReading,DWORD dwStyle,LPSTR szRegister,LPVOID pData,IEnumRegisterWordA **pEnum) {
3659     return This->lpVtbl->EnumRegisterWordA(This,hKL,szReading,dwStyle,szRegister,pData,pEnum);
3660 }
3661 static FORCEINLINE HRESULT IActiveIMMIME_EnumRegisterWordW(IActiveIMMIME* This,HKL hKL,LPWSTR szReading,DWORD dwStyle,LPWSTR szRegister,LPVOID pData,IEnumRegisterWordW **pEnum) {
3662     return This->lpVtbl->EnumRegisterWordW(This,hKL,szReading,dwStyle,szRegister,pData,pEnum);
3663 }
3664 static FORCEINLINE HRESULT IActiveIMMIME_EscapeA(IActiveIMMIME* This,HKL hKL,HIMC hIMC,UINT uEscape,LPVOID pData,LRESULT *plResult) {
3665     return This->lpVtbl->EscapeA(This,hKL,hIMC,uEscape,pData,plResult);
3666 }
3667 static FORCEINLINE HRESULT IActiveIMMIME_EscapeW(IActiveIMMIME* This,HKL hKL,HIMC hIMC,UINT uEscape,LPVOID pData,LRESULT *plResult) {
3668     return This->lpVtbl->EscapeW(This,hKL,hIMC,uEscape,pData,plResult);
3669 }
3670 static FORCEINLINE HRESULT IActiveIMMIME_GetCandidateListA(IActiveIMMIME* This,HIMC hIMC,DWORD dwIndex,UINT uBufLen,CANDIDATELIST *pCandList,UINT *puCopied) {
3671     return This->lpVtbl->GetCandidateListA(This,hIMC,dwIndex,uBufLen,pCandList,puCopied);
3672 }
3673 static FORCEINLINE HRESULT IActiveIMMIME_GetCandidateListW(IActiveIMMIME* This,HIMC hIMC,DWORD dwIndex,UINT uBufLen,CANDIDATELIST *pCandList,UINT *puCopied) {
3674     return This->lpVtbl->GetCandidateListW(This,hIMC,dwIndex,uBufLen,pCandList,puCopied);
3675 }
3676 static FORCEINLINE HRESULT IActiveIMMIME_GetCandidateListCountA(IActiveIMMIME* This,HIMC hIMC,DWORD *pdwListSize,DWORD *pdwBufLen) {
3677     return This->lpVtbl->GetCandidateListCountA(This,hIMC,pdwListSize,pdwBufLen);
3678 }
3679 static FORCEINLINE HRESULT IActiveIMMIME_GetCandidateListCountW(IActiveIMMIME* This,HIMC hIMC,DWORD *pdwListSize,DWORD *pdwBufLen) {
3680     return This->lpVtbl->GetCandidateListCountW(This,hIMC,pdwListSize,pdwBufLen);
3681 }
3682 static FORCEINLINE HRESULT IActiveIMMIME_GetCandidateWindow(IActiveIMMIME* This,HIMC hIMC,DWORD dwIndex,CANDIDATEFORM *pCandidate) {
3683     return This->lpVtbl->GetCandidateWindow(This,hIMC,dwIndex,pCandidate);
3684 }
3685 static FORCEINLINE HRESULT IActiveIMMIME_GetCompositionFontA(IActiveIMMIME* This,HIMC hIMC,LOGFONTA *plf) {
3686     return This->lpVtbl->GetCompositionFontA(This,hIMC,plf);
3687 }
3688 static FORCEINLINE HRESULT IActiveIMMIME_GetCompositionFontW(IActiveIMMIME* This,HIMC hIMC,LOGFONTW *plf) {
3689     return This->lpVtbl->GetCompositionFontW(This,hIMC,plf);
3690 }
3691 static FORCEINLINE HRESULT IActiveIMMIME_GetCompositionStringA(IActiveIMMIME* This,HIMC hIMC,DWORD dwIndex,DWORD dwBufLen,LONG *plCopied,LPVOID pBuf) {
3692     return This->lpVtbl->GetCompositionStringA(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf);
3693 }
3694 static FORCEINLINE HRESULT IActiveIMMIME_GetCompositionStringW(IActiveIMMIME* This,HIMC hIMC,DWORD dwIndex,DWORD dwBufLen,LONG *plCopied,LPVOID pBuf) {
3695     return This->lpVtbl->GetCompositionStringW(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf);
3696 }
3697 static FORCEINLINE HRESULT IActiveIMMIME_GetCompositionWindow(IActiveIMMIME* This,HIMC hIMC,COMPOSITIONFORM *pCompForm) {
3698     return This->lpVtbl->GetCompositionWindow(This,hIMC,pCompForm);
3699 }
3700 static FORCEINLINE HRESULT IActiveIMMIME_GetContext(IActiveIMMIME* This,HWND hWnd,HIMC *phIMC) {
3701     return This->lpVtbl->GetContext(This,hWnd,phIMC);
3702 }
3703 static FORCEINLINE HRESULT IActiveIMMIME_GetConversionListA(IActiveIMMIME* This,HKL hKL,HIMC hIMC,LPSTR pSrc,UINT uBufLen,UINT uFlag,CANDIDATELIST *pDst,UINT *puCopied) {
3704     return This->lpVtbl->GetConversionListA(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied);
3705 }
3706 static FORCEINLINE HRESULT IActiveIMMIME_GetConversionListW(IActiveIMMIME* This,HKL hKL,HIMC hIMC,LPWSTR pSrc,UINT uBufLen,UINT uFlag,CANDIDATELIST *pDst,UINT *puCopied) {
3707     return This->lpVtbl->GetConversionListW(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied);
3708 }
3709 static FORCEINLINE HRESULT IActiveIMMIME_GetConversionStatus(IActiveIMMIME* This,HIMC hIMC,DWORD *pfdwConversion,DWORD *pfdwSentence) {
3710     return This->lpVtbl->GetConversionStatus(This,hIMC,pfdwConversion,pfdwSentence);
3711 }
3712 static FORCEINLINE HRESULT IActiveIMMIME_GetDefaultIMEWnd(IActiveIMMIME* This,HWND hWnd,HWND *phDefWnd) {
3713     return This->lpVtbl->GetDefaultIMEWnd(This,hWnd,phDefWnd);
3714 }
3715 static FORCEINLINE HRESULT IActiveIMMIME_GetDescriptionA(IActiveIMMIME* This,HKL hKL,UINT uBufLen,LPSTR szDescription,UINT *puCopied) {
3716     return This->lpVtbl->GetDescriptionA(This,hKL,uBufLen,szDescription,puCopied);
3717 }
3718 static FORCEINLINE HRESULT IActiveIMMIME_GetDescriptionW(IActiveIMMIME* This,HKL hKL,UINT uBufLen,LPWSTR szDescription,UINT *puCopied) {
3719     return This->lpVtbl->GetDescriptionW(This,hKL,uBufLen,szDescription,puCopied);
3720 }
3721 static FORCEINLINE HRESULT IActiveIMMIME_GetGuideLineA(IActiveIMMIME* This,HIMC hIMC,DWORD dwIndex,DWORD dwBufLen,LPSTR pBuf,DWORD *pdwResult) {
3722     return This->lpVtbl->GetGuideLineA(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult);
3723 }
3724 static FORCEINLINE HRESULT IActiveIMMIME_GetGuideLineW(IActiveIMMIME* This,HIMC hIMC,DWORD dwIndex,DWORD dwBufLen,LPWSTR pBuf,DWORD *pdwResult) {
3725     return This->lpVtbl->GetGuideLineW(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult);
3726 }
3727 static FORCEINLINE HRESULT IActiveIMMIME_GetIMEFileNameA(IActiveIMMIME* This,HKL hKL,UINT uBufLen,LPSTR szFileName,UINT *puCopied) {
3728     return This->lpVtbl->GetIMEFileNameA(This,hKL,uBufLen,szFileName,puCopied);
3729 }
3730 static FORCEINLINE HRESULT IActiveIMMIME_GetIMEFileNameW(IActiveIMMIME* This,HKL hKL,UINT uBufLen,LPWSTR szFileName,UINT *puCopied) {
3731     return This->lpVtbl->GetIMEFileNameW(This,hKL,uBufLen,szFileName,puCopied);
3732 }
3733 static FORCEINLINE HRESULT IActiveIMMIME_GetOpenStatus(IActiveIMMIME* This,HIMC hIMC) {
3734     return This->lpVtbl->GetOpenStatus(This,hIMC);
3735 }
3736 static FORCEINLINE HRESULT IActiveIMMIME_GetProperty(IActiveIMMIME* This,HKL hKL,DWORD fdwIndex,DWORD *pdwProperty) {
3737     return This->lpVtbl->GetProperty(This,hKL,fdwIndex,pdwProperty);
3738 }
3739 static FORCEINLINE HRESULT IActiveIMMIME_GetRegisterWordStyleA(IActiveIMMIME* This,HKL hKL,UINT nItem,STYLEBUFA *pStyleBuf,UINT *puCopied) {
3740     return This->lpVtbl->GetRegisterWordStyleA(This,hKL,nItem,pStyleBuf,puCopied);
3741 }
3742 static FORCEINLINE HRESULT IActiveIMMIME_GetRegisterWordStyleW(IActiveIMMIME* This,HKL hKL,UINT nItem,STYLEBUFW *pStyleBuf,UINT *puCopied) {
3743     return This->lpVtbl->GetRegisterWordStyleW(This,hKL,nItem,pStyleBuf,puCopied);
3744 }
3745 static FORCEINLINE HRESULT IActiveIMMIME_GetStatusWindowPos(IActiveIMMIME* This,HIMC hIMC,POINT *pptPos) {
3746     return This->lpVtbl->GetStatusWindowPos(This,hIMC,pptPos);
3747 }
3748 static FORCEINLINE HRESULT IActiveIMMIME_GetVirtualKey(IActiveIMMIME* This,HWND hWnd,UINT *puVirtualKey) {
3749     return This->lpVtbl->GetVirtualKey(This,hWnd,puVirtualKey);
3750 }
3751 static FORCEINLINE HRESULT IActiveIMMIME_InstallIMEA(IActiveIMMIME* This,LPSTR szIMEFileName,LPSTR szLayoutText,HKL *phKL) {
3752     return This->lpVtbl->InstallIMEA(This,szIMEFileName,szLayoutText,phKL);
3753 }
3754 static FORCEINLINE HRESULT IActiveIMMIME_InstallIMEW(IActiveIMMIME* This,LPWSTR szIMEFileName,LPWSTR szLayoutText,HKL *phKL) {
3755     return This->lpVtbl->InstallIMEW(This,szIMEFileName,szLayoutText,phKL);
3756 }
3757 static FORCEINLINE HRESULT IActiveIMMIME_IsIME(IActiveIMMIME* This,HKL hKL) {
3758     return This->lpVtbl->IsIME(This,hKL);
3759 }
3760 static FORCEINLINE HRESULT IActiveIMMIME_IsUIMessageA(IActiveIMMIME* This,HWND hWndIME,UINT msg,WPARAM wParam,LPARAM lParam) {
3761     return This->lpVtbl->IsUIMessageA(This,hWndIME,msg,wParam,lParam);
3762 }
3763 static FORCEINLINE HRESULT IActiveIMMIME_IsUIMessageW(IActiveIMMIME* This,HWND hWndIME,UINT msg,WPARAM wParam,LPARAM lParam) {
3764     return This->lpVtbl->IsUIMessageW(This,hWndIME,msg,wParam,lParam);
3765 }
3766 static FORCEINLINE HRESULT IActiveIMMIME_NotifyIME(IActiveIMMIME* This,HIMC hIMC,DWORD dwAction,DWORD dwIndex,DWORD dwValue) {
3767     return This->lpVtbl->NotifyIME(This,hIMC,dwAction,dwIndex,dwValue);
3768 }
3769 static FORCEINLINE HRESULT IActiveIMMIME_RegisterWordA(IActiveIMMIME* This,HKL hKL,LPSTR szReading,DWORD dwStyle,LPSTR szRegister) {
3770     return This->lpVtbl->RegisterWordA(This,hKL,szReading,dwStyle,szRegister);
3771 }
3772 static FORCEINLINE HRESULT IActiveIMMIME_RegisterWordW(IActiveIMMIME* This,HKL hKL,LPWSTR szReading,DWORD dwStyle,LPWSTR szRegister) {
3773     return This->lpVtbl->RegisterWordW(This,hKL,szReading,dwStyle,szRegister);
3774 }
3775 static FORCEINLINE HRESULT IActiveIMMIME_ReleaseContext(IActiveIMMIME* This,HWND hWnd,HIMC hIMC) {
3776     return This->lpVtbl->ReleaseContext(This,hWnd,hIMC);
3777 }
3778 static FORCEINLINE HRESULT IActiveIMMIME_SetCandidateWindow(IActiveIMMIME* This,HIMC hIMC,CANDIDATEFORM *pCandidate) {
3779     return This->lpVtbl->SetCandidateWindow(This,hIMC,pCandidate);
3780 }
3781 static FORCEINLINE HRESULT IActiveIMMIME_SetCompositionFontA(IActiveIMMIME* This,HIMC hIMC,LOGFONTA *plf) {
3782     return This->lpVtbl->SetCompositionFontA(This,hIMC,plf);
3783 }
3784 static FORCEINLINE HRESULT IActiveIMMIME_SetCompositionFontW(IActiveIMMIME* This,HIMC hIMC,LOGFONTW *plf) {
3785     return This->lpVtbl->SetCompositionFontW(This,hIMC,plf);
3786 }
3787 static FORCEINLINE HRESULT IActiveIMMIME_SetCompositionStringA(IActiveIMMIME* This,HIMC hIMC,DWORD dwIndex,LPVOID pComp,DWORD dwCompLen,LPVOID pRead,DWORD dwReadLen) {
3788     return This->lpVtbl->SetCompositionStringA(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen);
3789 }
3790 static FORCEINLINE HRESULT IActiveIMMIME_SetCompositionStringW(IActiveIMMIME* This,HIMC hIMC,DWORD dwIndex,LPVOID pComp,DWORD dwCompLen,LPVOID pRead,DWORD dwReadLen) {
3791     return This->lpVtbl->SetCompositionStringW(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen);
3792 }
3793 static FORCEINLINE HRESULT IActiveIMMIME_SetCompositionWindow(IActiveIMMIME* This,HIMC hIMC,COMPOSITIONFORM *pCompForm) {
3794     return This->lpVtbl->SetCompositionWindow(This,hIMC,pCompForm);
3795 }
3796 static FORCEINLINE HRESULT IActiveIMMIME_SetConversionStatus(IActiveIMMIME* This,HIMC hIMC,DWORD fdwConversion,DWORD fdwSentence) {
3797     return This->lpVtbl->SetConversionStatus(This,hIMC,fdwConversion,fdwSentence);
3798 }
3799 static FORCEINLINE HRESULT IActiveIMMIME_SetOpenStatus(IActiveIMMIME* This,HIMC hIMC,WINBOOL fOpen) {
3800     return This->lpVtbl->SetOpenStatus(This,hIMC,fOpen);
3801 }
3802 static FORCEINLINE HRESULT IActiveIMMIME_SetStatusWindowPos(IActiveIMMIME* This,HIMC hIMC,POINT *pptPos) {
3803     return This->lpVtbl->SetStatusWindowPos(This,hIMC,pptPos);
3804 }
3805 static FORCEINLINE HRESULT IActiveIMMIME_SimulateHotKey(IActiveIMMIME* This,HWND hWnd,DWORD dwHotKeyID) {
3806     return This->lpVtbl->SimulateHotKey(This,hWnd,dwHotKeyID);
3807 }
3808 static FORCEINLINE HRESULT IActiveIMMIME_UnregisterWordA(IActiveIMMIME* This,HKL hKL,LPSTR szReading,DWORD dwStyle,LPSTR szUnregister) {
3809     return This->lpVtbl->UnregisterWordA(This,hKL,szReading,dwStyle,szUnregister);
3810 }
3811 static FORCEINLINE HRESULT IActiveIMMIME_UnregisterWordW(IActiveIMMIME* This,HKL hKL,LPWSTR szReading,DWORD dwStyle,LPWSTR szUnregister) {
3812     return This->lpVtbl->UnregisterWordW(This,hKL,szReading,dwStyle,szUnregister);
3813 }
3814 static FORCEINLINE HRESULT IActiveIMMIME_GenerateMessage(IActiveIMMIME* This,HIMC hIMC) {
3815     return This->lpVtbl->GenerateMessage(This,hIMC);
3816 }
3817 static FORCEINLINE HRESULT IActiveIMMIME_LockIMC(IActiveIMMIME* This,HIMC hIMC,INPUTCONTEXT **ppIMC) {
3818     return This->lpVtbl->LockIMC(This,hIMC,ppIMC);
3819 }
3820 static FORCEINLINE HRESULT IActiveIMMIME_UnlockIMC(IActiveIMMIME* This,HIMC hIMC) {
3821     return This->lpVtbl->UnlockIMC(This,hIMC);
3822 }
3823 static FORCEINLINE HRESULT IActiveIMMIME_GetIMCLockCount(IActiveIMMIME* This,HIMC hIMC,DWORD *pdwLockCount) {
3824     return This->lpVtbl->GetIMCLockCount(This,hIMC,pdwLockCount);
3825 }
3826 static FORCEINLINE HRESULT IActiveIMMIME_CreateIMCC(IActiveIMMIME* This,DWORD dwSize,HIMCC *phIMCC) {
3827     return This->lpVtbl->CreateIMCC(This,dwSize,phIMCC);
3828 }
3829 static FORCEINLINE HRESULT IActiveIMMIME_DestroyIMCC(IActiveIMMIME* This,HIMCC hIMCC) {
3830     return This->lpVtbl->DestroyIMCC(This,hIMCC);
3831 }
3832 static FORCEINLINE HRESULT IActiveIMMIME_LockIMCC(IActiveIMMIME* This,HIMCC hIMCC,void **ppv) {
3833     return This->lpVtbl->LockIMCC(This,hIMCC,ppv);
3834 }
3835 static FORCEINLINE HRESULT IActiveIMMIME_UnlockIMCC(IActiveIMMIME* This,HIMCC hIMCC) {
3836     return This->lpVtbl->UnlockIMCC(This,hIMCC);
3837 }
3838 static FORCEINLINE HRESULT IActiveIMMIME_ReSizeIMCC(IActiveIMMIME* This,HIMCC hIMCC,DWORD dwSize,HIMCC *phIMCC) {
3839     return This->lpVtbl->ReSizeIMCC(This,hIMCC,dwSize,phIMCC);
3840 }
3841 static FORCEINLINE HRESULT IActiveIMMIME_GetIMCCSize(IActiveIMMIME* This,HIMCC hIMCC,DWORD *pdwSize) {
3842     return This->lpVtbl->GetIMCCSize(This,hIMCC,pdwSize);
3843 }
3844 static FORCEINLINE HRESULT IActiveIMMIME_GetIMCCLockCount(IActiveIMMIME* This,HIMCC hIMCC,DWORD *pdwLockCount) {
3845     return This->lpVtbl->GetIMCCLockCount(This,hIMCC,pdwLockCount);
3846 }
3847 static FORCEINLINE HRESULT IActiveIMMIME_GetHotKey(IActiveIMMIME* This,DWORD dwHotKeyID,UINT *puModifiers,UINT *puVKey,HKL *phKL) {
3848     return This->lpVtbl->GetHotKey(This,dwHotKeyID,puModifiers,puVKey,phKL);
3849 }
3850 static FORCEINLINE HRESULT IActiveIMMIME_SetHotKey(IActiveIMMIME* This,DWORD dwHotKeyID,UINT uModifiers,UINT uVKey,HKL hKL) {
3851     return This->lpVtbl->SetHotKey(This,dwHotKeyID,uModifiers,uVKey,hKL);
3852 }
3853 static FORCEINLINE HRESULT IActiveIMMIME_CreateSoftKeyboard(IActiveIMMIME* This,UINT uType,HWND hOwner,int x,int y,HWND *phSoftKbdWnd) {
3854     return This->lpVtbl->CreateSoftKeyboard(This,uType,hOwner,x,y,phSoftKbdWnd);
3855 }
3856 static FORCEINLINE HRESULT IActiveIMMIME_DestroySoftKeyboard(IActiveIMMIME* This,HWND hSoftKbdWnd) {
3857     return This->lpVtbl->DestroySoftKeyboard(This,hSoftKbdWnd);
3858 }
3859 static FORCEINLINE HRESULT IActiveIMMIME_ShowSoftKeyboard(IActiveIMMIME* This,HWND hSoftKbdWnd,int nCmdShow) {
3860     return This->lpVtbl->ShowSoftKeyboard(This,hSoftKbdWnd,nCmdShow);
3861 }
3862 static FORCEINLINE HRESULT IActiveIMMIME_GetCodePageA(IActiveIMMIME* This,HKL hKL,UINT *uCodePage) {
3863     return This->lpVtbl->GetCodePageA(This,hKL,uCodePage);
3864 }
3865 static FORCEINLINE HRESULT IActiveIMMIME_GetLangId(IActiveIMMIME* This,HKL hKL,LANGID *plid) {
3866     return This->lpVtbl->GetLangId(This,hKL,plid);
3867 }
3868 static FORCEINLINE HRESULT IActiveIMMIME_KeybdEvent(IActiveIMMIME* This,LANGID lgidIME,BYTE bVk,BYTE bScan,DWORD dwFlags,DWORD dwExtraInfo) {
3869     return This->lpVtbl->KeybdEvent(This,lgidIME,bVk,bScan,dwFlags,dwExtraInfo);
3870 }
3871 static FORCEINLINE HRESULT IActiveIMMIME_LockModal(IActiveIMMIME* This) {
3872     return This->lpVtbl->LockModal(This);
3873 }
3874 static FORCEINLINE HRESULT IActiveIMMIME_UnlockModal(IActiveIMMIME* This) {
3875     return This->lpVtbl->UnlockModal(This);
3876 }
3877 static FORCEINLINE HRESULT IActiveIMMIME_AssociateContextEx(IActiveIMMIME* This,HWND hWnd,HIMC hIMC,DWORD dwFlags) {
3878     return This->lpVtbl->AssociateContextEx(This,hWnd,hIMC,dwFlags);
3879 }
3880 static FORCEINLINE HRESULT IActiveIMMIME_DisableIME(IActiveIMMIME* This,DWORD idThread) {
3881     return This->lpVtbl->DisableIME(This,idThread);
3882 }
3883 static FORCEINLINE HRESULT IActiveIMMIME_GetImeMenuItemsA(IActiveIMMIME* This,HIMC hIMC,DWORD dwFlags,DWORD dwType,IMEMENUITEMINFOA *pImeParentMenu,IMEMENUITEMINFOA *pImeMenu,DWORD dwSize,DWORD *pdwResult) {
3884     return This->lpVtbl->GetImeMenuItemsA(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult);
3885 }
3886 static FORCEINLINE HRESULT IActiveIMMIME_GetImeMenuItemsW(IActiveIMMIME* This,HIMC hIMC,DWORD dwFlags,DWORD dwType,IMEMENUITEMINFOW *pImeParentMenu,IMEMENUITEMINFOW *pImeMenu,DWORD dwSize,DWORD *pdwResult) {
3887     return This->lpVtbl->GetImeMenuItemsW(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult);
3888 }
3889 static FORCEINLINE HRESULT IActiveIMMIME_EnumInputContext(IActiveIMMIME* This,DWORD idThread,IEnumInputContext **ppEnum) {
3890     return This->lpVtbl->EnumInputContext(This,idThread,ppEnum);
3891 }
3892 static FORCEINLINE HRESULT IActiveIMMIME_RequestMessageA(IActiveIMMIME* This,HIMC hIMC,WPARAM wParam,LPARAM lParam,LRESULT *plResult) {
3893     return This->lpVtbl->RequestMessageA(This,hIMC,wParam,lParam,plResult);
3894 }
3895 static FORCEINLINE HRESULT IActiveIMMIME_RequestMessageW(IActiveIMMIME* This,HIMC hIMC,WPARAM wParam,LPARAM lParam,LRESULT *plResult) {
3896     return This->lpVtbl->RequestMessageW(This,hIMC,wParam,lParam,plResult);
3897 }
3898 static FORCEINLINE HRESULT IActiveIMMIME_SendIMCA(IActiveIMMIME* This,HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT *plResult) {
3899     return This->lpVtbl->SendIMCA(This,hWnd,uMsg,wParam,lParam,plResult);
3900 }
3901 static FORCEINLINE HRESULT IActiveIMMIME_SendIMCW(IActiveIMMIME* This,HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT *plResult) {
3902     return This->lpVtbl->SendIMCW(This,hWnd,uMsg,wParam,lParam,plResult);
3903 }
3904 static FORCEINLINE HRESULT IActiveIMMIME_IsSleeping(IActiveIMMIME* This) {
3905     return This->lpVtbl->IsSleeping(This);
3906 }
3907 #endif
3908 #endif
3909 
3910 #endif
3911 
3912 HRESULT STDMETHODCALLTYPE IActiveIMMIME_AssociateContext_Proxy(
3913     IActiveIMMIME* This,
3914     HWND hWnd,
3915     HIMC hIME,
3916     HIMC *phPrev);
3917 void __RPC_STUB IActiveIMMIME_AssociateContext_Stub(
3918     IRpcStubBuffer* This,
3919     IRpcChannelBuffer* pRpcChannelBuffer,
3920     PRPC_MESSAGE pRpcMessage,
3921     DWORD* pdwStubPhase);
3922 HRESULT STDMETHODCALLTYPE IActiveIMMIME_ConfigureIMEA_Proxy(
3923     IActiveIMMIME* This,
3924     HKL hKL,
3925     HWND hWnd,
3926     DWORD dwMode,
3927     REGISTERWORDA *pData);
3928 void __RPC_STUB IActiveIMMIME_ConfigureIMEA_Stub(
3929     IRpcStubBuffer* This,
3930     IRpcChannelBuffer* pRpcChannelBuffer,
3931     PRPC_MESSAGE pRpcMessage,
3932     DWORD* pdwStubPhase);
3933 HRESULT STDMETHODCALLTYPE IActiveIMMIME_ConfigureIMEW_Proxy(
3934     IActiveIMMIME* This,
3935     HKL hKL,
3936     HWND hWnd,
3937     DWORD dwMode,
3938     REGISTERWORDW *pData);
3939 void __RPC_STUB IActiveIMMIME_ConfigureIMEW_Stub(
3940     IRpcStubBuffer* This,
3941     IRpcChannelBuffer* pRpcChannelBuffer,
3942     PRPC_MESSAGE pRpcMessage,
3943     DWORD* pdwStubPhase);
3944 HRESULT STDMETHODCALLTYPE IActiveIMMIME_CreateContext_Proxy(
3945     IActiveIMMIME* This,
3946     HIMC *phIMC);
3947 void __RPC_STUB IActiveIMMIME_CreateContext_Stub(
3948     IRpcStubBuffer* This,
3949     IRpcChannelBuffer* pRpcChannelBuffer,
3950     PRPC_MESSAGE pRpcMessage,
3951     DWORD* pdwStubPhase);
3952 HRESULT STDMETHODCALLTYPE IActiveIMMIME_DestroyContext_Proxy(
3953     IActiveIMMIME* This,
3954     HIMC hIME);
3955 void __RPC_STUB IActiveIMMIME_DestroyContext_Stub(
3956     IRpcStubBuffer* This,
3957     IRpcChannelBuffer* pRpcChannelBuffer,
3958     PRPC_MESSAGE pRpcMessage,
3959     DWORD* pdwStubPhase);
3960 HRESULT STDMETHODCALLTYPE IActiveIMMIME_EnumRegisterWordA_Proxy(
3961     IActiveIMMIME* This,
3962     HKL hKL,
3963     LPSTR szReading,
3964     DWORD dwStyle,
3965     LPSTR szRegister,
3966     LPVOID pData,
3967     IEnumRegisterWordA **pEnum);
3968 void __RPC_STUB IActiveIMMIME_EnumRegisterWordA_Stub(
3969     IRpcStubBuffer* This,
3970     IRpcChannelBuffer* pRpcChannelBuffer,
3971     PRPC_MESSAGE pRpcMessage,
3972     DWORD* pdwStubPhase);
3973 HRESULT STDMETHODCALLTYPE IActiveIMMIME_EnumRegisterWordW_Proxy(
3974     IActiveIMMIME* This,
3975     HKL hKL,
3976     LPWSTR szReading,
3977     DWORD dwStyle,
3978     LPWSTR szRegister,
3979     LPVOID pData,
3980     IEnumRegisterWordW **pEnum);
3981 void __RPC_STUB IActiveIMMIME_EnumRegisterWordW_Stub(
3982     IRpcStubBuffer* This,
3983     IRpcChannelBuffer* pRpcChannelBuffer,
3984     PRPC_MESSAGE pRpcMessage,
3985     DWORD* pdwStubPhase);
3986 HRESULT STDMETHODCALLTYPE IActiveIMMIME_EscapeA_Proxy(
3987     IActiveIMMIME* This,
3988     HKL hKL,
3989     HIMC hIMC,
3990     UINT uEscape,
3991     LPVOID pData,
3992     LRESULT *plResult);
3993 void __RPC_STUB IActiveIMMIME_EscapeA_Stub(
3994     IRpcStubBuffer* This,
3995     IRpcChannelBuffer* pRpcChannelBuffer,
3996     PRPC_MESSAGE pRpcMessage,
3997     DWORD* pdwStubPhase);
3998 HRESULT STDMETHODCALLTYPE IActiveIMMIME_EscapeW_Proxy(
3999     IActiveIMMIME* This,
4000     HKL hKL,
4001     HIMC hIMC,
4002     UINT uEscape,
4003     LPVOID pData,
4004     LRESULT *plResult);
4005 void __RPC_STUB IActiveIMMIME_EscapeW_Stub(
4006     IRpcStubBuffer* This,
4007     IRpcChannelBuffer* pRpcChannelBuffer,
4008     PRPC_MESSAGE pRpcMessage,
4009     DWORD* pdwStubPhase);
4010 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetCandidateListA_Proxy(
4011     IActiveIMMIME* This,
4012     HIMC hIMC,
4013     DWORD dwIndex,
4014     UINT uBufLen,
4015     CANDIDATELIST *pCandList,
4016     UINT *puCopied);
4017 void __RPC_STUB IActiveIMMIME_GetCandidateListA_Stub(
4018     IRpcStubBuffer* This,
4019     IRpcChannelBuffer* pRpcChannelBuffer,
4020     PRPC_MESSAGE pRpcMessage,
4021     DWORD* pdwStubPhase);
4022 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetCandidateListW_Proxy(
4023     IActiveIMMIME* This,
4024     HIMC hIMC,
4025     DWORD dwIndex,
4026     UINT uBufLen,
4027     CANDIDATELIST *pCandList,
4028     UINT *puCopied);
4029 void __RPC_STUB IActiveIMMIME_GetCandidateListW_Stub(
4030     IRpcStubBuffer* This,
4031     IRpcChannelBuffer* pRpcChannelBuffer,
4032     PRPC_MESSAGE pRpcMessage,
4033     DWORD* pdwStubPhase);
4034 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetCandidateListCountA_Proxy(
4035     IActiveIMMIME* This,
4036     HIMC hIMC,
4037     DWORD *pdwListSize,
4038     DWORD *pdwBufLen);
4039 void __RPC_STUB IActiveIMMIME_GetCandidateListCountA_Stub(
4040     IRpcStubBuffer* This,
4041     IRpcChannelBuffer* pRpcChannelBuffer,
4042     PRPC_MESSAGE pRpcMessage,
4043     DWORD* pdwStubPhase);
4044 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetCandidateListCountW_Proxy(
4045     IActiveIMMIME* This,
4046     HIMC hIMC,
4047     DWORD *pdwListSize,
4048     DWORD *pdwBufLen);
4049 void __RPC_STUB IActiveIMMIME_GetCandidateListCountW_Stub(
4050     IRpcStubBuffer* This,
4051     IRpcChannelBuffer* pRpcChannelBuffer,
4052     PRPC_MESSAGE pRpcMessage,
4053     DWORD* pdwStubPhase);
4054 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetCandidateWindow_Proxy(
4055     IActiveIMMIME* This,
4056     HIMC hIMC,
4057     DWORD dwIndex,
4058     CANDIDATEFORM *pCandidate);
4059 void __RPC_STUB IActiveIMMIME_GetCandidateWindow_Stub(
4060     IRpcStubBuffer* This,
4061     IRpcChannelBuffer* pRpcChannelBuffer,
4062     PRPC_MESSAGE pRpcMessage,
4063     DWORD* pdwStubPhase);
4064 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetCompositionFontA_Proxy(
4065     IActiveIMMIME* This,
4066     HIMC hIMC,
4067     LOGFONTA *plf);
4068 void __RPC_STUB IActiveIMMIME_GetCompositionFontA_Stub(
4069     IRpcStubBuffer* This,
4070     IRpcChannelBuffer* pRpcChannelBuffer,
4071     PRPC_MESSAGE pRpcMessage,
4072     DWORD* pdwStubPhase);
4073 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetCompositionFontW_Proxy(
4074     IActiveIMMIME* This,
4075     HIMC hIMC,
4076     LOGFONTW *plf);
4077 void __RPC_STUB IActiveIMMIME_GetCompositionFontW_Stub(
4078     IRpcStubBuffer* This,
4079     IRpcChannelBuffer* pRpcChannelBuffer,
4080     PRPC_MESSAGE pRpcMessage,
4081     DWORD* pdwStubPhase);
4082 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetCompositionStringA_Proxy(
4083     IActiveIMMIME* This,
4084     HIMC hIMC,
4085     DWORD dwIndex,
4086     DWORD dwBufLen,
4087     LONG *plCopied,
4088     LPVOID pBuf);
4089 void __RPC_STUB IActiveIMMIME_GetCompositionStringA_Stub(
4090     IRpcStubBuffer* This,
4091     IRpcChannelBuffer* pRpcChannelBuffer,
4092     PRPC_MESSAGE pRpcMessage,
4093     DWORD* pdwStubPhase);
4094 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetCompositionStringW_Proxy(
4095     IActiveIMMIME* This,
4096     HIMC hIMC,
4097     DWORD dwIndex,
4098     DWORD dwBufLen,
4099     LONG *plCopied,
4100     LPVOID pBuf);
4101 void __RPC_STUB IActiveIMMIME_GetCompositionStringW_Stub(
4102     IRpcStubBuffer* This,
4103     IRpcChannelBuffer* pRpcChannelBuffer,
4104     PRPC_MESSAGE pRpcMessage,
4105     DWORD* pdwStubPhase);
4106 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetCompositionWindow_Proxy(
4107     IActiveIMMIME* This,
4108     HIMC hIMC,
4109     COMPOSITIONFORM *pCompForm);
4110 void __RPC_STUB IActiveIMMIME_GetCompositionWindow_Stub(
4111     IRpcStubBuffer* This,
4112     IRpcChannelBuffer* pRpcChannelBuffer,
4113     PRPC_MESSAGE pRpcMessage,
4114     DWORD* pdwStubPhase);
4115 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetContext_Proxy(
4116     IActiveIMMIME* This,
4117     HWND hWnd,
4118     HIMC *phIMC);
4119 void __RPC_STUB IActiveIMMIME_GetContext_Stub(
4120     IRpcStubBuffer* This,
4121     IRpcChannelBuffer* pRpcChannelBuffer,
4122     PRPC_MESSAGE pRpcMessage,
4123     DWORD* pdwStubPhase);
4124 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetConversionListA_Proxy(
4125     IActiveIMMIME* This,
4126     HKL hKL,
4127     HIMC hIMC,
4128     LPSTR pSrc,
4129     UINT uBufLen,
4130     UINT uFlag,
4131     CANDIDATELIST *pDst,
4132     UINT *puCopied);
4133 void __RPC_STUB IActiveIMMIME_GetConversionListA_Stub(
4134     IRpcStubBuffer* This,
4135     IRpcChannelBuffer* pRpcChannelBuffer,
4136     PRPC_MESSAGE pRpcMessage,
4137     DWORD* pdwStubPhase);
4138 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetConversionListW_Proxy(
4139     IActiveIMMIME* This,
4140     HKL hKL,
4141     HIMC hIMC,
4142     LPWSTR pSrc,
4143     UINT uBufLen,
4144     UINT uFlag,
4145     CANDIDATELIST *pDst,
4146     UINT *puCopied);
4147 void __RPC_STUB IActiveIMMIME_GetConversionListW_Stub(
4148     IRpcStubBuffer* This,
4149     IRpcChannelBuffer* pRpcChannelBuffer,
4150     PRPC_MESSAGE pRpcMessage,
4151     DWORD* pdwStubPhase);
4152 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetConversionStatus_Proxy(
4153     IActiveIMMIME* This,
4154     HIMC hIMC,
4155     DWORD *pfdwConversion,
4156     DWORD *pfdwSentence);
4157 void __RPC_STUB IActiveIMMIME_GetConversionStatus_Stub(
4158     IRpcStubBuffer* This,
4159     IRpcChannelBuffer* pRpcChannelBuffer,
4160     PRPC_MESSAGE pRpcMessage,
4161     DWORD* pdwStubPhase);
4162 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetDefaultIMEWnd_Proxy(
4163     IActiveIMMIME* This,
4164     HWND hWnd,
4165     HWND *phDefWnd);
4166 void __RPC_STUB IActiveIMMIME_GetDefaultIMEWnd_Stub(
4167     IRpcStubBuffer* This,
4168     IRpcChannelBuffer* pRpcChannelBuffer,
4169     PRPC_MESSAGE pRpcMessage,
4170     DWORD* pdwStubPhase);
4171 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetDescriptionA_Proxy(
4172     IActiveIMMIME* This,
4173     HKL hKL,
4174     UINT uBufLen,
4175     LPSTR szDescription,
4176     UINT *puCopied);
4177 void __RPC_STUB IActiveIMMIME_GetDescriptionA_Stub(
4178     IRpcStubBuffer* This,
4179     IRpcChannelBuffer* pRpcChannelBuffer,
4180     PRPC_MESSAGE pRpcMessage,
4181     DWORD* pdwStubPhase);
4182 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetDescriptionW_Proxy(
4183     IActiveIMMIME* This,
4184     HKL hKL,
4185     UINT uBufLen,
4186     LPWSTR szDescription,
4187     UINT *puCopied);
4188 void __RPC_STUB IActiveIMMIME_GetDescriptionW_Stub(
4189     IRpcStubBuffer* This,
4190     IRpcChannelBuffer* pRpcChannelBuffer,
4191     PRPC_MESSAGE pRpcMessage,
4192     DWORD* pdwStubPhase);
4193 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetGuideLineA_Proxy(
4194     IActiveIMMIME* This,
4195     HIMC hIMC,
4196     DWORD dwIndex,
4197     DWORD dwBufLen,
4198     LPSTR pBuf,
4199     DWORD *pdwResult);
4200 void __RPC_STUB IActiveIMMIME_GetGuideLineA_Stub(
4201     IRpcStubBuffer* This,
4202     IRpcChannelBuffer* pRpcChannelBuffer,
4203     PRPC_MESSAGE pRpcMessage,
4204     DWORD* pdwStubPhase);
4205 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetGuideLineW_Proxy(
4206     IActiveIMMIME* This,
4207     HIMC hIMC,
4208     DWORD dwIndex,
4209     DWORD dwBufLen,
4210     LPWSTR pBuf,
4211     DWORD *pdwResult);
4212 void __RPC_STUB IActiveIMMIME_GetGuideLineW_Stub(
4213     IRpcStubBuffer* This,
4214     IRpcChannelBuffer* pRpcChannelBuffer,
4215     PRPC_MESSAGE pRpcMessage,
4216     DWORD* pdwStubPhase);
4217 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetIMEFileNameA_Proxy(
4218     IActiveIMMIME* This,
4219     HKL hKL,
4220     UINT uBufLen,
4221     LPSTR szFileName,
4222     UINT *puCopied);
4223 void __RPC_STUB IActiveIMMIME_GetIMEFileNameA_Stub(
4224     IRpcStubBuffer* This,
4225     IRpcChannelBuffer* pRpcChannelBuffer,
4226     PRPC_MESSAGE pRpcMessage,
4227     DWORD* pdwStubPhase);
4228 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetIMEFileNameW_Proxy(
4229     IActiveIMMIME* This,
4230     HKL hKL,
4231     UINT uBufLen,
4232     LPWSTR szFileName,
4233     UINT *puCopied);
4234 void __RPC_STUB IActiveIMMIME_GetIMEFileNameW_Stub(
4235     IRpcStubBuffer* This,
4236     IRpcChannelBuffer* pRpcChannelBuffer,
4237     PRPC_MESSAGE pRpcMessage,
4238     DWORD* pdwStubPhase);
4239 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetOpenStatus_Proxy(
4240     IActiveIMMIME* This,
4241     HIMC hIMC);
4242 void __RPC_STUB IActiveIMMIME_GetOpenStatus_Stub(
4243     IRpcStubBuffer* This,
4244     IRpcChannelBuffer* pRpcChannelBuffer,
4245     PRPC_MESSAGE pRpcMessage,
4246     DWORD* pdwStubPhase);
4247 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetProperty_Proxy(
4248     IActiveIMMIME* This,
4249     HKL hKL,
4250     DWORD fdwIndex,
4251     DWORD *pdwProperty);
4252 void __RPC_STUB IActiveIMMIME_GetProperty_Stub(
4253     IRpcStubBuffer* This,
4254     IRpcChannelBuffer* pRpcChannelBuffer,
4255     PRPC_MESSAGE pRpcMessage,
4256     DWORD* pdwStubPhase);
4257 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetRegisterWordStyleA_Proxy(
4258     IActiveIMMIME* This,
4259     HKL hKL,
4260     UINT nItem,
4261     STYLEBUFA *pStyleBuf,
4262     UINT *puCopied);
4263 void __RPC_STUB IActiveIMMIME_GetRegisterWordStyleA_Stub(
4264     IRpcStubBuffer* This,
4265     IRpcChannelBuffer* pRpcChannelBuffer,
4266     PRPC_MESSAGE pRpcMessage,
4267     DWORD* pdwStubPhase);
4268 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetRegisterWordStyleW_Proxy(
4269     IActiveIMMIME* This,
4270     HKL hKL,
4271     UINT nItem,
4272     STYLEBUFW *pStyleBuf,
4273     UINT *puCopied);
4274 void __RPC_STUB IActiveIMMIME_GetRegisterWordStyleW_Stub(
4275     IRpcStubBuffer* This,
4276     IRpcChannelBuffer* pRpcChannelBuffer,
4277     PRPC_MESSAGE pRpcMessage,
4278     DWORD* pdwStubPhase);
4279 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetStatusWindowPos_Proxy(
4280     IActiveIMMIME* This,
4281     HIMC hIMC,
4282     POINT *pptPos);
4283 void __RPC_STUB IActiveIMMIME_GetStatusWindowPos_Stub(
4284     IRpcStubBuffer* This,
4285     IRpcChannelBuffer* pRpcChannelBuffer,
4286     PRPC_MESSAGE pRpcMessage,
4287     DWORD* pdwStubPhase);
4288 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetVirtualKey_Proxy(
4289     IActiveIMMIME* This,
4290     HWND hWnd,
4291     UINT *puVirtualKey);
4292 void __RPC_STUB IActiveIMMIME_GetVirtualKey_Stub(
4293     IRpcStubBuffer* This,
4294     IRpcChannelBuffer* pRpcChannelBuffer,
4295     PRPC_MESSAGE pRpcMessage,
4296     DWORD* pdwStubPhase);
4297 HRESULT STDMETHODCALLTYPE IActiveIMMIME_InstallIMEA_Proxy(
4298     IActiveIMMIME* This,
4299     LPSTR szIMEFileName,
4300     LPSTR szLayoutText,
4301     HKL *phKL);
4302 void __RPC_STUB IActiveIMMIME_InstallIMEA_Stub(
4303     IRpcStubBuffer* This,
4304     IRpcChannelBuffer* pRpcChannelBuffer,
4305     PRPC_MESSAGE pRpcMessage,
4306     DWORD* pdwStubPhase);
4307 HRESULT STDMETHODCALLTYPE IActiveIMMIME_InstallIMEW_Proxy(
4308     IActiveIMMIME* This,
4309     LPWSTR szIMEFileName,
4310     LPWSTR szLayoutText,
4311     HKL *phKL);
4312 void __RPC_STUB IActiveIMMIME_InstallIMEW_Stub(
4313     IRpcStubBuffer* This,
4314     IRpcChannelBuffer* pRpcChannelBuffer,
4315     PRPC_MESSAGE pRpcMessage,
4316     DWORD* pdwStubPhase);
4317 HRESULT STDMETHODCALLTYPE IActiveIMMIME_IsIME_Proxy(
4318     IActiveIMMIME* This,
4319     HKL hKL);
4320 void __RPC_STUB IActiveIMMIME_IsIME_Stub(
4321     IRpcStubBuffer* This,
4322     IRpcChannelBuffer* pRpcChannelBuffer,
4323     PRPC_MESSAGE pRpcMessage,
4324     DWORD* pdwStubPhase);
4325 HRESULT STDMETHODCALLTYPE IActiveIMMIME_IsUIMessageA_Proxy(
4326     IActiveIMMIME* This,
4327     HWND hWndIME,
4328     UINT msg,
4329     WPARAM wParam,
4330     LPARAM lParam);
4331 void __RPC_STUB IActiveIMMIME_IsUIMessageA_Stub(
4332     IRpcStubBuffer* This,
4333     IRpcChannelBuffer* pRpcChannelBuffer,
4334     PRPC_MESSAGE pRpcMessage,
4335     DWORD* pdwStubPhase);
4336 HRESULT STDMETHODCALLTYPE IActiveIMMIME_IsUIMessageW_Proxy(
4337     IActiveIMMIME* This,
4338     HWND hWndIME,
4339     UINT msg,
4340     WPARAM wParam,
4341     LPARAM lParam);
4342 void __RPC_STUB IActiveIMMIME_IsUIMessageW_Stub(
4343     IRpcStubBuffer* This,
4344     IRpcChannelBuffer* pRpcChannelBuffer,
4345     PRPC_MESSAGE pRpcMessage,
4346     DWORD* pdwStubPhase);
4347 HRESULT STDMETHODCALLTYPE IActiveIMMIME_NotifyIME_Proxy(
4348     IActiveIMMIME* This,
4349     HIMC hIMC,
4350     DWORD dwAction,
4351     DWORD dwIndex,
4352     DWORD dwValue);
4353 void __RPC_STUB IActiveIMMIME_NotifyIME_Stub(
4354     IRpcStubBuffer* This,
4355     IRpcChannelBuffer* pRpcChannelBuffer,
4356     PRPC_MESSAGE pRpcMessage,
4357     DWORD* pdwStubPhase);
4358 HRESULT STDMETHODCALLTYPE IActiveIMMIME_RegisterWordA_Proxy(
4359     IActiveIMMIME* This,
4360     HKL hKL,
4361     LPSTR szReading,
4362     DWORD dwStyle,
4363     LPSTR szRegister);
4364 void __RPC_STUB IActiveIMMIME_RegisterWordA_Stub(
4365     IRpcStubBuffer* This,
4366     IRpcChannelBuffer* pRpcChannelBuffer,
4367     PRPC_MESSAGE pRpcMessage,
4368     DWORD* pdwStubPhase);
4369 HRESULT STDMETHODCALLTYPE IActiveIMMIME_RegisterWordW_Proxy(
4370     IActiveIMMIME* This,
4371     HKL hKL,
4372     LPWSTR szReading,
4373     DWORD dwStyle,
4374     LPWSTR szRegister);
4375 void __RPC_STUB IActiveIMMIME_RegisterWordW_Stub(
4376     IRpcStubBuffer* This,
4377     IRpcChannelBuffer* pRpcChannelBuffer,
4378     PRPC_MESSAGE pRpcMessage,
4379     DWORD* pdwStubPhase);
4380 HRESULT STDMETHODCALLTYPE IActiveIMMIME_ReleaseContext_Proxy(
4381     IActiveIMMIME* This,
4382     HWND hWnd,
4383     HIMC hIMC);
4384 void __RPC_STUB IActiveIMMIME_ReleaseContext_Stub(
4385     IRpcStubBuffer* This,
4386     IRpcChannelBuffer* pRpcChannelBuffer,
4387     PRPC_MESSAGE pRpcMessage,
4388     DWORD* pdwStubPhase);
4389 HRESULT STDMETHODCALLTYPE IActiveIMMIME_SetCandidateWindow_Proxy(
4390     IActiveIMMIME* This,
4391     HIMC hIMC,
4392     CANDIDATEFORM *pCandidate);
4393 void __RPC_STUB IActiveIMMIME_SetCandidateWindow_Stub(
4394     IRpcStubBuffer* This,
4395     IRpcChannelBuffer* pRpcChannelBuffer,
4396     PRPC_MESSAGE pRpcMessage,
4397     DWORD* pdwStubPhase);
4398 HRESULT STDMETHODCALLTYPE IActiveIMMIME_SetCompositionFontA_Proxy(
4399     IActiveIMMIME* This,
4400     HIMC hIMC,
4401     LOGFONTA *plf);
4402 void __RPC_STUB IActiveIMMIME_SetCompositionFontA_Stub(
4403     IRpcStubBuffer* This,
4404     IRpcChannelBuffer* pRpcChannelBuffer,
4405     PRPC_MESSAGE pRpcMessage,
4406     DWORD* pdwStubPhase);
4407 HRESULT STDMETHODCALLTYPE IActiveIMMIME_SetCompositionFontW_Proxy(
4408     IActiveIMMIME* This,
4409     HIMC hIMC,
4410     LOGFONTW *plf);
4411 void __RPC_STUB IActiveIMMIME_SetCompositionFontW_Stub(
4412     IRpcStubBuffer* This,
4413     IRpcChannelBuffer* pRpcChannelBuffer,
4414     PRPC_MESSAGE pRpcMessage,
4415     DWORD* pdwStubPhase);
4416 HRESULT STDMETHODCALLTYPE IActiveIMMIME_SetCompositionStringA_Proxy(
4417     IActiveIMMIME* This,
4418     HIMC hIMC,
4419     DWORD dwIndex,
4420     LPVOID pComp,
4421     DWORD dwCompLen,
4422     LPVOID pRead,
4423     DWORD dwReadLen);
4424 void __RPC_STUB IActiveIMMIME_SetCompositionStringA_Stub(
4425     IRpcStubBuffer* This,
4426     IRpcChannelBuffer* pRpcChannelBuffer,
4427     PRPC_MESSAGE pRpcMessage,
4428     DWORD* pdwStubPhase);
4429 HRESULT STDMETHODCALLTYPE IActiveIMMIME_SetCompositionStringW_Proxy(
4430     IActiveIMMIME* This,
4431     HIMC hIMC,
4432     DWORD dwIndex,
4433     LPVOID pComp,
4434     DWORD dwCompLen,
4435     LPVOID pRead,
4436     DWORD dwReadLen);
4437 void __RPC_STUB IActiveIMMIME_SetCompositionStringW_Stub(
4438     IRpcStubBuffer* This,
4439     IRpcChannelBuffer* pRpcChannelBuffer,
4440     PRPC_MESSAGE pRpcMessage,
4441     DWORD* pdwStubPhase);
4442 HRESULT STDMETHODCALLTYPE IActiveIMMIME_SetCompositionWindow_Proxy(
4443     IActiveIMMIME* This,
4444     HIMC hIMC,
4445     COMPOSITIONFORM *pCompForm);
4446 void __RPC_STUB IActiveIMMIME_SetCompositionWindow_Stub(
4447     IRpcStubBuffer* This,
4448     IRpcChannelBuffer* pRpcChannelBuffer,
4449     PRPC_MESSAGE pRpcMessage,
4450     DWORD* pdwStubPhase);
4451 HRESULT STDMETHODCALLTYPE IActiveIMMIME_SetConversionStatus_Proxy(
4452     IActiveIMMIME* This,
4453     HIMC hIMC,
4454     DWORD fdwConversion,
4455     DWORD fdwSentence);
4456 void __RPC_STUB IActiveIMMIME_SetConversionStatus_Stub(
4457     IRpcStubBuffer* This,
4458     IRpcChannelBuffer* pRpcChannelBuffer,
4459     PRPC_MESSAGE pRpcMessage,
4460     DWORD* pdwStubPhase);
4461 HRESULT STDMETHODCALLTYPE IActiveIMMIME_SetOpenStatus_Proxy(
4462     IActiveIMMIME* This,
4463     HIMC hIMC,
4464     WINBOOL fOpen);
4465 void __RPC_STUB IActiveIMMIME_SetOpenStatus_Stub(
4466     IRpcStubBuffer* This,
4467     IRpcChannelBuffer* pRpcChannelBuffer,
4468     PRPC_MESSAGE pRpcMessage,
4469     DWORD* pdwStubPhase);
4470 HRESULT STDMETHODCALLTYPE IActiveIMMIME_SetStatusWindowPos_Proxy(
4471     IActiveIMMIME* This,
4472     HIMC hIMC,
4473     POINT *pptPos);
4474 void __RPC_STUB IActiveIMMIME_SetStatusWindowPos_Stub(
4475     IRpcStubBuffer* This,
4476     IRpcChannelBuffer* pRpcChannelBuffer,
4477     PRPC_MESSAGE pRpcMessage,
4478     DWORD* pdwStubPhase);
4479 HRESULT STDMETHODCALLTYPE IActiveIMMIME_SimulateHotKey_Proxy(
4480     IActiveIMMIME* This,
4481     HWND hWnd,
4482     DWORD dwHotKeyID);
4483 void __RPC_STUB IActiveIMMIME_SimulateHotKey_Stub(
4484     IRpcStubBuffer* This,
4485     IRpcChannelBuffer* pRpcChannelBuffer,
4486     PRPC_MESSAGE pRpcMessage,
4487     DWORD* pdwStubPhase);
4488 HRESULT STDMETHODCALLTYPE IActiveIMMIME_UnregisterWordA_Proxy(
4489     IActiveIMMIME* This,
4490     HKL hKL,
4491     LPSTR szReading,
4492     DWORD dwStyle,
4493     LPSTR szUnregister);
4494 void __RPC_STUB IActiveIMMIME_UnregisterWordA_Stub(
4495     IRpcStubBuffer* This,
4496     IRpcChannelBuffer* pRpcChannelBuffer,
4497     PRPC_MESSAGE pRpcMessage,
4498     DWORD* pdwStubPhase);
4499 HRESULT STDMETHODCALLTYPE IActiveIMMIME_UnregisterWordW_Proxy(
4500     IActiveIMMIME* This,
4501     HKL hKL,
4502     LPWSTR szReading,
4503     DWORD dwStyle,
4504     LPWSTR szUnregister);
4505 void __RPC_STUB IActiveIMMIME_UnregisterWordW_Stub(
4506     IRpcStubBuffer* This,
4507     IRpcChannelBuffer* pRpcChannelBuffer,
4508     PRPC_MESSAGE pRpcMessage,
4509     DWORD* pdwStubPhase);
4510 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GenerateMessage_Proxy(
4511     IActiveIMMIME* This,
4512     HIMC hIMC);
4513 void __RPC_STUB IActiveIMMIME_GenerateMessage_Stub(
4514     IRpcStubBuffer* This,
4515     IRpcChannelBuffer* pRpcChannelBuffer,
4516     PRPC_MESSAGE pRpcMessage,
4517     DWORD* pdwStubPhase);
4518 HRESULT STDMETHODCALLTYPE IActiveIMMIME_LockIMC_Proxy(
4519     IActiveIMMIME* This,
4520     HIMC hIMC,
4521     INPUTCONTEXT **ppIMC);
4522 void __RPC_STUB IActiveIMMIME_LockIMC_Stub(
4523     IRpcStubBuffer* This,
4524     IRpcChannelBuffer* pRpcChannelBuffer,
4525     PRPC_MESSAGE pRpcMessage,
4526     DWORD* pdwStubPhase);
4527 HRESULT STDMETHODCALLTYPE IActiveIMMIME_UnlockIMC_Proxy(
4528     IActiveIMMIME* This,
4529     HIMC hIMC);
4530 void __RPC_STUB IActiveIMMIME_UnlockIMC_Stub(
4531     IRpcStubBuffer* This,
4532     IRpcChannelBuffer* pRpcChannelBuffer,
4533     PRPC_MESSAGE pRpcMessage,
4534     DWORD* pdwStubPhase);
4535 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetIMCLockCount_Proxy(
4536     IActiveIMMIME* This,
4537     HIMC hIMC,
4538     DWORD *pdwLockCount);
4539 void __RPC_STUB IActiveIMMIME_GetIMCLockCount_Stub(
4540     IRpcStubBuffer* This,
4541     IRpcChannelBuffer* pRpcChannelBuffer,
4542     PRPC_MESSAGE pRpcMessage,
4543     DWORD* pdwStubPhase);
4544 HRESULT STDMETHODCALLTYPE IActiveIMMIME_CreateIMCC_Proxy(
4545     IActiveIMMIME* This,
4546     DWORD dwSize,
4547     HIMCC *phIMCC);
4548 void __RPC_STUB IActiveIMMIME_CreateIMCC_Stub(
4549     IRpcStubBuffer* This,
4550     IRpcChannelBuffer* pRpcChannelBuffer,
4551     PRPC_MESSAGE pRpcMessage,
4552     DWORD* pdwStubPhase);
4553 HRESULT STDMETHODCALLTYPE IActiveIMMIME_DestroyIMCC_Proxy(
4554     IActiveIMMIME* This,
4555     HIMCC hIMCC);
4556 void __RPC_STUB IActiveIMMIME_DestroyIMCC_Stub(
4557     IRpcStubBuffer* This,
4558     IRpcChannelBuffer* pRpcChannelBuffer,
4559     PRPC_MESSAGE pRpcMessage,
4560     DWORD* pdwStubPhase);
4561 HRESULT STDMETHODCALLTYPE IActiveIMMIME_LockIMCC_Proxy(
4562     IActiveIMMIME* This,
4563     HIMCC hIMCC,
4564     void **ppv);
4565 void __RPC_STUB IActiveIMMIME_LockIMCC_Stub(
4566     IRpcStubBuffer* This,
4567     IRpcChannelBuffer* pRpcChannelBuffer,
4568     PRPC_MESSAGE pRpcMessage,
4569     DWORD* pdwStubPhase);
4570 HRESULT STDMETHODCALLTYPE IActiveIMMIME_UnlockIMCC_Proxy(
4571     IActiveIMMIME* This,
4572     HIMCC hIMCC);
4573 void __RPC_STUB IActiveIMMIME_UnlockIMCC_Stub(
4574     IRpcStubBuffer* This,
4575     IRpcChannelBuffer* pRpcChannelBuffer,
4576     PRPC_MESSAGE pRpcMessage,
4577     DWORD* pdwStubPhase);
4578 HRESULT STDMETHODCALLTYPE IActiveIMMIME_ReSizeIMCC_Proxy(
4579     IActiveIMMIME* This,
4580     HIMCC hIMCC,
4581     DWORD dwSize,
4582     HIMCC *phIMCC);
4583 void __RPC_STUB IActiveIMMIME_ReSizeIMCC_Stub(
4584     IRpcStubBuffer* This,
4585     IRpcChannelBuffer* pRpcChannelBuffer,
4586     PRPC_MESSAGE pRpcMessage,
4587     DWORD* pdwStubPhase);
4588 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetIMCCSize_Proxy(
4589     IActiveIMMIME* This,
4590     HIMCC hIMCC,
4591     DWORD *pdwSize);
4592 void __RPC_STUB IActiveIMMIME_GetIMCCSize_Stub(
4593     IRpcStubBuffer* This,
4594     IRpcChannelBuffer* pRpcChannelBuffer,
4595     PRPC_MESSAGE pRpcMessage,
4596     DWORD* pdwStubPhase);
4597 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetIMCCLockCount_Proxy(
4598     IActiveIMMIME* This,
4599     HIMCC hIMCC,
4600     DWORD *pdwLockCount);
4601 void __RPC_STUB IActiveIMMIME_GetIMCCLockCount_Stub(
4602     IRpcStubBuffer* This,
4603     IRpcChannelBuffer* pRpcChannelBuffer,
4604     PRPC_MESSAGE pRpcMessage,
4605     DWORD* pdwStubPhase);
4606 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetHotKey_Proxy(
4607     IActiveIMMIME* This,
4608     DWORD dwHotKeyID,
4609     UINT *puModifiers,
4610     UINT *puVKey,
4611     HKL *phKL);
4612 void __RPC_STUB IActiveIMMIME_GetHotKey_Stub(
4613     IRpcStubBuffer* This,
4614     IRpcChannelBuffer* pRpcChannelBuffer,
4615     PRPC_MESSAGE pRpcMessage,
4616     DWORD* pdwStubPhase);
4617 HRESULT STDMETHODCALLTYPE IActiveIMMIME_SetHotKey_Proxy(
4618     IActiveIMMIME* This,
4619     DWORD dwHotKeyID,
4620     UINT uModifiers,
4621     UINT uVKey,
4622     HKL hKL);
4623 void __RPC_STUB IActiveIMMIME_SetHotKey_Stub(
4624     IRpcStubBuffer* This,
4625     IRpcChannelBuffer* pRpcChannelBuffer,
4626     PRPC_MESSAGE pRpcMessage,
4627     DWORD* pdwStubPhase);
4628 HRESULT STDMETHODCALLTYPE IActiveIMMIME_CreateSoftKeyboard_Proxy(
4629     IActiveIMMIME* This,
4630     UINT uType,
4631     HWND hOwner,
4632     int x,
4633     int y,
4634     HWND *phSoftKbdWnd);
4635 void __RPC_STUB IActiveIMMIME_CreateSoftKeyboard_Stub(
4636     IRpcStubBuffer* This,
4637     IRpcChannelBuffer* pRpcChannelBuffer,
4638     PRPC_MESSAGE pRpcMessage,
4639     DWORD* pdwStubPhase);
4640 HRESULT STDMETHODCALLTYPE IActiveIMMIME_DestroySoftKeyboard_Proxy(
4641     IActiveIMMIME* This,
4642     HWND hSoftKbdWnd);
4643 void __RPC_STUB IActiveIMMIME_DestroySoftKeyboard_Stub(
4644     IRpcStubBuffer* This,
4645     IRpcChannelBuffer* pRpcChannelBuffer,
4646     PRPC_MESSAGE pRpcMessage,
4647     DWORD* pdwStubPhase);
4648 HRESULT STDMETHODCALLTYPE IActiveIMMIME_ShowSoftKeyboard_Proxy(
4649     IActiveIMMIME* This,
4650     HWND hSoftKbdWnd,
4651     int nCmdShow);
4652 void __RPC_STUB IActiveIMMIME_ShowSoftKeyboard_Stub(
4653     IRpcStubBuffer* This,
4654     IRpcChannelBuffer* pRpcChannelBuffer,
4655     PRPC_MESSAGE pRpcMessage,
4656     DWORD* pdwStubPhase);
4657 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetCodePageA_Proxy(
4658     IActiveIMMIME* This,
4659     HKL hKL,
4660     UINT *uCodePage);
4661 void __RPC_STUB IActiveIMMIME_GetCodePageA_Stub(
4662     IRpcStubBuffer* This,
4663     IRpcChannelBuffer* pRpcChannelBuffer,
4664     PRPC_MESSAGE pRpcMessage,
4665     DWORD* pdwStubPhase);
4666 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetLangId_Proxy(
4667     IActiveIMMIME* This,
4668     HKL hKL,
4669     LANGID *plid);
4670 void __RPC_STUB IActiveIMMIME_GetLangId_Stub(
4671     IRpcStubBuffer* This,
4672     IRpcChannelBuffer* pRpcChannelBuffer,
4673     PRPC_MESSAGE pRpcMessage,
4674     DWORD* pdwStubPhase);
4675 HRESULT STDMETHODCALLTYPE IActiveIMMIME_KeybdEvent_Proxy(
4676     IActiveIMMIME* This,
4677     LANGID lgidIME,
4678     BYTE bVk,
4679     BYTE bScan,
4680     DWORD dwFlags,
4681     DWORD dwExtraInfo);
4682 void __RPC_STUB IActiveIMMIME_KeybdEvent_Stub(
4683     IRpcStubBuffer* This,
4684     IRpcChannelBuffer* pRpcChannelBuffer,
4685     PRPC_MESSAGE pRpcMessage,
4686     DWORD* pdwStubPhase);
4687 HRESULT STDMETHODCALLTYPE IActiveIMMIME_LockModal_Proxy(
4688     IActiveIMMIME* This);
4689 void __RPC_STUB IActiveIMMIME_LockModal_Stub(
4690     IRpcStubBuffer* This,
4691     IRpcChannelBuffer* pRpcChannelBuffer,
4692     PRPC_MESSAGE pRpcMessage,
4693     DWORD* pdwStubPhase);
4694 HRESULT STDMETHODCALLTYPE IActiveIMMIME_UnlockModal_Proxy(
4695     IActiveIMMIME* This);
4696 void __RPC_STUB IActiveIMMIME_UnlockModal_Stub(
4697     IRpcStubBuffer* This,
4698     IRpcChannelBuffer* pRpcChannelBuffer,
4699     PRPC_MESSAGE pRpcMessage,
4700     DWORD* pdwStubPhase);
4701 HRESULT STDMETHODCALLTYPE IActiveIMMIME_AssociateContextEx_Proxy(
4702     IActiveIMMIME* This,
4703     HWND hWnd,
4704     HIMC hIMC,
4705     DWORD dwFlags);
4706 void __RPC_STUB IActiveIMMIME_AssociateContextEx_Stub(
4707     IRpcStubBuffer* This,
4708     IRpcChannelBuffer* pRpcChannelBuffer,
4709     PRPC_MESSAGE pRpcMessage,
4710     DWORD* pdwStubPhase);
4711 HRESULT STDMETHODCALLTYPE IActiveIMMIME_DisableIME_Proxy(
4712     IActiveIMMIME* This,
4713     DWORD idThread);
4714 void __RPC_STUB IActiveIMMIME_DisableIME_Stub(
4715     IRpcStubBuffer* This,
4716     IRpcChannelBuffer* pRpcChannelBuffer,
4717     PRPC_MESSAGE pRpcMessage,
4718     DWORD* pdwStubPhase);
4719 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetImeMenuItemsA_Proxy(
4720     IActiveIMMIME* This,
4721     HIMC hIMC,
4722     DWORD dwFlags,
4723     DWORD dwType,
4724     IMEMENUITEMINFOA *pImeParentMenu,
4725     IMEMENUITEMINFOA *pImeMenu,
4726     DWORD dwSize,
4727     DWORD *pdwResult);
4728 void __RPC_STUB IActiveIMMIME_GetImeMenuItemsA_Stub(
4729     IRpcStubBuffer* This,
4730     IRpcChannelBuffer* pRpcChannelBuffer,
4731     PRPC_MESSAGE pRpcMessage,
4732     DWORD* pdwStubPhase);
4733 HRESULT STDMETHODCALLTYPE IActiveIMMIME_GetImeMenuItemsW_Proxy(
4734     IActiveIMMIME* This,
4735     HIMC hIMC,
4736     DWORD dwFlags,
4737     DWORD dwType,
4738     IMEMENUITEMINFOW *pImeParentMenu,
4739     IMEMENUITEMINFOW *pImeMenu,
4740     DWORD dwSize,
4741     DWORD *pdwResult);
4742 void __RPC_STUB IActiveIMMIME_GetImeMenuItemsW_Stub(
4743     IRpcStubBuffer* This,
4744     IRpcChannelBuffer* pRpcChannelBuffer,
4745     PRPC_MESSAGE pRpcMessage,
4746     DWORD* pdwStubPhase);
4747 HRESULT STDMETHODCALLTYPE IActiveIMMIME_EnumInputContext_Proxy(
4748     IActiveIMMIME* This,
4749     DWORD idThread,
4750     IEnumInputContext **ppEnum);
4751 void __RPC_STUB IActiveIMMIME_EnumInputContext_Stub(
4752     IRpcStubBuffer* This,
4753     IRpcChannelBuffer* pRpcChannelBuffer,
4754     PRPC_MESSAGE pRpcMessage,
4755     DWORD* pdwStubPhase);
4756 HRESULT STDMETHODCALLTYPE IActiveIMMIME_RequestMessageA_Proxy(
4757     IActiveIMMIME* This,
4758     HIMC hIMC,
4759     WPARAM wParam,
4760     LPARAM lParam,
4761     LRESULT *plResult);
4762 void __RPC_STUB IActiveIMMIME_RequestMessageA_Stub(
4763     IRpcStubBuffer* This,
4764     IRpcChannelBuffer* pRpcChannelBuffer,
4765     PRPC_MESSAGE pRpcMessage,
4766     DWORD* pdwStubPhase);
4767 HRESULT STDMETHODCALLTYPE IActiveIMMIME_RequestMessageW_Proxy(
4768     IActiveIMMIME* This,
4769     HIMC hIMC,
4770     WPARAM wParam,
4771     LPARAM lParam,
4772     LRESULT *plResult);
4773 void __RPC_STUB IActiveIMMIME_RequestMessageW_Stub(
4774     IRpcStubBuffer* This,
4775     IRpcChannelBuffer* pRpcChannelBuffer,
4776     PRPC_MESSAGE pRpcMessage,
4777     DWORD* pdwStubPhase);
4778 HRESULT STDMETHODCALLTYPE IActiveIMMIME_SendIMCA_Proxy(
4779     IActiveIMMIME* This,
4780     HWND hWnd,
4781     UINT uMsg,
4782     WPARAM wParam,
4783     LPARAM lParam,
4784     LRESULT *plResult);
4785 void __RPC_STUB IActiveIMMIME_SendIMCA_Stub(
4786     IRpcStubBuffer* This,
4787     IRpcChannelBuffer* pRpcChannelBuffer,
4788     PRPC_MESSAGE pRpcMessage,
4789     DWORD* pdwStubPhase);
4790 HRESULT STDMETHODCALLTYPE IActiveIMMIME_SendIMCW_Proxy(
4791     IActiveIMMIME* This,
4792     HWND hWnd,
4793     UINT uMsg,
4794     WPARAM wParam,
4795     LPARAM lParam,
4796     LRESULT *plResult);
4797 void __RPC_STUB IActiveIMMIME_SendIMCW_Stub(
4798     IRpcStubBuffer* This,
4799     IRpcChannelBuffer* pRpcChannelBuffer,
4800     PRPC_MESSAGE pRpcMessage,
4801     DWORD* pdwStubPhase);
4802 HRESULT STDMETHODCALLTYPE IActiveIMMIME_IsSleeping_Proxy(
4803     IActiveIMMIME* This);
4804 void __RPC_STUB IActiveIMMIME_IsSleeping_Stub(
4805     IRpcStubBuffer* This,
4806     IRpcChannelBuffer* pRpcChannelBuffer,
4807     PRPC_MESSAGE pRpcMessage,
4808     DWORD* pdwStubPhase);
4809 
4810 #endif  /* __IActiveIMMIME_INTERFACE_DEFINED__ */
4811 
4812 /*****************************************************************************
4813  * IActiveIME interface
4814  */
4815 #ifndef __IActiveIME_INTERFACE_DEFINED__
4816 #define __IActiveIME_INTERFACE_DEFINED__
4817 
4818 DEFINE_GUID(IID_IActiveIME, 0x6fe20962, 0xd077, 0x11d0, 0x8f,0xe7, 0x00,0xaa,0x00,0x6b,0xcc,0x59);
4819 #if defined(__cplusplus) && !defined(CINTERFACE)
4820 MIDL_INTERFACE("6fe20962-d077-11d0-8fe7-00aa006bcc59")
4821 IActiveIME : public IUnknown
4822 {
4823     virtual HRESULT STDMETHODCALLTYPE Inquire(
4824         DWORD dwSystemInfoFlags,
4825         IMEINFO *pIMEInfo,
4826         LPWSTR szWndClass,
4827         DWORD *pdwPrivate) = 0;
4828 
4829     virtual HRESULT STDMETHODCALLTYPE ConversionList(
4830         HIMC hIMC,
4831         LPWSTR szSource,
4832         UINT uFlag,
4833         UINT uBufLen,
4834         CANDIDATELIST *pDest,
4835         UINT *puCopied) = 0;
4836 
4837     virtual HRESULT STDMETHODCALLTYPE Configure(
4838         HKL hKL,
4839         HWND hWnd,
4840         DWORD dwMode,
4841         REGISTERWORDW *pRegisterWord) = 0;
4842 
4843     virtual HRESULT STDMETHODCALLTYPE Destroy(
4844         UINT uReserved) = 0;
4845 
4846     virtual HRESULT STDMETHODCALLTYPE Escape(
4847         HIMC hIMC,
4848         UINT uEscape,
4849         void *pData,
4850         LRESULT *plResult) = 0;
4851 
4852     virtual HRESULT STDMETHODCALLTYPE SetActiveContext(
4853         HIMC hIMC,
4854         WINBOOL fFlag) = 0;
4855 
4856     virtual HRESULT STDMETHODCALLTYPE ProcessKey(
4857         HIMC hIMC,
4858         UINT uVirKey,
4859         DWORD lParam,
4860         BYTE *pbKeyState) = 0;
4861 
4862     virtual HRESULT STDMETHODCALLTYPE Notify(
4863         HIMC hIMC,
4864         DWORD dwAction,
4865         DWORD dwIndex,
4866         DWORD dwValue) = 0;
4867 
4868     virtual HRESULT STDMETHODCALLTYPE Select(
4869         HIMC hIMC,
4870         WINBOOL fSelect) = 0;
4871 
4872     virtual HRESULT STDMETHODCALLTYPE SetCompositionString(
4873         HIMC hIMC,
4874         DWORD dwIndex,
4875         void *pComp,
4876         DWORD dwCompLen,
4877         void *pRead,
4878         DWORD dwReadLen) = 0;
4879 
4880     virtual HRESULT STDMETHODCALLTYPE ToAsciiEx(
4881         UINT uVirKey,
4882         UINT uScanCode,
4883         BYTE *pbKeyState,
4884         UINT fuState,
4885         HIMC hIMC,
4886         DWORD *pdwTransBuf,
4887         UINT *puSize) = 0;
4888 
4889     virtual HRESULT STDMETHODCALLTYPE RegisterWord(
4890         LPWSTR szReading,
4891         DWORD dwStyle,
4892         LPWSTR szString) = 0;
4893 
4894     virtual HRESULT STDMETHODCALLTYPE UnregisterWord(
4895         LPWSTR szReading,
4896         DWORD dwStyle,
4897         LPWSTR szString) = 0;
4898 
4899     virtual HRESULT STDMETHODCALLTYPE GetRegisterWordStyle(
4900         UINT nItem,
4901         STYLEBUFW *pStyleBuf,
4902         UINT *puBufSize) = 0;
4903 
4904     virtual HRESULT STDMETHODCALLTYPE EnumRegisterWord(
4905         LPWSTR szReading,
4906         DWORD dwStyle,
4907         LPWSTR szRegister,
4908         LPVOID pData,
4909         IEnumRegisterWordW **ppEnum) = 0;
4910 
4911     virtual HRESULT STDMETHODCALLTYPE GetCodePageA(
4912         UINT *uCodePage) = 0;
4913 
4914     virtual HRESULT STDMETHODCALLTYPE GetLangId(
4915         LANGID *plid) = 0;
4916 
4917 };
4918 #ifdef __CRT_UUID_DECL
4919 __CRT_UUID_DECL(IActiveIME, 0x6fe20962, 0xd077, 0x11d0, 0x8f,0xe7, 0x00,0xaa,0x00,0x6b,0xcc,0x59)
4920 #endif
4921 #else
4922 typedef struct IActiveIMEVtbl {
4923     BEGIN_INTERFACE
4924 
4925     /*** IUnknown methods ***/
4926     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4927         IActiveIME* This,
4928         REFIID riid,
4929         void **ppvObject);
4930 
4931     ULONG (STDMETHODCALLTYPE *AddRef)(
4932         IActiveIME* This);
4933 
4934     ULONG (STDMETHODCALLTYPE *Release)(
4935         IActiveIME* This);
4936 
4937     /*** IActiveIME methods ***/
4938     HRESULT (STDMETHODCALLTYPE *Inquire)(
4939         IActiveIME* This,
4940         DWORD dwSystemInfoFlags,
4941         IMEINFO *pIMEInfo,
4942         LPWSTR szWndClass,
4943         DWORD *pdwPrivate);
4944 
4945     HRESULT (STDMETHODCALLTYPE *ConversionList)(
4946         IActiveIME* This,
4947         HIMC hIMC,
4948         LPWSTR szSource,
4949         UINT uFlag,
4950         UINT uBufLen,
4951         CANDIDATELIST *pDest,
4952         UINT *puCopied);
4953 
4954     HRESULT (STDMETHODCALLTYPE *Configure)(
4955         IActiveIME* This,
4956         HKL hKL,
4957         HWND hWnd,
4958         DWORD dwMode,
4959         REGISTERWORDW *pRegisterWord);
4960 
4961     HRESULT (STDMETHODCALLTYPE *Destroy)(
4962         IActiveIME* This,
4963         UINT uReserved);
4964 
4965     HRESULT (STDMETHODCALLTYPE *Escape)(
4966         IActiveIME* This,
4967         HIMC hIMC,
4968         UINT uEscape,
4969         void *pData,
4970         LRESULT *plResult);
4971 
4972     HRESULT (STDMETHODCALLTYPE *SetActiveContext)(
4973         IActiveIME* This,
4974         HIMC hIMC,
4975         WINBOOL fFlag);
4976 
4977     HRESULT (STDMETHODCALLTYPE *ProcessKey)(
4978         IActiveIME* This,
4979         HIMC hIMC,
4980         UINT uVirKey,
4981         DWORD lParam,
4982         BYTE *pbKeyState);
4983 
4984     HRESULT (STDMETHODCALLTYPE *Notify)(
4985         IActiveIME* This,
4986         HIMC hIMC,
4987         DWORD dwAction,
4988         DWORD dwIndex,
4989         DWORD dwValue);
4990 
4991     HRESULT (STDMETHODCALLTYPE *Select)(
4992         IActiveIME* This,
4993         HIMC hIMC,
4994         WINBOOL fSelect);
4995 
4996     HRESULT (STDMETHODCALLTYPE *SetCompositionString)(
4997         IActiveIME* This,
4998         HIMC hIMC,
4999         DWORD dwIndex,
5000         void *pComp,
5001         DWORD dwCompLen,
5002         void *pRead,
5003         DWORD dwReadLen);
5004 
5005     HRESULT (STDMETHODCALLTYPE *ToAsciiEx)(
5006         IActiveIME* This,
5007         UINT uVirKey,
5008         UINT uScanCode,
5009         BYTE *pbKeyState,
5010         UINT fuState,
5011         HIMC hIMC,
5012         DWORD *pdwTransBuf,
5013         UINT *puSize);
5014 
5015     HRESULT (STDMETHODCALLTYPE *RegisterWord)(
5016         IActiveIME* This,
5017         LPWSTR szReading,
5018         DWORD dwStyle,
5019         LPWSTR szString);
5020 
5021     HRESULT (STDMETHODCALLTYPE *UnregisterWord)(
5022         IActiveIME* This,
5023         LPWSTR szReading,
5024         DWORD dwStyle,
5025         LPWSTR szString);
5026 
5027     HRESULT (STDMETHODCALLTYPE *GetRegisterWordStyle)(
5028         IActiveIME* This,
5029         UINT nItem,
5030         STYLEBUFW *pStyleBuf,
5031         UINT *puBufSize);
5032 
5033     HRESULT (STDMETHODCALLTYPE *EnumRegisterWord)(
5034         IActiveIME* This,
5035         LPWSTR szReading,
5036         DWORD dwStyle,
5037         LPWSTR szRegister,
5038         LPVOID pData,
5039         IEnumRegisterWordW **ppEnum);
5040 
5041     HRESULT (STDMETHODCALLTYPE *GetCodePageA)(
5042         IActiveIME* This,
5043         UINT *uCodePage);
5044 
5045     HRESULT (STDMETHODCALLTYPE *GetLangId)(
5046         IActiveIME* This,
5047         LANGID *plid);
5048 
5049     END_INTERFACE
5050 } IActiveIMEVtbl;
5051 interface IActiveIME {
5052     CONST_VTBL IActiveIMEVtbl* lpVtbl;
5053 };
5054 
5055 #ifdef COBJMACROS
5056 #ifndef WIDL_C_INLINE_WRAPPERS
5057 /*** IUnknown methods ***/
5058 #define IActiveIME_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5059 #define IActiveIME_AddRef(This) (This)->lpVtbl->AddRef(This)
5060 #define IActiveIME_Release(This) (This)->lpVtbl->Release(This)
5061 /*** IActiveIME methods ***/
5062 #define IActiveIME_Inquire(This,dwSystemInfoFlags,pIMEInfo,szWndClass,pdwPrivate) (This)->lpVtbl->Inquire(This,dwSystemInfoFlags,pIMEInfo,szWndClass,pdwPrivate)
5063 #define IActiveIME_ConversionList(This,hIMC,szSource,uFlag,uBufLen,pDest,puCopied) (This)->lpVtbl->ConversionList(This,hIMC,szSource,uFlag,uBufLen,pDest,puCopied)
5064 #define IActiveIME_Configure(This,hKL,hWnd,dwMode,pRegisterWord) (This)->lpVtbl->Configure(This,hKL,hWnd,dwMode,pRegisterWord)
5065 #define IActiveIME_Destroy(This,uReserved) (This)->lpVtbl->Destroy(This,uReserved)
5066 #define IActiveIME_Escape(This,hIMC,uEscape,pData,plResult) (This)->lpVtbl->Escape(This,hIMC,uEscape,pData,plResult)
5067 #define IActiveIME_SetActiveContext(This,hIMC,fFlag) (This)->lpVtbl->SetActiveContext(This,hIMC,fFlag)
5068 #define IActiveIME_ProcessKey(This,hIMC,uVirKey,lParam,pbKeyState) (This)->lpVtbl->ProcessKey(This,hIMC,uVirKey,lParam,pbKeyState)
5069 #define IActiveIME_Notify(This,hIMC,dwAction,dwIndex,dwValue) (This)->lpVtbl->Notify(This,hIMC,dwAction,dwIndex,dwValue)
5070 #define IActiveIME_Select(This,hIMC,fSelect) (This)->lpVtbl->Select(This,hIMC,fSelect)
5071 #define IActiveIME_SetCompositionString(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen) (This)->lpVtbl->SetCompositionString(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen)
5072 #define IActiveIME_ToAsciiEx(This,uVirKey,uScanCode,pbKeyState,fuState,hIMC,pdwTransBuf,puSize) (This)->lpVtbl->ToAsciiEx(This,uVirKey,uScanCode,pbKeyState,fuState,hIMC,pdwTransBuf,puSize)
5073 #define IActiveIME_RegisterWord(This,szReading,dwStyle,szString) (This)->lpVtbl->RegisterWord(This,szReading,dwStyle,szString)
5074 #define IActiveIME_UnregisterWord(This,szReading,dwStyle,szString) (This)->lpVtbl->UnregisterWord(This,szReading,dwStyle,szString)
5075 #define IActiveIME_GetRegisterWordStyle(This,nItem,pStyleBuf,puBufSize) (This)->lpVtbl->GetRegisterWordStyle(This,nItem,pStyleBuf,puBufSize)
5076 #define IActiveIME_EnumRegisterWord(This,szReading,dwStyle,szRegister,pData,ppEnum) (This)->lpVtbl->EnumRegisterWord(This,szReading,dwStyle,szRegister,pData,ppEnum)
5077 #define IActiveIME_GetCodePageA(This,uCodePage) (This)->lpVtbl->GetCodePageA(This,uCodePage)
5078 #define IActiveIME_GetLangId(This,plid) (This)->lpVtbl->GetLangId(This,plid)
5079 #else
5080 /*** IUnknown methods ***/
5081 static FORCEINLINE HRESULT IActiveIME_QueryInterface(IActiveIME* This,REFIID riid,void **ppvObject) {
5082     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5083 }
5084 static FORCEINLINE ULONG IActiveIME_AddRef(IActiveIME* This) {
5085     return This->lpVtbl->AddRef(This);
5086 }
5087 static FORCEINLINE ULONG IActiveIME_Release(IActiveIME* This) {
5088     return This->lpVtbl->Release(This);
5089 }
5090 /*** IActiveIME methods ***/
5091 static FORCEINLINE HRESULT IActiveIME_Inquire(IActiveIME* This,DWORD dwSystemInfoFlags,IMEINFO *pIMEInfo,LPWSTR szWndClass,DWORD *pdwPrivate) {
5092     return This->lpVtbl->Inquire(This,dwSystemInfoFlags,pIMEInfo,szWndClass,pdwPrivate);
5093 }
5094 static FORCEINLINE HRESULT IActiveIME_ConversionList(IActiveIME* This,HIMC hIMC,LPWSTR szSource,UINT uFlag,UINT uBufLen,CANDIDATELIST *pDest,UINT *puCopied) {
5095     return This->lpVtbl->ConversionList(This,hIMC,szSource,uFlag,uBufLen,pDest,puCopied);
5096 }
5097 static FORCEINLINE HRESULT IActiveIME_Configure(IActiveIME* This,HKL hKL,HWND hWnd,DWORD dwMode,REGISTERWORDW *pRegisterWord) {
5098     return This->lpVtbl->Configure(This,hKL,hWnd,dwMode,pRegisterWord);
5099 }
5100 static FORCEINLINE HRESULT IActiveIME_Destroy(IActiveIME* This,UINT uReserved) {
5101     return This->lpVtbl->Destroy(This,uReserved);
5102 }
5103 static FORCEINLINE HRESULT IActiveIME_Escape(IActiveIME* This,HIMC hIMC,UINT uEscape,void *pData,LRESULT *plResult) {
5104     return This->lpVtbl->Escape(This,hIMC,uEscape,pData,plResult);
5105 }
5106 static FORCEINLINE HRESULT IActiveIME_SetActiveContext(IActiveIME* This,HIMC hIMC,WINBOOL fFlag) {
5107     return This->lpVtbl->SetActiveContext(This,hIMC,fFlag);
5108 }
5109 static FORCEINLINE HRESULT IActiveIME_ProcessKey(IActiveIME* This,HIMC hIMC,UINT uVirKey,DWORD lParam,BYTE *pbKeyState) {
5110     return This->lpVtbl->ProcessKey(This,hIMC,uVirKey,lParam,pbKeyState);
5111 }
5112 static FORCEINLINE HRESULT IActiveIME_Notify(IActiveIME* This,HIMC hIMC,DWORD dwAction,DWORD dwIndex,DWORD dwValue) {
5113     return This->lpVtbl->Notify(This,hIMC,dwAction,dwIndex,dwValue);
5114 }
5115 static FORCEINLINE HRESULT IActiveIME_Select(IActiveIME* This,HIMC hIMC,WINBOOL fSelect) {
5116     return This->lpVtbl->Select(This,hIMC,fSelect);
5117 }
5118 static FORCEINLINE HRESULT IActiveIME_SetCompositionString(IActiveIME* This,HIMC hIMC,DWORD dwIndex,void *pComp,DWORD dwCompLen,void *pRead,DWORD dwReadLen) {
5119     return This->lpVtbl->SetCompositionString(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen);
5120 }
5121 static FORCEINLINE HRESULT IActiveIME_ToAsciiEx(IActiveIME* This,UINT uVirKey,UINT uScanCode,BYTE *pbKeyState,UINT fuState,HIMC hIMC,DWORD *pdwTransBuf,UINT *puSize) {
5122     return This->lpVtbl->ToAsciiEx(This,uVirKey,uScanCode,pbKeyState,fuState,hIMC,pdwTransBuf,puSize);
5123 }
5124 static FORCEINLINE HRESULT IActiveIME_RegisterWord(IActiveIME* This,LPWSTR szReading,DWORD dwStyle,LPWSTR szString) {
5125     return This->lpVtbl->RegisterWord(This,szReading,dwStyle,szString);
5126 }
5127 static FORCEINLINE HRESULT IActiveIME_UnregisterWord(IActiveIME* This,LPWSTR szReading,DWORD dwStyle,LPWSTR szString) {
5128     return This->lpVtbl->UnregisterWord(This,szReading,dwStyle,szString);
5129 }
5130 static FORCEINLINE HRESULT IActiveIME_GetRegisterWordStyle(IActiveIME* This,UINT nItem,STYLEBUFW *pStyleBuf,UINT *puBufSize) {
5131     return This->lpVtbl->GetRegisterWordStyle(This,nItem,pStyleBuf,puBufSize);
5132 }
5133 static FORCEINLINE HRESULT IActiveIME_EnumRegisterWord(IActiveIME* This,LPWSTR szReading,DWORD dwStyle,LPWSTR szRegister,LPVOID pData,IEnumRegisterWordW **ppEnum) {
5134     return This->lpVtbl->EnumRegisterWord(This,szReading,dwStyle,szRegister,pData,ppEnum);
5135 }
5136 static FORCEINLINE HRESULT IActiveIME_GetCodePageA(IActiveIME* This,UINT *uCodePage) {
5137     return This->lpVtbl->GetCodePageA(This,uCodePage);
5138 }
5139 static FORCEINLINE HRESULT IActiveIME_GetLangId(IActiveIME* This,LANGID *plid) {
5140     return This->lpVtbl->GetLangId(This,plid);
5141 }
5142 #endif
5143 #endif
5144 
5145 #endif
5146 
5147 HRESULT STDMETHODCALLTYPE IActiveIME_Inquire_Proxy(
5148     IActiveIME* This,
5149     DWORD dwSystemInfoFlags,
5150     IMEINFO *pIMEInfo,
5151     LPWSTR szWndClass,
5152     DWORD *pdwPrivate);
5153 void __RPC_STUB IActiveIME_Inquire_Stub(
5154     IRpcStubBuffer* This,
5155     IRpcChannelBuffer* pRpcChannelBuffer,
5156     PRPC_MESSAGE pRpcMessage,
5157     DWORD* pdwStubPhase);
5158 HRESULT STDMETHODCALLTYPE IActiveIME_ConversionList_Proxy(
5159     IActiveIME* This,
5160     HIMC hIMC,
5161     LPWSTR szSource,
5162     UINT uFlag,
5163     UINT uBufLen,
5164     CANDIDATELIST *pDest,
5165     UINT *puCopied);
5166 void __RPC_STUB IActiveIME_ConversionList_Stub(
5167     IRpcStubBuffer* This,
5168     IRpcChannelBuffer* pRpcChannelBuffer,
5169     PRPC_MESSAGE pRpcMessage,
5170     DWORD* pdwStubPhase);
5171 HRESULT STDMETHODCALLTYPE IActiveIME_Configure_Proxy(
5172     IActiveIME* This,
5173     HKL hKL,
5174     HWND hWnd,
5175     DWORD dwMode,
5176     REGISTERWORDW *pRegisterWord);
5177 void __RPC_STUB IActiveIME_Configure_Stub(
5178     IRpcStubBuffer* This,
5179     IRpcChannelBuffer* pRpcChannelBuffer,
5180     PRPC_MESSAGE pRpcMessage,
5181     DWORD* pdwStubPhase);
5182 HRESULT STDMETHODCALLTYPE IActiveIME_Destroy_Proxy(
5183     IActiveIME* This,
5184     UINT uReserved);
5185 void __RPC_STUB IActiveIME_Destroy_Stub(
5186     IRpcStubBuffer* This,
5187     IRpcChannelBuffer* pRpcChannelBuffer,
5188     PRPC_MESSAGE pRpcMessage,
5189     DWORD* pdwStubPhase);
5190 HRESULT STDMETHODCALLTYPE IActiveIME_Escape_Proxy(
5191     IActiveIME* This,
5192     HIMC hIMC,
5193     UINT uEscape,
5194     void *pData,
5195     LRESULT *plResult);
5196 void __RPC_STUB IActiveIME_Escape_Stub(
5197     IRpcStubBuffer* This,
5198     IRpcChannelBuffer* pRpcChannelBuffer,
5199     PRPC_MESSAGE pRpcMessage,
5200     DWORD* pdwStubPhase);
5201 HRESULT STDMETHODCALLTYPE IActiveIME_SetActiveContext_Proxy(
5202     IActiveIME* This,
5203     HIMC hIMC,
5204     WINBOOL fFlag);
5205 void __RPC_STUB IActiveIME_SetActiveContext_Stub(
5206     IRpcStubBuffer* This,
5207     IRpcChannelBuffer* pRpcChannelBuffer,
5208     PRPC_MESSAGE pRpcMessage,
5209     DWORD* pdwStubPhase);
5210 HRESULT STDMETHODCALLTYPE IActiveIME_ProcessKey_Proxy(
5211     IActiveIME* This,
5212     HIMC hIMC,
5213     UINT uVirKey,
5214     DWORD lParam,
5215     BYTE *pbKeyState);
5216 void __RPC_STUB IActiveIME_ProcessKey_Stub(
5217     IRpcStubBuffer* This,
5218     IRpcChannelBuffer* pRpcChannelBuffer,
5219     PRPC_MESSAGE pRpcMessage,
5220     DWORD* pdwStubPhase);
5221 HRESULT STDMETHODCALLTYPE IActiveIME_Notify_Proxy(
5222     IActiveIME* This,
5223     HIMC hIMC,
5224     DWORD dwAction,
5225     DWORD dwIndex,
5226     DWORD dwValue);
5227 void __RPC_STUB IActiveIME_Notify_Stub(
5228     IRpcStubBuffer* This,
5229     IRpcChannelBuffer* pRpcChannelBuffer,
5230     PRPC_MESSAGE pRpcMessage,
5231     DWORD* pdwStubPhase);
5232 HRESULT STDMETHODCALLTYPE IActiveIME_Select_Proxy(
5233     IActiveIME* This,
5234     HIMC hIMC,
5235     WINBOOL fSelect);
5236 void __RPC_STUB IActiveIME_Select_Stub(
5237     IRpcStubBuffer* This,
5238     IRpcChannelBuffer* pRpcChannelBuffer,
5239     PRPC_MESSAGE pRpcMessage,
5240     DWORD* pdwStubPhase);
5241 HRESULT STDMETHODCALLTYPE IActiveIME_SetCompositionString_Proxy(
5242     IActiveIME* This,
5243     HIMC hIMC,
5244     DWORD dwIndex,
5245     void *pComp,
5246     DWORD dwCompLen,
5247     void *pRead,
5248     DWORD dwReadLen);
5249 void __RPC_STUB IActiveIME_SetCompositionString_Stub(
5250     IRpcStubBuffer* This,
5251     IRpcChannelBuffer* pRpcChannelBuffer,
5252     PRPC_MESSAGE pRpcMessage,
5253     DWORD* pdwStubPhase);
5254 HRESULT STDMETHODCALLTYPE IActiveIME_ToAsciiEx_Proxy(
5255     IActiveIME* This,
5256     UINT uVirKey,
5257     UINT uScanCode,
5258     BYTE *pbKeyState,
5259     UINT fuState,
5260     HIMC hIMC,
5261     DWORD *pdwTransBuf,
5262     UINT *puSize);
5263 void __RPC_STUB IActiveIME_ToAsciiEx_Stub(
5264     IRpcStubBuffer* This,
5265     IRpcChannelBuffer* pRpcChannelBuffer,
5266     PRPC_MESSAGE pRpcMessage,
5267     DWORD* pdwStubPhase);
5268 HRESULT STDMETHODCALLTYPE IActiveIME_RegisterWord_Proxy(
5269     IActiveIME* This,
5270     LPWSTR szReading,
5271     DWORD dwStyle,
5272     LPWSTR szString);
5273 void __RPC_STUB IActiveIME_RegisterWord_Stub(
5274     IRpcStubBuffer* This,
5275     IRpcChannelBuffer* pRpcChannelBuffer,
5276     PRPC_MESSAGE pRpcMessage,
5277     DWORD* pdwStubPhase);
5278 HRESULT STDMETHODCALLTYPE IActiveIME_UnregisterWord_Proxy(
5279     IActiveIME* This,
5280     LPWSTR szReading,
5281     DWORD dwStyle,
5282     LPWSTR szString);
5283 void __RPC_STUB IActiveIME_UnregisterWord_Stub(
5284     IRpcStubBuffer* This,
5285     IRpcChannelBuffer* pRpcChannelBuffer,
5286     PRPC_MESSAGE pRpcMessage,
5287     DWORD* pdwStubPhase);
5288 HRESULT STDMETHODCALLTYPE IActiveIME_GetRegisterWordStyle_Proxy(
5289     IActiveIME* This,
5290     UINT nItem,
5291     STYLEBUFW *pStyleBuf,
5292     UINT *puBufSize);
5293 void __RPC_STUB IActiveIME_GetRegisterWordStyle_Stub(
5294     IRpcStubBuffer* This,
5295     IRpcChannelBuffer* pRpcChannelBuffer,
5296     PRPC_MESSAGE pRpcMessage,
5297     DWORD* pdwStubPhase);
5298 HRESULT STDMETHODCALLTYPE IActiveIME_EnumRegisterWord_Proxy(
5299     IActiveIME* This,
5300     LPWSTR szReading,
5301     DWORD dwStyle,
5302     LPWSTR szRegister,
5303     LPVOID pData,
5304     IEnumRegisterWordW **ppEnum);
5305 void __RPC_STUB IActiveIME_EnumRegisterWord_Stub(
5306     IRpcStubBuffer* This,
5307     IRpcChannelBuffer* pRpcChannelBuffer,
5308     PRPC_MESSAGE pRpcMessage,
5309     DWORD* pdwStubPhase);
5310 HRESULT STDMETHODCALLTYPE IActiveIME_GetCodePageA_Proxy(
5311     IActiveIME* This,
5312     UINT *uCodePage);
5313 void __RPC_STUB IActiveIME_GetCodePageA_Stub(
5314     IRpcStubBuffer* This,
5315     IRpcChannelBuffer* pRpcChannelBuffer,
5316     PRPC_MESSAGE pRpcMessage,
5317     DWORD* pdwStubPhase);
5318 HRESULT STDMETHODCALLTYPE IActiveIME_GetLangId_Proxy(
5319     IActiveIME* This,
5320     LANGID *plid);
5321 void __RPC_STUB IActiveIME_GetLangId_Stub(
5322     IRpcStubBuffer* This,
5323     IRpcChannelBuffer* pRpcChannelBuffer,
5324     PRPC_MESSAGE pRpcMessage,
5325     DWORD* pdwStubPhase);
5326 
5327 #endif  /* __IActiveIME_INTERFACE_DEFINED__ */
5328 
5329 /*****************************************************************************
5330  * IActiveIME2 interface
5331  */
5332 #ifndef __IActiveIME2_INTERFACE_DEFINED__
5333 #define __IActiveIME2_INTERFACE_DEFINED__
5334 
5335 DEFINE_GUID(IID_IActiveIME2, 0xe1c4bf0e, 0x2d53, 0x11d2, 0x93,0xe1, 0x00,0x60,0xb0,0x67,0xb8,0x6e);
5336 #if defined(__cplusplus) && !defined(CINTERFACE)
5337 MIDL_INTERFACE("e1c4bf0e-2d53-11d2-93e1-0060b067b86e")
5338 IActiveIME2 : public IActiveIME
5339 {
5340     virtual HRESULT STDMETHODCALLTYPE Sleep(
5341         ) = 0;
5342 
5343     virtual HRESULT STDMETHODCALLTYPE Unsleep(
5344         WINBOOL fDead) = 0;
5345 
5346 };
5347 #ifdef __CRT_UUID_DECL
5348 __CRT_UUID_DECL(IActiveIME2, 0xe1c4bf0e, 0x2d53, 0x11d2, 0x93,0xe1, 0x00,0x60,0xb0,0x67,0xb8,0x6e)
5349 #endif
5350 #else
5351 typedef struct IActiveIME2Vtbl {
5352     BEGIN_INTERFACE
5353 
5354     /*** IUnknown methods ***/
5355     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5356         IActiveIME2* This,
5357         REFIID riid,
5358         void **ppvObject);
5359 
5360     ULONG (STDMETHODCALLTYPE *AddRef)(
5361         IActiveIME2* This);
5362 
5363     ULONG (STDMETHODCALLTYPE *Release)(
5364         IActiveIME2* This);
5365 
5366     /*** IActiveIME methods ***/
5367     HRESULT (STDMETHODCALLTYPE *Inquire)(
5368         IActiveIME2* This,
5369         DWORD dwSystemInfoFlags,
5370         IMEINFO *pIMEInfo,
5371         LPWSTR szWndClass,
5372         DWORD *pdwPrivate);
5373 
5374     HRESULT (STDMETHODCALLTYPE *ConversionList)(
5375         IActiveIME2* This,
5376         HIMC hIMC,
5377         LPWSTR szSource,
5378         UINT uFlag,
5379         UINT uBufLen,
5380         CANDIDATELIST *pDest,
5381         UINT *puCopied);
5382 
5383     HRESULT (STDMETHODCALLTYPE *Configure)(
5384         IActiveIME2* This,
5385         HKL hKL,
5386         HWND hWnd,
5387         DWORD dwMode,
5388         REGISTERWORDW *pRegisterWord);
5389 
5390     HRESULT (STDMETHODCALLTYPE *Destroy)(
5391         IActiveIME2* This,
5392         UINT uReserved);
5393 
5394     HRESULT (STDMETHODCALLTYPE *Escape)(
5395         IActiveIME2* This,
5396         HIMC hIMC,
5397         UINT uEscape,
5398         void *pData,
5399         LRESULT *plResult);
5400 
5401     HRESULT (STDMETHODCALLTYPE *SetActiveContext)(
5402         IActiveIME2* This,
5403         HIMC hIMC,
5404         WINBOOL fFlag);
5405 
5406     HRESULT (STDMETHODCALLTYPE *ProcessKey)(
5407         IActiveIME2* This,
5408         HIMC hIMC,
5409         UINT uVirKey,
5410         DWORD lParam,
5411         BYTE *pbKeyState);
5412 
5413     HRESULT (STDMETHODCALLTYPE *Notify)(
5414         IActiveIME2* This,
5415         HIMC hIMC,
5416         DWORD dwAction,
5417         DWORD dwIndex,
5418         DWORD dwValue);
5419 
5420     HRESULT (STDMETHODCALLTYPE *Select)(
5421         IActiveIME2* This,
5422         HIMC hIMC,
5423         WINBOOL fSelect);
5424 
5425     HRESULT (STDMETHODCALLTYPE *SetCompositionString)(
5426         IActiveIME2* This,
5427         HIMC hIMC,
5428         DWORD dwIndex,
5429         void *pComp,
5430         DWORD dwCompLen,
5431         void *pRead,
5432         DWORD dwReadLen);
5433 
5434     HRESULT (STDMETHODCALLTYPE *ToAsciiEx)(
5435         IActiveIME2* This,
5436         UINT uVirKey,
5437         UINT uScanCode,
5438         BYTE *pbKeyState,
5439         UINT fuState,
5440         HIMC hIMC,
5441         DWORD *pdwTransBuf,
5442         UINT *puSize);
5443 
5444     HRESULT (STDMETHODCALLTYPE *RegisterWord)(
5445         IActiveIME2* This,
5446         LPWSTR szReading,
5447         DWORD dwStyle,
5448         LPWSTR szString);
5449 
5450     HRESULT (STDMETHODCALLTYPE *UnregisterWord)(
5451         IActiveIME2* This,
5452         LPWSTR szReading,
5453         DWORD dwStyle,
5454         LPWSTR szString);
5455 
5456     HRESULT (STDMETHODCALLTYPE *GetRegisterWordStyle)(
5457         IActiveIME2* This,
5458         UINT nItem,
5459         STYLEBUFW *pStyleBuf,
5460         UINT *puBufSize);
5461 
5462     HRESULT (STDMETHODCALLTYPE *EnumRegisterWord)(
5463         IActiveIME2* This,
5464         LPWSTR szReading,
5465         DWORD dwStyle,
5466         LPWSTR szRegister,
5467         LPVOID pData,
5468         IEnumRegisterWordW **ppEnum);
5469 
5470     HRESULT (STDMETHODCALLTYPE *GetCodePageA)(
5471         IActiveIME2* This,
5472         UINT *uCodePage);
5473 
5474     HRESULT (STDMETHODCALLTYPE *GetLangId)(
5475         IActiveIME2* This,
5476         LANGID *plid);
5477 
5478     /*** IActiveIME2 methods ***/
5479     HRESULT (STDMETHODCALLTYPE *Sleep)(
5480         IActiveIME2* This);
5481 
5482     HRESULT (STDMETHODCALLTYPE *Unsleep)(
5483         IActiveIME2* This,
5484         WINBOOL fDead);
5485 
5486     END_INTERFACE
5487 } IActiveIME2Vtbl;
5488 interface IActiveIME2 {
5489     CONST_VTBL IActiveIME2Vtbl* lpVtbl;
5490 };
5491 
5492 #ifdef COBJMACROS
5493 #ifndef WIDL_C_INLINE_WRAPPERS
5494 /*** IUnknown methods ***/
5495 #define IActiveIME2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5496 #define IActiveIME2_AddRef(This) (This)->lpVtbl->AddRef(This)
5497 #define IActiveIME2_Release(This) (This)->lpVtbl->Release(This)
5498 /*** IActiveIME methods ***/
5499 #define IActiveIME2_Inquire(This,dwSystemInfoFlags,pIMEInfo,szWndClass,pdwPrivate) (This)->lpVtbl->Inquire(This,dwSystemInfoFlags,pIMEInfo,szWndClass,pdwPrivate)
5500 #define IActiveIME2_ConversionList(This,hIMC,szSource,uFlag,uBufLen,pDest,puCopied) (This)->lpVtbl->ConversionList(This,hIMC,szSource,uFlag,uBufLen,pDest,puCopied)
5501 #define IActiveIME2_Configure(This,hKL,hWnd,dwMode,pRegisterWord) (This)->lpVtbl->Configure(This,hKL,hWnd,dwMode,pRegisterWord)
5502 #define IActiveIME2_Destroy(This,uReserved) (This)->lpVtbl->Destroy(This,uReserved)
5503 #define IActiveIME2_Escape(This,hIMC,uEscape,pData,plResult) (This)->lpVtbl->Escape(This,hIMC,uEscape,pData,plResult)
5504 #define IActiveIME2_SetActiveContext(This,hIMC,fFlag) (This)->lpVtbl->SetActiveContext(This,hIMC,fFlag)
5505 #define IActiveIME2_ProcessKey(This,hIMC,uVirKey,lParam,pbKeyState) (This)->lpVtbl->ProcessKey(This,hIMC,uVirKey,lParam,pbKeyState)
5506 #define IActiveIME2_Notify(This,hIMC,dwAction,dwIndex,dwValue) (This)->lpVtbl->Notify(This,hIMC,dwAction,dwIndex,dwValue)
5507 #define IActiveIME2_Select(This,hIMC,fSelect) (This)->lpVtbl->Select(This,hIMC,fSelect)
5508 #define IActiveIME2_SetCompositionString(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen) (This)->lpVtbl->SetCompositionString(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen)
5509 #define IActiveIME2_ToAsciiEx(This,uVirKey,uScanCode,pbKeyState,fuState,hIMC,pdwTransBuf,puSize) (This)->lpVtbl->ToAsciiEx(This,uVirKey,uScanCode,pbKeyState,fuState,hIMC,pdwTransBuf,puSize)
5510 #define IActiveIME2_RegisterWord(This,szReading,dwStyle,szString) (This)->lpVtbl->RegisterWord(This,szReading,dwStyle,szString)
5511 #define IActiveIME2_UnregisterWord(This,szReading,dwStyle,szString) (This)->lpVtbl->UnregisterWord(This,szReading,dwStyle,szString)
5512 #define IActiveIME2_GetRegisterWordStyle(This,nItem,pStyleBuf,puBufSize) (This)->lpVtbl->GetRegisterWordStyle(This,nItem,pStyleBuf,puBufSize)
5513 #define IActiveIME2_EnumRegisterWord(This,szReading,dwStyle,szRegister,pData,ppEnum) (This)->lpVtbl->EnumRegisterWord(This,szReading,dwStyle,szRegister,pData,ppEnum)
5514 #define IActiveIME2_GetCodePageA(This,uCodePage) (This)->lpVtbl->GetCodePageA(This,uCodePage)
5515 #define IActiveIME2_GetLangId(This,plid) (This)->lpVtbl->GetLangId(This,plid)
5516 /*** IActiveIME2 methods ***/
5517 #define IActiveIME2_Sleep(This) (This)->lpVtbl->Sleep(This)
5518 #define IActiveIME2_Unsleep(This,fDead) (This)->lpVtbl->Unsleep(This,fDead)
5519 #else
5520 /*** IUnknown methods ***/
5521 static FORCEINLINE HRESULT IActiveIME2_QueryInterface(IActiveIME2* This,REFIID riid,void **ppvObject) {
5522     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5523 }
5524 static FORCEINLINE ULONG IActiveIME2_AddRef(IActiveIME2* This) {
5525     return This->lpVtbl->AddRef(This);
5526 }
5527 static FORCEINLINE ULONG IActiveIME2_Release(IActiveIME2* This) {
5528     return This->lpVtbl->Release(This);
5529 }
5530 /*** IActiveIME methods ***/
5531 static FORCEINLINE HRESULT IActiveIME2_Inquire(IActiveIME2* This,DWORD dwSystemInfoFlags,IMEINFO *pIMEInfo,LPWSTR szWndClass,DWORD *pdwPrivate) {
5532     return This->lpVtbl->Inquire(This,dwSystemInfoFlags,pIMEInfo,szWndClass,pdwPrivate);
5533 }
5534 static FORCEINLINE HRESULT IActiveIME2_ConversionList(IActiveIME2* This,HIMC hIMC,LPWSTR szSource,UINT uFlag,UINT uBufLen,CANDIDATELIST *pDest,UINT *puCopied) {
5535     return This->lpVtbl->ConversionList(This,hIMC,szSource,uFlag,uBufLen,pDest,puCopied);
5536 }
5537 static FORCEINLINE HRESULT IActiveIME2_Configure(IActiveIME2* This,HKL hKL,HWND hWnd,DWORD dwMode,REGISTERWORDW *pRegisterWord) {
5538     return This->lpVtbl->Configure(This,hKL,hWnd,dwMode,pRegisterWord);
5539 }
5540 static FORCEINLINE HRESULT IActiveIME2_Destroy(IActiveIME2* This,UINT uReserved) {
5541     return This->lpVtbl->Destroy(This,uReserved);
5542 }
5543 static FORCEINLINE HRESULT IActiveIME2_Escape(IActiveIME2* This,HIMC hIMC,UINT uEscape,void *pData,LRESULT *plResult) {
5544     return This->lpVtbl->Escape(This,hIMC,uEscape,pData,plResult);
5545 }
5546 static FORCEINLINE HRESULT IActiveIME2_SetActiveContext(IActiveIME2* This,HIMC hIMC,WINBOOL fFlag) {
5547     return This->lpVtbl->SetActiveContext(This,hIMC,fFlag);
5548 }
5549 static FORCEINLINE HRESULT IActiveIME2_ProcessKey(IActiveIME2* This,HIMC hIMC,UINT uVirKey,DWORD lParam,BYTE *pbKeyState) {
5550     return This->lpVtbl->ProcessKey(This,hIMC,uVirKey,lParam,pbKeyState);
5551 }
5552 static FORCEINLINE HRESULT IActiveIME2_Notify(IActiveIME2* This,HIMC hIMC,DWORD dwAction,DWORD dwIndex,DWORD dwValue) {
5553     return This->lpVtbl->Notify(This,hIMC,dwAction,dwIndex,dwValue);
5554 }
5555 static FORCEINLINE HRESULT IActiveIME2_Select(IActiveIME2* This,HIMC hIMC,WINBOOL fSelect) {
5556     return This->lpVtbl->Select(This,hIMC,fSelect);
5557 }
5558 static FORCEINLINE HRESULT IActiveIME2_SetCompositionString(IActiveIME2* This,HIMC hIMC,DWORD dwIndex,void *pComp,DWORD dwCompLen,void *pRead,DWORD dwReadLen) {
5559     return This->lpVtbl->SetCompositionString(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen);
5560 }
5561 static FORCEINLINE HRESULT IActiveIME2_ToAsciiEx(IActiveIME2* This,UINT uVirKey,UINT uScanCode,BYTE *pbKeyState,UINT fuState,HIMC hIMC,DWORD *pdwTransBuf,UINT *puSize) {
5562     return This->lpVtbl->ToAsciiEx(This,uVirKey,uScanCode,pbKeyState,fuState,hIMC,pdwTransBuf,puSize);
5563 }
5564 static FORCEINLINE HRESULT IActiveIME2_RegisterWord(IActiveIME2* This,LPWSTR szReading,DWORD dwStyle,LPWSTR szString) {
5565     return This->lpVtbl->RegisterWord(This,szReading,dwStyle,szString);
5566 }
5567 static FORCEINLINE HRESULT IActiveIME2_UnregisterWord(IActiveIME2* This,LPWSTR szReading,DWORD dwStyle,LPWSTR szString) {
5568     return This->lpVtbl->UnregisterWord(This,szReading,dwStyle,szString);
5569 }
5570 static FORCEINLINE HRESULT IActiveIME2_GetRegisterWordStyle(IActiveIME2* This,UINT nItem,STYLEBUFW *pStyleBuf,UINT *puBufSize) {
5571     return This->lpVtbl->GetRegisterWordStyle(This,nItem,pStyleBuf,puBufSize);
5572 }
5573 static FORCEINLINE HRESULT IActiveIME2_EnumRegisterWord(IActiveIME2* This,LPWSTR szReading,DWORD dwStyle,LPWSTR szRegister,LPVOID pData,IEnumRegisterWordW **ppEnum) {
5574     return This->lpVtbl->EnumRegisterWord(This,szReading,dwStyle,szRegister,pData,ppEnum);
5575 }
5576 static FORCEINLINE HRESULT IActiveIME2_GetCodePageA(IActiveIME2* This,UINT *uCodePage) {
5577     return This->lpVtbl->GetCodePageA(This,uCodePage);
5578 }
5579 static FORCEINLINE HRESULT IActiveIME2_GetLangId(IActiveIME2* This,LANGID *plid) {
5580     return This->lpVtbl->GetLangId(This,plid);
5581 }
5582 /*** IActiveIME2 methods ***/
5583 static FORCEINLINE HRESULT IActiveIME2_Sleep(IActiveIME2* This) {
5584     return This->lpVtbl->Sleep(This);
5585 }
5586 static FORCEINLINE HRESULT IActiveIME2_Unsleep(IActiveIME2* This,WINBOOL fDead) {
5587     return This->lpVtbl->Unsleep(This,fDead);
5588 }
5589 #endif
5590 #endif
5591 
5592 #endif
5593 
5594 HRESULT STDMETHODCALLTYPE IActiveIME2_Sleep_Proxy(
5595     IActiveIME2* This);
5596 void __RPC_STUB IActiveIME2_Sleep_Stub(
5597     IRpcStubBuffer* This,
5598     IRpcChannelBuffer* pRpcChannelBuffer,
5599     PRPC_MESSAGE pRpcMessage,
5600     DWORD* pdwStubPhase);
5601 HRESULT STDMETHODCALLTYPE IActiveIME2_Unsleep_Proxy(
5602     IActiveIME2* This,
5603     WINBOOL fDead);
5604 void __RPC_STUB IActiveIME2_Unsleep_Stub(
5605     IRpcStubBuffer* This,
5606     IRpcChannelBuffer* pRpcChannelBuffer,
5607     PRPC_MESSAGE pRpcMessage,
5608     DWORD* pdwStubPhase);
5609 
5610 #endif  /* __IActiveIME2_INTERFACE_DEFINED__ */
5611 
5612 /*****************************************************************************
5613  * IEnumRegisterWordA interface
5614  */
5615 #ifndef __IEnumRegisterWordA_INTERFACE_DEFINED__
5616 #define __IEnumRegisterWordA_INTERFACE_DEFINED__
5617 
5618 DEFINE_GUID(IID_IEnumRegisterWordA, 0x08c03412, 0xf96b, 0x11d0, 0xa4,0x75, 0x00,0xaa,0x00,0x6b,0xcc,0x59);
5619 #if defined(__cplusplus) && !defined(CINTERFACE)
5620 MIDL_INTERFACE("08c03412-f96b-11d0-a475-00aa006bcc59")
5621 IEnumRegisterWordA : public IUnknown
5622 {
5623     virtual HRESULT STDMETHODCALLTYPE Clone(
5624         IEnumRegisterWordA **ppEnum) = 0;
5625 
5626     virtual HRESULT STDMETHODCALLTYPE Next(
5627         ULONG ulCount,
5628         REGISTERWORDA *rgRegisterWord,
5629         ULONG *pcFetched) = 0;
5630 
5631     virtual HRESULT STDMETHODCALLTYPE Reset(
5632         ) = 0;
5633 
5634     virtual HRESULT STDMETHODCALLTYPE Skip(
5635         ULONG ulCount) = 0;
5636 
5637 };
5638 #ifdef __CRT_UUID_DECL
5639 __CRT_UUID_DECL(IEnumRegisterWordA, 0x08c03412, 0xf96b, 0x11d0, 0xa4,0x75, 0x00,0xaa,0x00,0x6b,0xcc,0x59)
5640 #endif
5641 #else
5642 typedef struct IEnumRegisterWordAVtbl {
5643     BEGIN_INTERFACE
5644 
5645     /*** IUnknown methods ***/
5646     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5647         IEnumRegisterWordA* This,
5648         REFIID riid,
5649         void **ppvObject);
5650 
5651     ULONG (STDMETHODCALLTYPE *AddRef)(
5652         IEnumRegisterWordA* This);
5653 
5654     ULONG (STDMETHODCALLTYPE *Release)(
5655         IEnumRegisterWordA* This);
5656 
5657     /*** IEnumRegisterWordA methods ***/
5658     HRESULT (STDMETHODCALLTYPE *Clone)(
5659         IEnumRegisterWordA* This,
5660         IEnumRegisterWordA **ppEnum);
5661 
5662     HRESULT (STDMETHODCALLTYPE *Next)(
5663         IEnumRegisterWordA* This,
5664         ULONG ulCount,
5665         REGISTERWORDA *rgRegisterWord,
5666         ULONG *pcFetched);
5667 
5668     HRESULT (STDMETHODCALLTYPE *Reset)(
5669         IEnumRegisterWordA* This);
5670 
5671     HRESULT (STDMETHODCALLTYPE *Skip)(
5672         IEnumRegisterWordA* This,
5673         ULONG ulCount);
5674 
5675     END_INTERFACE
5676 } IEnumRegisterWordAVtbl;
5677 interface IEnumRegisterWordA {
5678     CONST_VTBL IEnumRegisterWordAVtbl* lpVtbl;
5679 };
5680 
5681 #ifdef COBJMACROS
5682 #ifndef WIDL_C_INLINE_WRAPPERS
5683 /*** IUnknown methods ***/
5684 #define IEnumRegisterWordA_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5685 #define IEnumRegisterWordA_AddRef(This) (This)->lpVtbl->AddRef(This)
5686 #define IEnumRegisterWordA_Release(This) (This)->lpVtbl->Release(This)
5687 /*** IEnumRegisterWordA methods ***/
5688 #define IEnumRegisterWordA_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
5689 #define IEnumRegisterWordA_Next(This,ulCount,rgRegisterWord,pcFetched) (This)->lpVtbl->Next(This,ulCount,rgRegisterWord,pcFetched)
5690 #define IEnumRegisterWordA_Reset(This) (This)->lpVtbl->Reset(This)
5691 #define IEnumRegisterWordA_Skip(This,ulCount) (This)->lpVtbl->Skip(This,ulCount)
5692 #else
5693 /*** IUnknown methods ***/
5694 static FORCEINLINE HRESULT IEnumRegisterWordA_QueryInterface(IEnumRegisterWordA* This,REFIID riid,void **ppvObject) {
5695     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5696 }
5697 static FORCEINLINE ULONG IEnumRegisterWordA_AddRef(IEnumRegisterWordA* This) {
5698     return This->lpVtbl->AddRef(This);
5699 }
5700 static FORCEINLINE ULONG IEnumRegisterWordA_Release(IEnumRegisterWordA* This) {
5701     return This->lpVtbl->Release(This);
5702 }
5703 /*** IEnumRegisterWordA methods ***/
5704 static FORCEINLINE HRESULT IEnumRegisterWordA_Clone(IEnumRegisterWordA* This,IEnumRegisterWordA **ppEnum) {
5705     return This->lpVtbl->Clone(This,ppEnum);
5706 }
5707 static FORCEINLINE HRESULT IEnumRegisterWordA_Next(IEnumRegisterWordA* This,ULONG ulCount,REGISTERWORDA *rgRegisterWord,ULONG *pcFetched) {
5708     return This->lpVtbl->Next(This,ulCount,rgRegisterWord,pcFetched);
5709 }
5710 static FORCEINLINE HRESULT IEnumRegisterWordA_Reset(IEnumRegisterWordA* This) {
5711     return This->lpVtbl->Reset(This);
5712 }
5713 static FORCEINLINE HRESULT IEnumRegisterWordA_Skip(IEnumRegisterWordA* This,ULONG ulCount) {
5714     return This->lpVtbl->Skip(This,ulCount);
5715 }
5716 #endif
5717 #endif
5718 
5719 #endif
5720 
5721 HRESULT STDMETHODCALLTYPE IEnumRegisterWordA_Clone_Proxy(
5722     IEnumRegisterWordA* This,
5723     IEnumRegisterWordA **ppEnum);
5724 void __RPC_STUB IEnumRegisterWordA_Clone_Stub(
5725     IRpcStubBuffer* This,
5726     IRpcChannelBuffer* pRpcChannelBuffer,
5727     PRPC_MESSAGE pRpcMessage,
5728     DWORD* pdwStubPhase);
5729 HRESULT STDMETHODCALLTYPE IEnumRegisterWordA_Next_Proxy(
5730     IEnumRegisterWordA* This,
5731     ULONG ulCount,
5732     REGISTERWORDA *rgRegisterWord,
5733     ULONG *pcFetched);
5734 void __RPC_STUB IEnumRegisterWordA_Next_Stub(
5735     IRpcStubBuffer* This,
5736     IRpcChannelBuffer* pRpcChannelBuffer,
5737     PRPC_MESSAGE pRpcMessage,
5738     DWORD* pdwStubPhase);
5739 HRESULT STDMETHODCALLTYPE IEnumRegisterWordA_Reset_Proxy(
5740     IEnumRegisterWordA* This);
5741 void __RPC_STUB IEnumRegisterWordA_Reset_Stub(
5742     IRpcStubBuffer* This,
5743     IRpcChannelBuffer* pRpcChannelBuffer,
5744     PRPC_MESSAGE pRpcMessage,
5745     DWORD* pdwStubPhase);
5746 HRESULT STDMETHODCALLTYPE IEnumRegisterWordA_Skip_Proxy(
5747     IEnumRegisterWordA* This,
5748     ULONG ulCount);
5749 void __RPC_STUB IEnumRegisterWordA_Skip_Stub(
5750     IRpcStubBuffer* This,
5751     IRpcChannelBuffer* pRpcChannelBuffer,
5752     PRPC_MESSAGE pRpcMessage,
5753     DWORD* pdwStubPhase);
5754 
5755 #endif  /* __IEnumRegisterWordA_INTERFACE_DEFINED__ */
5756 
5757 /*****************************************************************************
5758  * IEnumRegisterWordW interface
5759  */
5760 #ifndef __IEnumRegisterWordW_INTERFACE_DEFINED__
5761 #define __IEnumRegisterWordW_INTERFACE_DEFINED__
5762 
5763 DEFINE_GUID(IID_IEnumRegisterWordW, 0x4955dd31, 0xb159, 0x11d0, 0x8f,0xcf, 0x00,0xaa,0x00,0x6b,0xcc,0x59);
5764 #if defined(__cplusplus) && !defined(CINTERFACE)
5765 MIDL_INTERFACE("4955dd31-b159-11d0-8fcf-00aa006bcc59")
5766 IEnumRegisterWordW : public IUnknown
5767 {
5768     virtual HRESULT STDMETHODCALLTYPE Clone(
5769         IEnumRegisterWordW **ppEnum) = 0;
5770 
5771     virtual HRESULT STDMETHODCALLTYPE Next(
5772         ULONG ulCount,
5773         REGISTERWORDW *rgRegisterWord,
5774         ULONG *pcFetched) = 0;
5775 
5776     virtual HRESULT STDMETHODCALLTYPE Reset(
5777         ) = 0;
5778 
5779     virtual HRESULT STDMETHODCALLTYPE Skip(
5780         ULONG ulCount) = 0;
5781 
5782 };
5783 #ifdef __CRT_UUID_DECL
5784 __CRT_UUID_DECL(IEnumRegisterWordW, 0x4955dd31, 0xb159, 0x11d0, 0x8f,0xcf, 0x00,0xaa,0x00,0x6b,0xcc,0x59)
5785 #endif
5786 #else
5787 typedef struct IEnumRegisterWordWVtbl {
5788     BEGIN_INTERFACE
5789 
5790     /*** IUnknown methods ***/
5791     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5792         IEnumRegisterWordW* This,
5793         REFIID riid,
5794         void **ppvObject);
5795 
5796     ULONG (STDMETHODCALLTYPE *AddRef)(
5797         IEnumRegisterWordW* This);
5798 
5799     ULONG (STDMETHODCALLTYPE *Release)(
5800         IEnumRegisterWordW* This);
5801 
5802     /*** IEnumRegisterWordW methods ***/
5803     HRESULT (STDMETHODCALLTYPE *Clone)(
5804         IEnumRegisterWordW* This,
5805         IEnumRegisterWordW **ppEnum);
5806 
5807     HRESULT (STDMETHODCALLTYPE *Next)(
5808         IEnumRegisterWordW* This,
5809         ULONG ulCount,
5810         REGISTERWORDW *rgRegisterWord,
5811         ULONG *pcFetched);
5812 
5813     HRESULT (STDMETHODCALLTYPE *Reset)(
5814         IEnumRegisterWordW* This);
5815 
5816     HRESULT (STDMETHODCALLTYPE *Skip)(
5817         IEnumRegisterWordW* This,
5818         ULONG ulCount);
5819 
5820     END_INTERFACE
5821 } IEnumRegisterWordWVtbl;
5822 interface IEnumRegisterWordW {
5823     CONST_VTBL IEnumRegisterWordWVtbl* lpVtbl;
5824 };
5825 
5826 #ifdef COBJMACROS
5827 #ifndef WIDL_C_INLINE_WRAPPERS
5828 /*** IUnknown methods ***/
5829 #define IEnumRegisterWordW_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5830 #define IEnumRegisterWordW_AddRef(This) (This)->lpVtbl->AddRef(This)
5831 #define IEnumRegisterWordW_Release(This) (This)->lpVtbl->Release(This)
5832 /*** IEnumRegisterWordW methods ***/
5833 #define IEnumRegisterWordW_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
5834 #define IEnumRegisterWordW_Next(This,ulCount,rgRegisterWord,pcFetched) (This)->lpVtbl->Next(This,ulCount,rgRegisterWord,pcFetched)
5835 #define IEnumRegisterWordW_Reset(This) (This)->lpVtbl->Reset(This)
5836 #define IEnumRegisterWordW_Skip(This,ulCount) (This)->lpVtbl->Skip(This,ulCount)
5837 #else
5838 /*** IUnknown methods ***/
5839 static FORCEINLINE HRESULT IEnumRegisterWordW_QueryInterface(IEnumRegisterWordW* This,REFIID riid,void **ppvObject) {
5840     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5841 }
5842 static FORCEINLINE ULONG IEnumRegisterWordW_AddRef(IEnumRegisterWordW* This) {
5843     return This->lpVtbl->AddRef(This);
5844 }
5845 static FORCEINLINE ULONG IEnumRegisterWordW_Release(IEnumRegisterWordW* This) {
5846     return This->lpVtbl->Release(This);
5847 }
5848 /*** IEnumRegisterWordW methods ***/
5849 static FORCEINLINE HRESULT IEnumRegisterWordW_Clone(IEnumRegisterWordW* This,IEnumRegisterWordW **ppEnum) {
5850     return This->lpVtbl->Clone(This,ppEnum);
5851 }
5852 static FORCEINLINE HRESULT IEnumRegisterWordW_Next(IEnumRegisterWordW* This,ULONG ulCount,REGISTERWORDW *rgRegisterWord,ULONG *pcFetched) {
5853     return This->lpVtbl->Next(This,ulCount,rgRegisterWord,pcFetched);
5854 }
5855 static FORCEINLINE HRESULT IEnumRegisterWordW_Reset(IEnumRegisterWordW* This) {
5856     return This->lpVtbl->Reset(This);
5857 }
5858 static FORCEINLINE HRESULT IEnumRegisterWordW_Skip(IEnumRegisterWordW* This,ULONG ulCount) {
5859     return This->lpVtbl->Skip(This,ulCount);
5860 }
5861 #endif
5862 #endif
5863 
5864 #endif
5865 
5866 HRESULT STDMETHODCALLTYPE IEnumRegisterWordW_Clone_Proxy(
5867     IEnumRegisterWordW* This,
5868     IEnumRegisterWordW **ppEnum);
5869 void __RPC_STUB IEnumRegisterWordW_Clone_Stub(
5870     IRpcStubBuffer* This,
5871     IRpcChannelBuffer* pRpcChannelBuffer,
5872     PRPC_MESSAGE pRpcMessage,
5873     DWORD* pdwStubPhase);
5874 HRESULT STDMETHODCALLTYPE IEnumRegisterWordW_Next_Proxy(
5875     IEnumRegisterWordW* This,
5876     ULONG ulCount,
5877     REGISTERWORDW *rgRegisterWord,
5878     ULONG *pcFetched);
5879 void __RPC_STUB IEnumRegisterWordW_Next_Stub(
5880     IRpcStubBuffer* This,
5881     IRpcChannelBuffer* pRpcChannelBuffer,
5882     PRPC_MESSAGE pRpcMessage,
5883     DWORD* pdwStubPhase);
5884 HRESULT STDMETHODCALLTYPE IEnumRegisterWordW_Reset_Proxy(
5885     IEnumRegisterWordW* This);
5886 void __RPC_STUB IEnumRegisterWordW_Reset_Stub(
5887     IRpcStubBuffer* This,
5888     IRpcChannelBuffer* pRpcChannelBuffer,
5889     PRPC_MESSAGE pRpcMessage,
5890     DWORD* pdwStubPhase);
5891 HRESULT STDMETHODCALLTYPE IEnumRegisterWordW_Skip_Proxy(
5892     IEnumRegisterWordW* This,
5893     ULONG ulCount);
5894 void __RPC_STUB IEnumRegisterWordW_Skip_Stub(
5895     IRpcStubBuffer* This,
5896     IRpcChannelBuffer* pRpcChannelBuffer,
5897     PRPC_MESSAGE pRpcMessage,
5898     DWORD* pdwStubPhase);
5899 
5900 #endif  /* __IEnumRegisterWordW_INTERFACE_DEFINED__ */
5901 
5902 /*****************************************************************************
5903  * CActiveIMM coclass
5904  */
5905 
5906 DEFINE_GUID(CLSID_CActiveIMM, 0x4955dd33, 0xb159, 0x11d0, 0x8f,0xcf, 0x00,0xaa,0x00,0x6b,0xcc,0x59);
5907 
5908 #ifdef __cplusplus
5909 class DECLSPEC_UUID("4955dd33-b159-11d0-8fcf-00aa006bcc59") CActiveIMM;
5910 #ifdef __CRT_UUID_DECL
5911 __CRT_UUID_DECL(CActiveIMM, 0x4955dd33, 0xb159, 0x11d0, 0x8f,0xcf, 0x00,0xaa,0x00,0x6b,0xcc,0x59)
5912 #endif
5913 #endif
5914 
5915 #endif
5916 /* Begin additional prototypes for all interfaces */
5917 
5918 ULONG           __RPC_USER HWND_UserSize     (ULONG *, ULONG, HWND *);
5919 unsigned char * __RPC_USER HWND_UserMarshal  (ULONG *, unsigned char *, HWND *);
5920 unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
5921 void            __RPC_USER HWND_UserFree     (ULONG *, HWND *);
5922 ULONG           __RPC_USER HBITMAP_UserSize     (ULONG *, ULONG, HBITMAP *);
5923 unsigned char * __RPC_USER HBITMAP_UserMarshal  (ULONG *, unsigned char *, HBITMAP *);
5924 unsigned char * __RPC_USER HBITMAP_UserUnmarshal(ULONG *, unsigned char *, HBITMAP *);
5925 void            __RPC_USER HBITMAP_UserFree     (ULONG *, HBITMAP *);
5926 
5927 /* End additional prototypes */
5928 
5929 #ifdef __cplusplus
5930 }
5931 #endif
5932 
5933 #endif /* __dimm_h__ */
5934