7
|
1 //+-------------------------------------------------------------------------
|
|
2 //
|
|
3 // Microsoft Windows
|
|
4 // Copyright (C) Microsoft Corporation, 1992-2000.
|
|
5 //
|
|
6 // File: dimm.idl
|
|
7 //
|
|
8 // Contents: ActiveIMM interface definitions
|
|
9 //
|
|
10 //
|
|
11 //--------------------------------------------------------------------------
|
|
12
|
|
13 cpp_quote("//=--------------------------------------------------------------------------=")
|
|
14 cpp_quote("// dimm.h")
|
|
15 cpp_quote("//=--------------------------------------------------------------------------=")
|
|
16 cpp_quote("// (C) Copyright 1995-1998 Microsoft Corporation. All Rights Reserved.")
|
|
17 cpp_quote("//")
|
|
18 cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF")
|
|
19 cpp_quote("// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO")
|
|
20 cpp_quote("// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A")
|
|
21 cpp_quote("// PARTICULAR PURPOSE.")
|
|
22 cpp_quote("//=--------------------------------------------------------------------------=")
|
|
23 cpp_quote("")
|
|
24 cpp_quote("#pragma comment(lib,\"uuid.lib\")")
|
|
25 cpp_quote("")
|
|
26 cpp_quote("//--------------------------------------------------------------------------")
|
|
27 cpp_quote("// IActiveIMM Interfaces.")
|
|
28 cpp_quote("")
|
|
29
|
|
30 /*
|
|
31 Disable a warning about lack of polymorphic type support for the following reasons
|
|
32 - the only reason to have library block in the file is to make midl accept coclass
|
|
33 statement and generate CLSID for CActiveIMM.
|
|
34 - the generated dimm_i.c has the clsid and that file is used to have clsid available
|
|
35 - the dimm.tlb is not used at all
|
|
36 - on top of it, there is no plans to port the app using dimm.idl to 64b platform.
|
|
37 */
|
|
38 /*
|
|
39 * midl_pragma is unsupported in midl version 3.01 shipped with VC5.0.
|
|
40 * It is supported in midl version 5.01 shipped with VC6.0
|
|
41 * I could not produce message 2395. Is this needed? W.Briscoe 2001-08-14
|
|
42 */
|
|
43 #if (__midl >= 501)
|
|
44 midl_pragma warning( disable: 2395) // polymorphic types not supported in the TLB
|
|
45 #endif
|
|
46
|
|
47 #ifndef DO_NO_IMPORTS
|
|
48 import "unknwn.idl";
|
|
49 #endif
|
|
50
|
|
51 [
|
|
52 uuid(4955DD30-B159-11d0-8FCF-00AA006BCC59),
|
|
53 helpstring("ActiveIMM"),
|
|
54 lcid(0x0000),
|
|
55 version(0.1)
|
|
56 ]
|
|
57 library ActiveIMM
|
|
58 {
|
|
59 importlib("stdole2.tlb");
|
|
60
|
|
61 cpp_quote("#include <imm.h>")
|
|
62
|
|
63 cpp_quote("#if 0")
|
|
64
|
|
65 typedef WORD LANGID;
|
|
66
|
|
67 typedef struct
|
|
68 {
|
|
69 LPSTR lpReading;
|
|
70 LPSTR lpWord;
|
|
71 } REGISTERWORDA;
|
|
72
|
|
73 typedef struct
|
|
74 {
|
|
75 LPWSTR lpReading;
|
|
76 LPWSTR lpWord;
|
|
77 } REGISTERWORDW;
|
|
78
|
|
79 #define LF_FACESIZE 32
|
|
80
|
|
81 typedef struct
|
|
82 {
|
|
83 LONG lfHeight;
|
|
84 LONG lfWidth;
|
|
85 LONG lfEscapement;
|
|
86 LONG lfOrientation;
|
|
87 LONG lfWeight;
|
|
88 BYTE lfItalic;
|
|
89 BYTE lfUnderline;
|
|
90 BYTE lfStrikeOut;
|
|
91 BYTE lfCharSet;
|
|
92 BYTE lfOutPrecision;
|
|
93 BYTE lfClipPrecision;
|
|
94 BYTE lfQuality;
|
|
95 BYTE lfPitchAndFamily;
|
|
96 CHAR lfFaceName[LF_FACESIZE];
|
|
97 } LOGFONTA;
|
|
98
|
|
99 typedef struct
|
|
100 {
|
|
101 LONG lfHeight;
|
|
102 LONG lfWidth;
|
|
103 LONG lfEscapement;
|
|
104 LONG lfOrientation;
|
|
105 LONG lfWeight;
|
|
106 BYTE lfItalic;
|
|
107 BYTE lfUnderline;
|
|
108 BYTE lfStrikeOut;
|
|
109 BYTE lfCharSet;
|
|
110 BYTE lfOutPrecision;
|
|
111 BYTE lfClipPrecision;
|
|
112 BYTE lfQuality;
|
|
113 BYTE lfPitchAndFamily;
|
|
114 WCHAR lfFaceName[LF_FACESIZE];
|
|
115 } LOGFONTW;
|
|
116
|
|
117 typedef DWORD HIMC;
|
|
118 typedef DWORD HIMCC;
|
|
119
|
|
120 typedef struct
|
|
121 {
|
|
122 DWORD dwIndex;
|
|
123 DWORD dwStyle;
|
|
124 POINT ptCurrentPos;
|
|
125 RECT rcArea;
|
|
126 } CANDIDATEFORM;
|
|
127
|
|
128 typedef struct
|
|
129 {
|
|
130 DWORD dwStyle;
|
|
131 POINT ptCurrentPos;
|
|
132 RECT rcArea;
|
|
133 } COMPOSITIONFORM;
|
|
134
|
|
135 typedef struct
|
|
136 {
|
|
137 DWORD dwSize;
|
|
138 DWORD dwStyle;
|
|
139 DWORD dwCount;
|
|
140 DWORD dwSelection;
|
|
141 DWORD dwPageStart;
|
|
142 DWORD dwPageSize;
|
|
143 DWORD dwOffset[1];
|
|
144 } CANDIDATELIST;
|
|
145
|
|
146 #define STYLE_DESCRIPTION_SIZE 32
|
|
147
|
|
148 typedef struct
|
|
149 {
|
|
150 DWORD dwStyle;
|
|
151 CHAR szDescription[STYLE_DESCRIPTION_SIZE];
|
|
152 } STYLEBUFA;
|
|
153
|
|
154 typedef struct
|
|
155 {
|
|
156 DWORD dwStyle;
|
|
157 WCHAR szDescription[STYLE_DESCRIPTION_SIZE];
|
|
158 } STYLEBUFW;
|
|
159
|
|
160 typedef WORD ATOM;
|
|
161
|
|
162 cpp_quote("#endif")
|
|
163
|
|
164 cpp_quote("#if (WINVER < 0x040A)")
|
|
165
|
|
166 #define IMEMENUITEM_STRING_SIZE 80
|
|
167
|
|
168 typedef struct
|
|
169 {
|
|
170 UINT cbSize;
|
|
171 UINT fType;
|
|
172 UINT fState;
|
|
173 UINT wID;
|
|
174 HBITMAP hbmpChecked;
|
|
175 HBITMAP hbmpUnchecked;
|
|
176 DWORD dwItemData;
|
|
177 CHAR szString[IMEMENUITEM_STRING_SIZE];
|
|
178 HBITMAP hbmpItem;
|
|
179 } IMEMENUITEMINFOA;
|
|
180
|
|
181 typedef struct
|
|
182 {
|
|
183 UINT cbSize;
|
|
184 UINT fType;
|
|
185 UINT fState;
|
|
186 UINT wID;
|
|
187 HBITMAP hbmpChecked;
|
|
188 HBITMAP hbmpUnchecked;
|
|
189 DWORD dwItemData;
|
|
190 WCHAR szString[IMEMENUITEM_STRING_SIZE];
|
|
191 HBITMAP hbmpItem;
|
|
192 } IMEMENUITEMINFOW;
|
|
193
|
|
194 cpp_quote("#endif")
|
|
195
|
|
196 cpp_quote("#ifndef _DDKIMM_H_")
|
|
197
|
|
198 typedef struct
|
|
199 {
|
|
200 HWND hWnd;
|
|
201 BOOL fOpen;
|
|
202 POINT ptStatusWndPos;
|
|
203 POINT ptSoftKbdPos;
|
|
204 DWORD fdwConversion;
|
|
205 DWORD fdwSentence;
|
|
206 union
|
|
207 {
|
|
208 LOGFONTA A;
|
|
209 LOGFONTW W;
|
|
210 } lfFont;
|
|
211 COMPOSITIONFORM cfCompForm;
|
|
212 CANDIDATEFORM cfCandForm[4];
|
|
213 HIMCC hCompStr;
|
|
214 HIMCC hCandInfo;
|
|
215 HIMCC hGuideLine;
|
|
216 HIMCC hPrivate;
|
|
217 DWORD dwNumMsgBuf;
|
|
218 HIMCC hMsgBuf;
|
|
219 DWORD fdwInit;
|
|
220 DWORD dwReserve[3];
|
|
221 } INPUTCONTEXT;
|
|
222
|
|
223 typedef struct
|
|
224 {
|
|
225 DWORD dwPrivateDataSize;
|
|
226 DWORD fdwProperty;
|
|
227 DWORD fdwConversionCaps;
|
|
228 DWORD fdwSentenceCaps;
|
|
229 DWORD fdwUICaps;
|
|
230 DWORD fdwSCSCaps;
|
|
231 DWORD fdwSelectCaps;
|
|
232 } IMEINFO;
|
|
233
|
|
234 cpp_quote("#endif")
|
|
235
|
|
236 [
|
|
237 object,
|
|
238 uuid(08C03412-F96B-11d0-A475-00AA006BCC59),
|
|
239 pointer_default(unique)
|
|
240 ]
|
|
241 interface IEnumRegisterWordA : IUnknown
|
|
242 {
|
|
243 HRESULT Clone([out] IEnumRegisterWordA **ppEnum);
|
|
244 HRESULT Next([in] ULONG ulCount, [out] REGISTERWORDA *rgRegisterWord, [out] ULONG *pcFetched);
|
|
245 HRESULT Reset();
|
|
246 HRESULT Skip([in] ULONG ulCount);
|
|
247 };
|
|
248
|
|
249 [
|
|
250 object,
|
|
251 uuid(4955DD31-B159-11d0-8FCF-00AA006BCC59),
|
|
252 pointer_default(unique)
|
|
253 ]
|
|
254 interface IEnumRegisterWordW : IUnknown
|
|
255 {
|
|
256 HRESULT Clone([out] IEnumRegisterWordW **ppEnum);
|
|
257 HRESULT Next([in] ULONG ulCount, [out] REGISTERWORDW *rgRegisterWord, [out] ULONG *pcFetched);
|
|
258 HRESULT Reset();
|
|
259 HRESULT Skip([in] ULONG ulCount);
|
|
260 };
|
|
261
|
|
262
|
|
263 [
|
|
264 object,
|
|
265 uuid(09b5eab0-f997-11d1-93d4-0060b067b86e),
|
|
266 pointer_default(unique)
|
|
267 ]
|
|
268 interface IEnumInputContext : IUnknown
|
|
269 {
|
|
270 HRESULT Clone([out] IEnumInputContext **ppEnum);
|
|
271 HRESULT Next([in] ULONG ulCount, [out] HIMC *rgInputContext, [out] ULONG *pcFetched);
|
|
272 HRESULT Reset();
|
|
273 HRESULT Skip([in] ULONG ulCount);
|
|
274 };
|
|
275
|
|
276
|
|
277 [
|
|
278 object,
|
|
279 uuid(b3458082-bd00-11d1-939b-0060b067b86e),
|
|
280 pointer_default(unique)
|
|
281 ]
|
|
282 interface IActiveIMMRegistrar : IUnknown
|
|
283 {
|
|
284 HRESULT RegisterIME([in] REFCLSID rclsid, [in] LANGID lgid, [in] LPCWSTR pszIconFile, [in] LPCWSTR pszDesc);
|
|
285 HRESULT UnregisterIME([in] REFCLSID rclsid);
|
|
286 };
|
|
287
|
|
288 [
|
|
289 object,
|
|
290 uuid(b5cf2cfa-8aeb-11d1-9364-0060b067b86e),
|
|
291 pointer_default(unique)
|
|
292 ]
|
|
293 interface IActiveIMMMessagePumpOwner : IUnknown
|
|
294 {
|
|
295 HRESULT Start();
|
|
296 HRESULT End();
|
|
297 HRESULT OnTranslateMessage([in] const MSG *pMsg);
|
|
298 HRESULT Pause([out] DWORD *pdwCookie);
|
|
299 HRESULT Resume([in] DWORD dwCookie);
|
|
300 }
|
|
301
|
|
302 [
|
|
303 object,
|
|
304 uuid(08c0e040-62d1-11d1-9326-0060b067b86e),
|
|
305 pointer_default(unique)
|
|
306 ]
|
|
307 interface IActiveIMMApp : IUnknown
|
|
308 {
|
|
309 HRESULT AssociateContext([in] HWND hWnd, [in] HIMC hIME, [out] HIMC *phPrev);
|
|
310 HRESULT ConfigureIMEA([in] HKL hKL, [in] HWND hWnd, [in] DWORD dwMode, [in] REGISTERWORDA *pData);
|
|
311 HRESULT ConfigureIMEW([in] HKL hKL, [in] HWND hWnd, [in] DWORD dwMode, [in] REGISTERWORDW *pData);
|
|
312 HRESULT CreateContext([out] HIMC *phIMC);
|
|
313 HRESULT DestroyContext([in] HIMC hIME);
|
|
314 HRESULT EnumRegisterWordA([in] HKL hKL, [in] LPSTR szReading, [in] DWORD dwStyle, [in] LPSTR szRegister, [in] LPVOID pData, [out] IEnumRegisterWordA **pEnum);
|
|
315 HRESULT EnumRegisterWordW([in] HKL hKL, [in] LPWSTR szReading, [in] DWORD dwStyle, [in] LPWSTR szRegister, [in] LPVOID pData, [out] IEnumRegisterWordW **pEnum);
|
|
316 HRESULT EscapeA([in] HKL hKL, [in] HIMC hIMC, [in] UINT uEscape, [in, out] LPVOID pData, [out] LRESULT *plResult);
|
|
317 HRESULT EscapeW([in] HKL hKL, [in] HIMC hIMC, [in] UINT uEscape, [in, out] LPVOID pData, [out] LRESULT *plResult);
|
|
318 HRESULT GetCandidateListA([in] HIMC hIMC, [in] DWORD dwIndex, [in] UINT uBufLen, [out] CANDIDATELIST *pCandList, [out] UINT *puCopied);
|
|
319 HRESULT GetCandidateListW([in] HIMC hIMC, [in] DWORD dwIndex, [in] UINT uBufLen, [out] CANDIDATELIST *pCandList, [out] UINT *puCopied);
|
|
320 HRESULT GetCandidateListCountA([in] HIMC hIMC, [out] DWORD *pdwListSize, [out] DWORD *pdwBufLen);
|
|
321 HRESULT GetCandidateListCountW([in] HIMC hIMC, [out] DWORD *pdwListSize, [out] DWORD *pdwBufLen);
|
|
322 HRESULT GetCandidateWindow([in] HIMC hIMC, [in] DWORD dwIndex, [out] CANDIDATEFORM *pCandidate);
|
|
323 HRESULT GetCompositionFontA([in] HIMC hIMC, [out] LOGFONTA *plf);
|
|
324 HRESULT GetCompositionFontW([in] HIMC hIMC, [out] LOGFONTW *plf);
|
|
325 HRESULT GetCompositionStringA([in] HIMC hIMC, [in] DWORD dwIndex, [in] DWORD dwBufLen, [out] LONG *plCopied, [out] LPVOID pBuf);
|
|
326 HRESULT GetCompositionStringW([in] HIMC hIMC, [in] DWORD dwIndex, [in] DWORD dwBufLen, [out] LONG *plCopied, [out] LPVOID pBuf);
|
|
327 HRESULT GetCompositionWindow([in] HIMC hIMC, [out] COMPOSITIONFORM *pCompForm);
|
|
328 HRESULT GetContext([in] HWND hWnd, [out] HIMC *phIMC);
|
|
329 HRESULT GetConversionListA([in] HKL hKL, [in] HIMC hIMC, [in] LPSTR pSrc, [in] UINT uBufLen, [in] UINT uFlag, [out] CANDIDATELIST *pDst, [out] UINT *puCopied);
|
|
330 HRESULT GetConversionListW([in] HKL hKL, [in] HIMC hIMC, [in] LPWSTR pSrc, [in] UINT uBufLen, [in] UINT uFlag, [out] CANDIDATELIST *pDst, [out] UINT *puCopied);
|
|
331 HRESULT GetConversionStatus([in] HIMC hIMC, [out] DWORD *pfdwConversion, [out] DWORD *pfdwSentence);
|
|
332 HRESULT GetDefaultIMEWnd([in] HWND hWnd, [out] HWND *phDefWnd);
|
|
333 HRESULT GetDescriptionA([in] HKL hKL, [in] UINT uBufLen, [out] LPSTR szDescription, [out] UINT *puCopied);
|
|
334 HRESULT GetDescriptionW([in] HKL hKL, [in] UINT uBufLen, [out] LPWSTR szDescription, [out] UINT *puCopied);
|
|
335 HRESULT GetGuideLineA([in] HIMC hIMC, [in] DWORD dwIndex, [in] DWORD dwBufLen, [out] LPSTR pBuf, [out] DWORD *pdwResult);
|
|
336 HRESULT GetGuideLineW([in] HIMC hIMC, [in] DWORD dwIndex, [in] DWORD dwBufLen, [out] LPWSTR pBuf, [out] DWORD *pdwResult);
|
|
337 HRESULT GetIMEFileNameA([in] HKL hKL, [in] UINT uBufLen, [out] LPSTR szFileName, [out] UINT *puCopied);
|
|
338 HRESULT GetIMEFileNameW([in] HKL hKL, [in] UINT uBufLen, [out] LPWSTR szFileName, [out] UINT *puCopied);
|
|
339 HRESULT GetOpenStatus([in] HIMC hIMC);
|
|
340 HRESULT GetProperty([in] HKL hKL, [in] DWORD fdwIndex, [out] DWORD *pdwProperty);
|
|
341 HRESULT GetRegisterWordStyleA([in] HKL hKL, [in] UINT nItem, [out] STYLEBUFA *pStyleBuf, [out] UINT *puCopied);
|
|
342 HRESULT GetRegisterWordStyleW([in] HKL hKL, [in] UINT nItem, [out] STYLEBUFW *pStyleBuf, [out] UINT *puCopied);
|
|
343 HRESULT GetStatusWindowPos([in] HIMC hIMC, [out] POINT *pptPos);
|
|
344 HRESULT GetVirtualKey([in] HWND hWnd, [out] UINT *puVirtualKey);
|
|
345 HRESULT InstallIMEA([in] LPSTR szIMEFileName, [in] LPSTR szLayoutText, [out] HKL *phKL);
|
|
346 HRESULT InstallIMEW([in] LPWSTR szIMEFileName, [in] LPWSTR szLayoutText, [out] HKL *phKL);
|
|
347 HRESULT IsIME([in] HKL hKL);
|
|
348 HRESULT IsUIMessageA([in] HWND hWndIME, [in] UINT msg, [in] WPARAM wParam, [in] LPARAM lParam);
|
|
349 HRESULT IsUIMessageW([in] HWND hWndIME, [in] UINT msg, [in] WPARAM wParam, [in] LPARAM lParam);
|
|
350 HRESULT NotifyIME([in] HIMC hIMC, [in] DWORD dwAction, [in] DWORD dwIndex, [in] DWORD dwValue);
|
|
351 HRESULT RegisterWordA([in] HKL hKL, [in] LPSTR szReading, [in] DWORD dwStyle, [in] LPSTR szRegister);
|
|
352 HRESULT RegisterWordW([in] HKL hKL, [in] LPWSTR szReading, [in] DWORD dwStyle, [in] LPWSTR szRegister);
|
|
353 HRESULT ReleaseContext([in] HWND hWnd, [in] HIMC hIMC);
|
|
354 HRESULT SetCandidateWindow([in] HIMC hIMC, [in] CANDIDATEFORM *pCandidate);
|
|
355 HRESULT SetCompositionFontA([in] HIMC hIMC, [in] LOGFONTA *plf);
|
|
356 HRESULT SetCompositionFontW([in] HIMC hIMC, [in] LOGFONTW *plf);
|
|
357 HRESULT SetCompositionStringA([in] HIMC hIMC, [in] DWORD dwIndex, [in] LPVOID pComp, [in] DWORD dwCompLen, [in] LPVOID pRead, [in] DWORD dwReadLen);
|
|
358 HRESULT SetCompositionStringW([in] HIMC hIMC, [in] DWORD dwIndex, [in] LPVOID pComp, [in] DWORD dwCompLen, [in] LPVOID pRead, [in] DWORD dwReadLen);
|
|
359 HRESULT SetCompositionWindow([in] HIMC hIMC, [in] COMPOSITIONFORM *pCompForm);
|
|
360 HRESULT SetConversionStatus([in] HIMC hIMC, [in] DWORD fdwConversion, [in] DWORD fdwSentence);
|
|
361 HRESULT SetOpenStatus([in] HIMC hIMC, [in] BOOL fOpen);
|
|
362 HRESULT SetStatusWindowPos([in] HIMC hIMC, [in] POINT *pptPos);
|
|
363 HRESULT SimulateHotKey([in] HWND hWnd, [in] DWORD dwHotKeyID);
|
|
364 HRESULT UnregisterWordA([in] HKL hKL, [in] LPSTR szReading, [in] DWORD dwStyle, [in] LPSTR szUnregister);
|
|
365 HRESULT UnregisterWordW([in] HKL hKL, [in] LPWSTR szReading, [in] DWORD dwStyle, [in] LPWSTR szUnregister);
|
|
366
|
|
367 HRESULT Activate([in] BOOL fRestoreLayout);
|
|
368 HRESULT Deactivate();
|
|
369
|
|
370 HRESULT OnDefWindowProc([in] HWND hWnd, [in] UINT Msg, [in] WPARAM wParam, [in] LPARAM lParam, [out] LRESULT *plResult);
|
|
371
|
|
372 HRESULT FilterClientWindows([in] ATOM *aaClassList, [in] UINT uSize);
|
|
373
|
|
374 HRESULT GetCodePageA([in] HKL hKL, [out] UINT *uCodePage);
|
|
375 HRESULT GetLangId([in] HKL hKL, [out] LANGID *plid);
|
|
376
|
|
377 // win98/nt5 apis
|
|
378 HRESULT AssociateContextEx([in] HWND hWnd, [in] HIMC hIMC, [in] DWORD dwFlags);
|
|
379 HRESULT DisableIME([in] DWORD idThread);
|
|
380 HRESULT GetImeMenuItemsA([in] HIMC hIMC, [in] DWORD dwFlags, [in] DWORD dwType, [in] IMEMENUITEMINFOA *pImeParentMenu, [out] IMEMENUITEMINFOA *pImeMenu, [in] DWORD dwSize, [out] DWORD *pdwResult);
|
|
381 HRESULT GetImeMenuItemsW([in] HIMC hIMC, [in] DWORD dwFlags, [in] DWORD dwType, [in] IMEMENUITEMINFOW *pImeParentMenu, [out] IMEMENUITEMINFOW *pImeMenu, [in] DWORD dwSize, [out] DWORD *pdwResult);
|
|
382 HRESULT EnumInputContext([in] DWORD idThread, [out] IEnumInputContext **ppEnum);
|
|
383 };
|
|
384
|
|
385 [
|
|
386 object,
|
|
387 uuid(08C03411-F96B-11d0-A475-00AA006BCC59),
|
|
388 pointer_default(unique)
|
|
389 ]
|
|
390 interface IActiveIMMIME : IUnknown
|
|
391 {
|
|
392 HRESULT AssociateContext([in] HWND hWnd, [in] HIMC hIME, [out] HIMC *phPrev);
|
|
393 HRESULT ConfigureIMEA([in] HKL hKL, [in] HWND hWnd, [in] DWORD dwMode, [in] REGISTERWORDA *pData);
|
|
394 HRESULT ConfigureIMEW([in] HKL hKL, [in] HWND hWnd, [in] DWORD dwMode, [in] REGISTERWORDW *pData);
|
|
395 HRESULT CreateContext([out] HIMC *phIMC);
|
|
396 HRESULT DestroyContext([in] HIMC hIME);
|
|
397 HRESULT EnumRegisterWordA([in] HKL hKL, [in] LPSTR szReading, [in] DWORD dwStyle, [in] LPSTR szRegister, [in] LPVOID pData, [out] IEnumRegisterWordA **pEnum);
|
|
398 HRESULT EnumRegisterWordW([in] HKL hKL, [in] LPWSTR szReading, [in] DWORD dwStyle, [in] LPWSTR szRegister, [in] LPVOID pData, [out] IEnumRegisterWordW **pEnum);
|
|
399 HRESULT EscapeA([in] HKL hKL, [in] HIMC hIMC, [in] UINT uEscape, [in, out] LPVOID pData, [out] LRESULT *plResult);
|
|
400 HRESULT EscapeW([in] HKL hKL, [in] HIMC hIMC, [in] UINT uEscape, [in, out] LPVOID pData, [out] LRESULT *plResult);
|
|
401 HRESULT GetCandidateListA([in] HIMC hIMC, [in] DWORD dwIndex, [in] UINT uBufLen, [out] CANDIDATELIST *pCandList, [out] UINT *puCopied);
|
|
402 HRESULT GetCandidateListW([in] HIMC hIMC, [in] DWORD dwIndex, [in] UINT uBufLen, [out] CANDIDATELIST *pCandList, [out] UINT *puCopied);
|
|
403 HRESULT GetCandidateListCountA([in] HIMC hIMC, [out] DWORD *pdwListSize, [out] DWORD *pdwBufLen);
|
|
404 HRESULT GetCandidateListCountW([in] HIMC hIMC, [out] DWORD *pdwListSize, [out] DWORD *pdwBufLen);
|
|
405 HRESULT GetCandidateWindow([in] HIMC hIMC, [in] DWORD dwIndex, [out] CANDIDATEFORM *pCandidate);
|
|
406 HRESULT GetCompositionFontA([in] HIMC hIMC, [out] LOGFONTA *plf);
|
|
407 HRESULT GetCompositionFontW([in] HIMC hIMC, [out] LOGFONTW *plf);
|
|
408 HRESULT GetCompositionStringA([in] HIMC hIMC, [in] DWORD dwIndex, [in] DWORD dwBufLen, [out] LONG *plCopied, [out] LPVOID pBuf);
|
|
409 HRESULT GetCompositionStringW([in] HIMC hIMC, [in] DWORD dwIndex, [in] DWORD dwBufLen, [out] LONG *plCopied, [out] LPVOID pBuf);
|
|
410 HRESULT GetCompositionWindow([in] HIMC hIMC, [out] COMPOSITIONFORM *pCompForm);
|
|
411 HRESULT GetContext([in] HWND hWnd, [out] HIMC *phIMC);
|
|
412 HRESULT GetConversionListA([in] HKL hKL, [in] HIMC hIMC, [in] LPSTR pSrc, [in] UINT uBufLen, [in] UINT uFlag, [out] CANDIDATELIST *pDst, [out] UINT *puCopied);
|
|
413 HRESULT GetConversionListW([in] HKL hKL, [in] HIMC hIMC, [in] LPWSTR pSrc, [in] UINT uBufLen, [in] UINT uFlag, [out] CANDIDATELIST *pDst, [out] UINT *puCopied);
|
|
414 HRESULT GetConversionStatus([in] HIMC hIMC, [out] DWORD *pfdwConversion, [out] DWORD *pfdwSentence);
|
|
415 HRESULT GetDefaultIMEWnd([in] HWND hWnd, [out] HWND *phDefWnd);
|
|
416 HRESULT GetDescriptionA([in] HKL hKL, [in] UINT uBufLen, [out] LPSTR szDescription, [out] UINT *puCopied);
|
|
417 HRESULT GetDescriptionW([in] HKL hKL, [in] UINT uBufLen, [out] LPWSTR szDescription, [out] UINT *puCopied);
|
|
418 HRESULT GetGuideLineA([in] HIMC hIMC, [in] DWORD dwIndex, [in] DWORD dwBufLen, [out] LPSTR pBuf, [out] DWORD *pdwResult);
|
|
419 HRESULT GetGuideLineW([in] HIMC hIMC, [in] DWORD dwIndex, [in] DWORD dwBufLen, [out] LPWSTR pBuf, [out] DWORD *pdwResult);
|
|
420 HRESULT GetIMEFileNameA([in] HKL hKL, [in] UINT uBufLen, [out] LPSTR szFileName, [out] UINT *puCopied);
|
|
421 HRESULT GetIMEFileNameW([in] HKL hKL, [in] UINT uBufLen, [out] LPWSTR szFileName, [out] UINT *puCopied);
|
|
422 HRESULT GetOpenStatus([in] HIMC hIMC);
|
|
423 HRESULT GetProperty([in] HKL hKL, [in] DWORD fdwIndex, [out] DWORD *pdwProperty);
|
|
424 HRESULT GetRegisterWordStyleA([in] HKL hKL, [in] UINT nItem, [out] STYLEBUFA *pStyleBuf, [out] UINT *puCopied);
|
|
425 HRESULT GetRegisterWordStyleW([in] HKL hKL, [in] UINT nItem, [out] STYLEBUFW *pStyleBuf, [out] UINT *puCopied);
|
|
426 HRESULT GetStatusWindowPos([in] HIMC hIMC, [out] POINT *pptPos);
|
|
427 HRESULT GetVirtualKey([in] HWND hWnd, [out] UINT *puVirtualKey);
|
|
428 HRESULT InstallIMEA([in] LPSTR szIMEFileName, [in] LPSTR szLayoutText, [out] HKL *phKL);
|
|
429 HRESULT InstallIMEW([in] LPWSTR szIMEFileName, [in] LPWSTR szLayoutText, [out] HKL *phKL);
|
|
430 HRESULT IsIME([in] HKL hKL);
|
|
431 HRESULT IsUIMessageA([in] HWND hWndIME, [in] UINT msg, [in] WPARAM wParam, [in] LPARAM lParam);
|
|
432 HRESULT IsUIMessageW([in] HWND hWndIME, [in] UINT msg, [in] WPARAM wParam, [in] LPARAM lParam);
|
|
433 HRESULT NotifyIME([in] HIMC hIMC, [in] DWORD dwAction, [in] DWORD dwIndex, [in] DWORD dwValue);
|
|
434 HRESULT RegisterWordA([in] HKL hKL, [in] LPSTR szReading, [in] DWORD dwStyle, [in] LPSTR szRegister);
|
|
435 HRESULT RegisterWordW([in] HKL hKL, [in] LPWSTR szReading, [in] DWORD dwStyle, [in] LPWSTR szRegister);
|
|
436 HRESULT ReleaseContext([in] HWND hWnd, [in] HIMC hIMC);
|
|
437 HRESULT SetCandidateWindow([in] HIMC hIMC, [in] CANDIDATEFORM *pCandidate);
|
|
438 HRESULT SetCompositionFontA([in] HIMC hIMC, [in] LOGFONTA *plf);
|
|
439 HRESULT SetCompositionFontW([in] HIMC hIMC, [in] LOGFONTW *plf);
|
|
440 HRESULT SetCompositionStringA([in] HIMC hIMC, [in] DWORD dwIndex, [in] LPVOID pComp, [in] DWORD dwCompLen, [in] LPVOID pRead, [in] DWORD dwReadLen);
|
|
441 HRESULT SetCompositionStringW([in] HIMC hIMC, [in] DWORD dwIndex, [in] LPVOID pComp, [in] DWORD dwCompLen, [in] LPVOID pRead, [in] DWORD dwReadLen);
|
|
442 HRESULT SetCompositionWindow([in] HIMC hIMC, [in] COMPOSITIONFORM *pCompForm);
|
|
443 HRESULT SetConversionStatus([in] HIMC hIMC, [in] DWORD fdwConversion, [in] DWORD fdwSentence);
|
|
444 HRESULT SetOpenStatus([in] HIMC hIMC, [in] BOOL fOpen);
|
|
445 HRESULT SetStatusWindowPos([in] HIMC hIMC, [in] POINT *pptPos);
|
|
446 HRESULT SimulateHotKey([in] HWND hWnd, [in] DWORD dwHotKeyID);
|
|
447 HRESULT UnregisterWordA([in] HKL hKL, [in] LPSTR szReading, [in] DWORD dwStyle, [in] LPSTR szUnregister);
|
|
448 HRESULT UnregisterWordW([in] HKL hKL, [in] LPWSTR szReading, [in] DWORD dwStyle, [in] LPWSTR szUnregister);
|
|
449
|
|
450 // ime helper methods
|
|
451 HRESULT GenerateMessage([in] HIMC hIMC);
|
|
452
|
|
453 // HIMC and HIMCC management api's
|
|
454 HRESULT LockIMC([in] HIMC hIMC, [out] INPUTCONTEXT **ppIMC);
|
|
455 HRESULT UnlockIMC([in] HIMC hIMC);
|
|
456 HRESULT GetIMCLockCount([in] HIMC hIMC, [out] DWORD *pdwLockCount);
|
|
457 HRESULT CreateIMCC([in] DWORD dwSize, [out] HIMCC *phIMCC);
|
|
458 HRESULT DestroyIMCC([in] HIMCC hIMCC);
|
|
459 HRESULT LockIMCC([in] HIMCC hIMCC, [out] void **ppv);
|
|
460 HRESULT UnlockIMCC([in] HIMCC hIMCC);
|
|
461 HRESULT ReSizeIMCC([in] HIMCC hIMCC, [in] DWORD dwSize, [out] HIMCC *phIMCC);
|
|
462 HRESULT GetIMCCSize([in] HIMCC hIMCC, [out] DWORD *pdwSize);
|
|
463 HRESULT GetIMCCLockCount([in] HIMCC hIMCC, [out] DWORD *pdwLockCount);
|
|
464
|
|
465 // hot key manipulation api's
|
|
466 HRESULT GetHotKey([in] DWORD dwHotKeyID, [out] UINT *puModifiers, [out] UINT *puVKey, [out] HKL *phKL);
|
|
467 HRESULT SetHotKey([in] DWORD dwHotKeyID, [in] UINT uModifiers, [in] UINT uVKey, [in] HKL hKL);
|
|
468
|
|
469 // soft keyboard api's
|
|
470 HRESULT CreateSoftKeyboard([in] UINT uType, [in] HWND hOwner, [in] int x, [in] int y, [out] HWND *phSoftKbdWnd);
|
|
471 HRESULT DestroySoftKeyboard([in] HWND hSoftKbdWnd);
|
|
472 HRESULT ShowSoftKeyboard([in] HWND hSoftKbdWnd, [in] int nCmdShow);
|
|
473
|
|
474 HRESULT GetCodePageA([in] HKL hKL, [out] UINT *uCodePage);
|
|
475 HRESULT GetLangId([in] HKL hKL, [out] LANGID *plid);
|
|
476
|
|
477 HRESULT KeybdEvent([in] LANGID lgidIME, [in] BYTE bVk, [in] BYTE bScan, [in] DWORD dwFlags, [in] DWORD dwExtraInfo);
|
|
478
|
|
479 HRESULT LockModal();
|
|
480 HRESULT UnlockModal();
|
|
481
|
|
482 // win98/nt5 apis
|
|
483 HRESULT AssociateContextEx([in] HWND hWnd, [in] HIMC hIMC, [in] DWORD dwFlags);
|
|
484 HRESULT DisableIME([in] DWORD idThread);
|
|
485 HRESULT GetImeMenuItemsA([in] HIMC hIMC, [in] DWORD dwFlags, [in] DWORD dwType, [in] IMEMENUITEMINFOA *pImeParentMenu, [out] IMEMENUITEMINFOA *pImeMenu, [in] DWORD dwSize, [out] DWORD *pdwResult);
|
|
486 HRESULT GetImeMenuItemsW([in] HIMC hIMC, [in] DWORD dwFlags, [in] DWORD dwType, [in] IMEMENUITEMINFOW *pImeParentMenu, [out] IMEMENUITEMINFOW *pImeMenu, [in] DWORD dwSize, [out] DWORD *pdwResult);
|
|
487 HRESULT EnumInputContext([in] DWORD idThread, [out] IEnumInputContext **ppEnum);
|
|
488 HRESULT RequestMessageA([in] HIMC hIMC, [in] WPARAM wParam, [in] LPARAM lParam, [out] LRESULT *plResult);
|
|
489 HRESULT RequestMessageW([in] HIMC hIMC, [in] WPARAM wParam, [in] LPARAM lParam, [out] LRESULT *plResult);
|
|
490
|
|
491 HRESULT SendIMCA([in] HWND hWnd, [in] UINT uMsg, [in] WPARAM wParam, [in] LPARAM lParam, [out] LRESULT *plResult);
|
|
492 HRESULT SendIMCW([in] HWND hWnd, [in] UINT uMsg, [in] WPARAM wParam, [in] LPARAM lParam, [out] LRESULT *plResult);
|
|
493
|
|
494 HRESULT IsSleeping();
|
|
495 };
|
|
496
|
|
497 [
|
|
498 object,
|
|
499 uuid(6FE20962-D077-11d0-8FE7-00AA006BCC59),
|
|
500 pointer_default(unique)
|
|
501 ]
|
|
502 interface IActiveIME : IUnknown
|
|
503 {
|
|
504 HRESULT Inquire([in] DWORD dwSystemInfoFlags, [out] IMEINFO *pIMEInfo, [out] LPWSTR szWndClass, [out] DWORD *pdwPrivate);
|
|
505 HRESULT ConversionList([in] HIMC hIMC, [in] LPWSTR szSource, [in] UINT uFlag, [in] UINT uBufLen, [out] CANDIDATELIST *pDest, [out] UINT *puCopied);
|
|
506 HRESULT Configure([in] HKL hKL, [in] HWND hWnd, [in] DWORD dwMode, [in] REGISTERWORDW *pRegisterWord);
|
|
507 HRESULT Destroy([in] UINT uReserved);
|
|
508 HRESULT Escape([in] HIMC hIMC, [in] UINT uEscape, [in, out] void *pData, [out] LRESULT *plResult);
|
|
509 HRESULT SetActiveContext([in] HIMC hIMC, [in] BOOL fFlag);
|
|
510 HRESULT ProcessKey([in] HIMC hIMC, [in] UINT uVirKey, [in] DWORD lParam, [in] BYTE *pbKeyState);
|
|
511 HRESULT Notify([in] HIMC hIMC, [in] DWORD dwAction, [in] DWORD dwIndex, [in] DWORD dwValue);
|
|
512 HRESULT Select([in] HIMC hIMC, [in] BOOL fSelect);
|
|
513 HRESULT SetCompositionString([in] HIMC hIMC, [in] DWORD dwIndex, [in] void *pComp, [in] DWORD dwCompLen, [in] void *pRead, [in] DWORD dwReadLen);
|
|
514 HRESULT ToAsciiEx([in] UINT uVirKey, [in] UINT uScanCode, [in] BYTE *pbKeyState, [in] UINT fuState, [in] HIMC hIMC, [out] DWORD *pdwTransBuf, [out] UINT *puSize);
|
|
515 HRESULT RegisterWord([in] LPWSTR szReading, [in] DWORD dwStyle, [in] LPWSTR szString);
|
|
516 HRESULT UnregisterWord([in] LPWSTR szReading, [in] DWORD dwStyle, [in] LPWSTR szString);
|
|
517 HRESULT GetRegisterWordStyle([in] UINT nItem, [out] STYLEBUFW *pStyleBuf, [out] UINT *puBufSize);
|
|
518 HRESULT EnumRegisterWord([in] LPWSTR szReading, [in] DWORD dwStyle, [in] LPWSTR szRegister, [in] LPVOID pData, [out] IEnumRegisterWordW **ppEnum);
|
|
519 HRESULT GetCodePageA([out] UINT *uCodePage);
|
|
520 HRESULT GetLangId([out] LANGID *plid);
|
|
521 };
|
|
522
|
|
523 [
|
|
524 object,
|
|
525 uuid(e1c4bf0e-2d53-11d2-93e1-0060b067b86e),
|
|
526 pointer_default(unique)
|
|
527 ]
|
|
528 interface IActiveIME2 : IActiveIME
|
|
529 {
|
|
530 HRESULT Sleep();
|
|
531 HRESULT Unsleep([in] BOOL fDead);
|
|
532 };
|
|
533
|
|
534 [
|
|
535 uuid(4955DD33-B159-11d0-8FCF-00AA006BCC59),
|
|
536 ]
|
|
537 coclass CActiveIMM
|
|
538 {
|
|
539 [default] interface IActiveIMMApp;
|
|
540 interface IActiveIMMIME;
|
|
541 interface IActiveIMMRegistrar;
|
|
542 interface IActiveIMMMessagePumpOwner;
|
|
543 };
|
|
544 }
|