Mercurial > vim
comparison src/dimm.idl @ 7:3fc0f57ecb91 v7.0001
updated for version 7.0001
author | vimboss |
---|---|
date | Sun, 13 Jun 2004 20:20:40 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
6:c2daee826b8f | 7:3fc0f57ecb91 |
---|---|
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 } |