VirtualBox

source: vbox/trunk/src/VBox/Devices/Graphics/shaderlib/wine/include/msctf.idl@ 53206

最後變更 在這個檔案從53206是 53206,由 vboxsync 提交於 10 年 前

Devices/vmsvga: header fixes

  • 屬性 svn:eol-style 設為 native
  • 屬性 svn:keywords 設為 Author Date Id Revision
檔案大小: 38.5 KB
 
1/*
2 * Copyright 2008 Aric Stewart, CodeWeavers
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19/*
20 * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
21 * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
22 * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
23 * a choice of LGPL license versions is made available with the language indicating
24 * that LGPLv2 or any later version may be used, or where a choice of which version
25 * of the LGPL is applied is otherwise unspecified.
26 */
27
28#ifndef DO_NO_IMPORTS
29import "oaidl.idl";
30import "comcat.idl";
31import "textstor.idl";
32import "ctfutb.idl";
33#endif
34cpp_quote("#include <winuser.h>")
35
36cpp_quote("#define TF_E_STACKFULL MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0501)")
37cpp_quote("#define TF_E_DISCONNECTED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0504)")
38cpp_quote("#define TF_E_ALREADY_EXISTS MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0506)")
39cpp_quote("#define TF_E_NOLOCK MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0201)")
40
41cpp_quote("HRESULT WINAPI TF_CreateThreadMgr(ITfThreadMgr **pptim);")
42cpp_quote("HRESULT WINAPI TF_GetThreadMgr(ITfThreadMgr **pptim);")
43cpp_quote("HRESULT WINAPI TF_CreateInputProcessorProfiles(ITfInputProcessorProfiles **ppipr);")
44cpp_quote("HRESULT WINAPI TF_CreateLangBarMgr(ITfLangBarMgr **pppbm);")
45cpp_quote("HRESULT WINAPI TF_CreateLangBarItemMgr(ITfLangBarItemMgr **pplbim);")
46cpp_quote("HRESULT WINAPI TF_InvalidAssemblyListCacheIfExist(void);")
47
48cpp_quote("EXTERN_C const GUID GUID_PROP_TEXTOWNER;")
49cpp_quote("DEFINE_GUID(GUID_PROP_ATTRIBUTE,0x34b45670,0x7526,0x11d2,0xa1,0x47,0x00,0x10,0x5a,0x27,0x99,0xb5);")
50cpp_quote("EXTERN_C const GUID GUID_PROP_LANGID;")
51cpp_quote("EXTERN_C const GUID GUID_PROP_READING;")
52cpp_quote("EXTERN_C const GUID GUID_PROP_COMPOSING;")
53
54cpp_quote("EXTERN_C const CLSID CLSID_TF_ThreadMgr;")
55cpp_quote("EXTERN_C const CLSID CLSID_TF_InputProcessorProfiles;")
56cpp_quote("EXTERN_C const CLSID CLSID_TF_LangBarMgr;")
57cpp_quote("EXTERN_C const CLSID CLSID_TF_CategoryMgr;")
58cpp_quote("EXTERN_C const CLSID CLSID_TF_DisplayAttributeMgr;")
59
60/* GUIDs for Compartments */
61cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_KEYBOARD_DISABLED;")
62cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_KEYBOARD_OPENCLOSE;")
63cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_HANDWRITING_OPENCLOSE;")
64cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_SPEECH_DISABLED;")
65cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_SPEECH_OPENCLOSE;")
66cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_SPEECH_GLOBALSTATE;")
67cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_PERSISTMENUENABLED;")
68cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_EMPTYCONTEXT;")
69cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_TIPUISTATUS;")
70
71/* GUIDs for Categories */
72cpp_quote("EXTERN_C const GUID GUID_TFCAT_TIP_KEYBOARD;")
73cpp_quote("EXTERN_C const GUID GUID_TFCAT_TIP_SPEECH;")
74cpp_quote("EXTERN_C const GUID GUID_TFCAT_TIP_HANDWRITING;")
75cpp_quote("EXTERN_C const GUID GUID_TFCAT_DISPLAYATTRIBUTEPROVIDER;")
76
77typedef [uuid(7213778c-7bb0-4270-b050-6189ee594e97)] DWORD TfEditCookie;
78typedef [uuid(de403c21-89fd-4f85-8b87-64584d063fbc)] DWORD TfClientId;
79typedef [uuid(88a9c478-f3ec-4763-8345-cd9250443f8d)] DWORD TfGuidAtom;
80
81cpp_quote("#define TF_MOD_ALT 0x0001")
82cpp_quote("#define TF_MOD_CONTROL 0x0002")
83cpp_quote("#define TF_MOD_SHIFT 0x0004")
84cpp_quote("#define TF_MOD_RALT 0x0008")
85cpp_quote("#define TF_MOD_RCONTROL 0x0010")
86cpp_quote("#define TF_MOD_RSHIFT 0x0020")
87cpp_quote("#define TF_MOD_LALT 0x0040")
88cpp_quote("#define TF_MOD_LCONTROL 0x0080")
89cpp_quote("#define TF_MOD_LSHIFT 0x0100")
90cpp_quote("#define TF_MOD_ON_KEYUP 0x0200")
91cpp_quote("#define TF_MOD_IGNORE_ALL_MODIFIER 0x0400")
92
93cpp_quote("#define TF_PROFILETYPE_INPUTPROCESSOR 0x0001")
94cpp_quote("#define TF_PROFILETYPE_KEYBOARDLAYOUT 0x0002")
95
96interface ITfDocumentMgr;
97interface ITfContext;
98interface IEnumTfDocumentMgrs;
99interface IEnumTfContexts;
100interface ITfFunctionProvider;
101interface IEnumTfFunctionProviders;
102interface ITfCompartmentMgr;
103interface ITfEditSession;
104interface ITfRange;
105interface ITfContextView;
106interface IEnumTfContextViews;
107interface ITfProperty;
108interface ITfReadOnlyProperty;
109interface IEnumTfProperties;
110interface ITfRangeBackup;
111interface IEnumTfLanguageProfiles;
112interface ITfEditRecord;
113interface ITfCompositionView;
114interface ITfKeyEventSink;
115
116cpp_quote("#if 0")
117typedef [uuid(4f5d560f-5ab5-4dde-8c4d-404592857ab0)] UINT_PTR HKL;
118cpp_quote("#endif")
119
120typedef [uuid(e26d9e1d-691e-4f29-90d7-338dcf1f8cef)] struct TF_PERSISTENT_PROPERTY_HEADER_ACP
121{
122 GUID guidType;
123 LONG ichStart;
124 LONG cch;
125 ULONG cb;
126 DWORD dwPrivate;
127 CLSID clsidTIP;
128} TF_PERSISTENT_PROPERTY_HEADER_ACP;
129
130typedef [uuid(e1b5808d-1e46-4c19-84dc-68c5f5978cc8)] struct TF_LANGUAGEPROFILE
131{
132 CLSID clsid;
133 LANGID langid;
134 GUID catid;
135 BOOL fActive;
136 GUID guidProfile;
137} TF_LANGUAGEPROFILE;
138
139typedef [uuid(77c12f95-b783-450d-879f-1cd2362c6521)] struct TF_PRESERVEDKEY
140{
141 UINT uVKey;
142 UINT uModifiers;
143} TF_PRESERVEDKEY;
144
145typedef [uuid(5a886226-ae9a-489b-b991-2b1e25ee59a9)] enum { TF_ANCHOR_START = 0, TF_ANCHOR_END = 1 } TfAnchor;
146
147[
148 object,
149 uuid(aa80e801-2021-11d2-93e0-0060b067b86e),
150 pointer_default(unique)
151]
152interface ITfThreadMgr: IUnknown
153{
154 HRESULT Activate(
155 [out] TfClientId *ptid);
156
157 HRESULT Deactivate();
158
159 HRESULT CreateDocumentMgr(
160 [out] ITfDocumentMgr **ppdim);
161
162 HRESULT EnumDocumentMgrs(
163 [out] IEnumTfDocumentMgrs **ppEnum);
164
165 HRESULT GetFocus(
166 [out] ITfDocumentMgr **ppdimFocus);
167
168 HRESULT SetFocus(
169 [in] ITfDocumentMgr *pdimFocus);
170
171 HRESULT AssociateFocus(
172 [in] HWND hwnd,
173 [in, unique] ITfDocumentMgr *pdimNew,
174 [out] ITfDocumentMgr **ppdimPrev);
175
176 HRESULT IsThreadFocus(
177 [out] BOOL *pfThreadFocus);
178
179 HRESULT GetFunctionProvider(
180 [in] REFCLSID clsid,
181 [out] ITfFunctionProvider **ppFuncProv);
182
183 HRESULT EnumFunctionProviders(
184 [out] IEnumTfFunctionProviders **ppEnum);
185
186 HRESULT GetGlobalCompartment(
187 [out] ITfCompartmentMgr **ppCompMgr);
188};
189
190[
191 object,
192 uuid(d7540241-f9a1-4364-befc-dbcd2c4395b7),
193 pointer_default(unique)
194]
195interface ITfCompositionView : IUnknown
196{
197 HRESULT GetOwnerClsid([out] CLSID *pclsid);
198
199 HRESULT GetRange([out] ITfRange **ppRange);
200}
201
202[
203 object,
204 uuid(aa80e7f4-2021-11d2-93e0-0060b067b86e),
205 pointer_default(unique)
206]
207interface ITfDocumentMgr: IUnknown
208{
209 HRESULT CreateContext(
210 [in] TfClientId tidOwner,
211 [in] DWORD dwFlags,
212 [in, unique] IUnknown *punk,
213 [out] ITfContext **ppic,
214 [out] TfEditCookie *pecTextStore);
215
216 HRESULT Push(
217 [in] ITfContext *pic);
218
219 const DWORD TF_POPF_ALL = 0x0001;
220
221 HRESULT Pop(
222 [in] DWORD dwFlags);
223
224 HRESULT GetTop(
225 [out] ITfContext **ppic);
226
227 HRESULT GetBase(
228 [out] ITfContext **ppic);
229
230 HRESULT EnumContexts(
231 [out] IEnumTfContexts **ppEnum);
232};
233
234[
235 object,
236 uuid(aa80e7fd-2021-11d2-93e0-0060b067b86e),
237 pointer_default(unique)
238]
239interface ITfContext : IUnknown
240{
241 const DWORD TF_ES_ASYNCDONTCARE = 0x0;
242 const DWORD TF_ES_SYNC = 0x1;
243 const DWORD TF_ES_READ = 0x2;
244 const DWORD TF_ES_READWRITE = 0x6;
245 const DWORD TF_ES_ASYNC = 0x8;
246
247 HRESULT RequestEditSession(
248 [in] TfClientId tid,
249 [in] ITfEditSession *pes,
250 [in] DWORD dwFlags,
251 [out] HRESULT *phrSession);
252
253 HRESULT InWriteSession(
254 [in] TfClientId tid,
255 [out] BOOL *pfWriteSession);
256
257 typedef [uuid(1690be9b-d3e9-49f6-8d8b-51b905af4c43)] enum { TF_AE_NONE, TF_AE_START, TF_AE_END } TfActiveSelEnd;
258
259 typedef [uuid(36ae42a4-6989-4bdc-b48a-6137b7bf2e42)] struct TF_SELECTIONSTYLE
260 {
261 TfActiveSelEnd ase;
262 BOOL fInterimChar;
263 } TF_SELECTIONSTYLE;
264
265 typedef [uuid(75eb22f2-b0bf-46a8-8006-975a3b6efcf1)] struct TF_SELECTION
266 {
267 ITfRange *range;
268 TF_SELECTIONSTYLE style;
269 } TF_SELECTION;
270
271 const ULONG TF_DEFAULT_SELECTION = TS_DEFAULT_SELECTION;
272
273 HRESULT GetSelection(
274 [in] TfEditCookie ec,
275 [in] ULONG ulIndex,
276 [in] ULONG ulCount,
277 [out, size_is(ulCount), length_is(*pcFetched)] TF_SELECTION *pSelection,
278 [out] ULONG *pcFetched);
279
280 HRESULT SetSelection(
281 [in] TfEditCookie ec,
282 [in] ULONG ulCount,
283 [in, size_is(ulCount)] const TF_SELECTION *pSelection);
284
285 HRESULT GetStart(
286 [in] TfEditCookie ec,
287 [out] ITfRange **ppStart);
288
289 HRESULT GetEnd(
290 [in] TfEditCookie ec,
291 [out] ITfRange **ppEnd);
292
293 typedef [uuid(bc7d979a-846a-444d-afef-0a9bfa82b961)] TS_STATUS TF_STATUS;
294 const DWORD TF_SD_READONLY = TS_SD_READONLY;
295 const DWORD TF_SD_LOADING = TS_SD_LOADING;
296 const DWORD TF_SS_DISJOINTSEL = TS_SS_DISJOINTSEL;
297 const DWORD TF_SS_REGIONS = TS_SS_REGIONS;
298 const DWORD TF_SS_TRANSITORY = TS_SS_TRANSITORY;
299
300
301 HRESULT GetActiveView(
302 [out] ITfContextView **ppView);
303
304 HRESULT EnumViews(
305 [out] IEnumTfContextViews **ppEnum);
306
307 HRESULT GetStatus(
308 [out] TF_STATUS *pdcs);
309
310 HRESULT GetProperty(
311 [in] REFGUID guidProp,
312 [out] ITfProperty **ppProp);
313
314 HRESULT GetAppProperty(
315 [in] REFGUID guidProp,
316 [out] ITfReadOnlyProperty **ppProp);
317
318 HRESULT TrackProperties(
319 [in, size_is(cProp)] const GUID **prgProp,
320 [in] ULONG cProp,
321 [in, size_is(cAppProp)] const GUID **prgAppProp,
322 [in] ULONG cAppProp,
323 [out] ITfReadOnlyProperty **ppProperty);
324
325 HRESULT EnumProperties(
326 [out] IEnumTfProperties **ppEnum);
327
328 HRESULT GetDocumentMgr(
329 [out] ITfDocumentMgr **ppDm);
330
331 HRESULT CreateRangeBackup(
332 [in] TfEditCookie ec,
333 [in] ITfRange *pRange,
334 [out] ITfRangeBackup **ppBackup);
335
336};
337
338[
339 object,
340 uuid(4ea48a35-60ae-446f-8fd6-e6a8d82459f7),
341 pointer_default(unique)
342]
343interface ITfSource : IUnknown
344{
345 HRESULT AdviseSink(
346 [in] REFIID riid,
347 [in, iid_is(riid)] IUnknown *punk,
348 [out] DWORD *pdwCookie);
349
350 HRESULT UnadviseSink(
351 [in] DWORD dwCookie);
352};
353
354[
355 object,
356 local,
357 uuid(1F02B6C5-7842-4EE6-8A0B-9A24183A95CA),
358 pointer_default(unique)
359]
360interface ITfInputProcessorProfiles : IUnknown
361{
362 HRESULT Register(
363 [in] REFCLSID rclsid);
364
365 HRESULT Unregister(
366 [in] REFCLSID rclsid);
367
368 HRESULT AddLanguageProfile(
369 [in] REFCLSID rclsid,
370 [in] LANGID langid,
371 [in] REFGUID guidProfile,
372 [in, size_is(cchDesc)] const WCHAR *pchDesc,
373 [in] ULONG cchDesc,
374 [in, size_is(cchFile)] const WCHAR *pchIconFile,
375 [in] ULONG cchFile,
376 [in] ULONG uIconIndex);
377
378 HRESULT RemoveLanguageProfile(
379 [in] REFCLSID rclsid,
380 [in] LANGID langid,
381 [in] REFGUID guidProfile);
382
383 HRESULT EnumInputProcessorInfo(
384 [out] IEnumGUID **ppEnum);
385
386 HRESULT GetDefaultLanguageProfile(
387 [in] LANGID langid,
388 [in] REFGUID catid,
389 [out] CLSID *pclsid,
390 [out] GUID *pguidProfile);
391
392 HRESULT SetDefaultLanguageProfile(
393 [in] LANGID langid,
394 [in] REFCLSID rclsid,
395 [in] REFGUID guidProfiles);
396
397 HRESULT ActivateLanguageProfile(
398 [in] REFCLSID rclsid,
399 [in] LANGID langid,
400 [in] REFGUID guidProfiles);
401
402 HRESULT GetActiveLanguageProfile(
403 [in] REFCLSID rclsid,
404 [out] LANGID *plangid,
405 [out] GUID *pguidProfile);
406
407 HRESULT GetLanguageProfileDescription(
408 [in] REFCLSID rclsid,
409 [in] LANGID langid,
410 [in] REFGUID guidProfile,
411 [out] BSTR *pbstrProfile);
412
413 HRESULT GetCurrentLanguage(
414 [out] LANGID *plangid);
415
416 HRESULT ChangeCurrentLanguage(
417 [in] LANGID langid);
418
419 HRESULT GetLanguageList(
420 [out] LANGID **ppLangId,
421 [out] ULONG *pulCount);
422
423 HRESULT EnumLanguageProfiles(
424 [in] LANGID langid,
425 [out] IEnumTfLanguageProfiles **ppEnum);
426
427 HRESULT EnableLanguageProfile(
428 [in] REFCLSID rclsid,
429 [in] LANGID langid,
430 [in] REFGUID guidProfile,
431 [in] BOOL fEnable);
432
433 HRESULT IsEnabledLanguageProfile(
434 [in] REFCLSID rclsid,
435 [in] LANGID langid,
436 [in] REFGUID guidProfile,
437 [out] BOOL *pfEnable);
438
439 HRESULT EnableLanguageProfileByDefault(
440 [in] REFCLSID rclsid,
441 [in] LANGID langid,
442 [in] REFGUID guidProfile,
443 [in] BOOL fEnable);
444
445 HRESULT SubstituteKeyboardLayout(
446 [in] REFCLSID rclsid,
447 [in] LANGID langid,
448 [in] REFGUID guidProfile,
449 [in] HKL hKL);
450};
451
452typedef [uuid(44d2825a-10e5-43b2-877f-6cb2f43b7e7e)]
453struct TF_INPUTPROCESSORPROFILE {
454 DWORD dwProfileType;
455 LANGID langid;
456 CLSID clsid;
457 GUID guidProfile;
458 GUID catid;
459 HKL hklSubstitute;
460 DWORD dwCaps;
461 HKL hkl;
462 DWORD dwFlags;
463} TF_INPUTPROCESSORPROFILE;
464
465[
466 object,
467 uuid(71c6e74d-0f28-11d8-a82a-00065b84435c),
468 pointer_default(unique)
469]
470interface IEnumTfInputProcessorProfiles : IUnknown
471{
472 HRESULT Clone(
473 [out] IEnumTfInputProcessorProfiles **ppEnum);
474
475 HRESULT Next(
476 [in] ULONG ulCount,
477 [out, size_is(ulCount), length_is(*pcFetch)] TF_INPUTPROCESSORPROFILE *pProfile,
478 [out] ULONG *pcFetch);
479
480 HRESULT Reset();
481
482 HRESULT Skip(
483 [in] ULONG ulCount);
484}
485
486[
487 object,
488 uuid(71c6e74c-0f28-11d8-a82a-00065b84435c),
489 pointer_default(unique)
490]
491interface ITfInputProcessorProfileMgr : IUnknown
492{
493 HRESULT ActivateProfile(
494 [in] DWORD dwProfileType,
495 [in] LANGID langid,
496 [in] REFCLSID clsid,
497 [in] REFGUID guidProfile,
498 [in] HKL hkl,
499 [in] DWORD dwFlags);
500
501 HRESULT DeactivateProfile(
502 [in] DWORD dwProfileType,
503 [in] LANGID langid,
504 [in] REFCLSID clsid,
505 [in] REFGUID guidProfile,
506 [in] HKL hkl,
507 [in] DWORD dwFlags);
508
509 HRESULT GetProfile(
510 [in] DWORD dwProfileType,
511 [in] LANGID langid,
512 [in] REFCLSID clsid,
513 [in] REFGUID guidProfile,
514 [in] HKL hkl,
515 [out] TF_INPUTPROCESSORPROFILE *pProfile);
516
517
518 HRESULT EnumProfiles(
519 [in] LANGID langid,
520 [out] IEnumTfInputProcessorProfiles **ppEnum);
521
522 HRESULT ReleaseInputProcessor(
523 [in] REFCLSID rclsid,
524 [in] DWORD dwFlags);
525
526 HRESULT RegisterProfile(
527 [in] REFCLSID rclsid,
528 [in] LANGID langid,
529 [in] REFGUID guidProfile,
530 [in, size_is(cchDesc)] const WCHAR *pchDesc,
531 [in] ULONG cchDesc,
532 [in, size_is(cchFile)] const WCHAR *pchIconFile,
533 [in] ULONG cchFile,
534 [in] ULONG uIconIndex,
535 [in] HKL hklsubstitute,
536 [in] DWORD dwPreferredLayout,
537 [in] BOOL bEnabledByDefault,
538 [in] DWORD dwFlags);
539
540 HRESULT UnregisterProfile(
541 [in] REFCLSID rclsid,
542 [in] LANGID langid,
543 [in] REFGUID guidProfile,
544 [in] DWORD dwFlags);
545
546 HRESULT GetActiveProfile(
547 [in] REFGUID catid,
548 [out] TF_INPUTPROCESSORPROFILE *pProfile);
549}
550
551typedef [uuid(c4cc07f1-80cc-4a7b-bc54-98512782cbe3)]
552enum {
553 TF_LS_NONE = 0,
554 TF_LS_SOLID = 1,
555 TF_LS_DOT = 2,
556 TF_LS_DASH = 3,
557 TF_LS_SQUIGGLE = 4
558} TF_DA_LINESTYLE;
559
560typedef [uuid(d9b92e21-084a-401b-9c64-1e6dad91a1ab)]
561enum {
562 TF_CT_NONE = 0,
563 TF_CT_SYSCOLOR = 1,
564 TF_CT_COLORREF = 2
565} TF_DA_COLORTYPE;
566
567typedef [uuid(90d0cb5e-6520-4a0f-b47c-c39bd955f0d6)]
568struct TF_DA_COLOR {
569 TF_DA_COLORTYPE type;
570 [switch_type(TF_DA_COLORTYPE), switch_is(type)]
571 union {
572 [case(TF_CT_SYSCOLOR)] int nIndex;
573 [case(TF_CT_COLORREF)] COLORREF cr;
574 };
575} TF_DA_COLOR;
576
577typedef [uuid(33d2fe4b-6c24-4f67-8d75-3bc1819e4126)]
578enum {
579 TF_ATTR_INPUT = 0,
580 TF_ATTR_TARGET_CONVERTED = 1,
581 TF_ATTR_CONVERTED = 2,
582 TF_ATTR_TARGET_NOTCONVERTED = 3,
583 TF_ATTR_INPUT_ERROR = 4,
584 TF_ATTR_FIXEDCONVERTED = 5,
585 TF_ATTR_OTHER = -1
586} TF_DA_ATTR_INFO;
587
588typedef [uuid(1bf1c305-419b-4182-a4d2-9bfadc3f021f)]
589struct TF_DISPLAYATTRIBUTE {
590 TF_DA_COLOR crText;
591 TF_DA_COLOR crBk;
592 TF_DA_LINESTYLE lsStyle;
593 BOOL fBoldLine;
594 TF_DA_COLOR crLine;
595 TF_DA_ATTR_INFO bAttr;
596} TF_DISPLAYATTRIBUTE;
597
598[
599 object,
600 uuid(70528852-2f26-4aea-8c96-215150578932),
601 pointer_default(unique)
602]
603interface ITfDisplayAttributeInfo : IUnknown
604{
605 HRESULT GetGUID([out] GUID *pguid);
606
607 HRESULT GetDescription([out] BSTR *pbstrDesc);
608
609 HRESULT GetAttributeInfo([out] TF_DISPLAYATTRIBUTE *pda);
610
611 HRESULT SetAttributeInfo([in] const TF_DISPLAYATTRIBUTE *pda);
612
613 HRESULT Reset();
614}
615
616[
617 object,
618 uuid(7cef04d7-cb75-4e80-a7ab-5f5bc7d332de),
619 pointer_default(unique)
620]
621interface IEnumTfDisplayAttributeInfo : IUnknown
622{
623 HRESULT Clone([out] IEnumTfDisplayAttributeInfo **ppEnum);
624
625 HRESULT Next(
626 [in] ULONG ulCount,
627 [out, size_is(ulCount), length_is(*pcFetched)] ITfDisplayAttributeInfo **rgInfo,
628 [out] ULONG *pcFetched);
629
630 HRESULT Reset();
631
632 HRESULT Skip([in] ULONG ulCount);
633}
634
635[
636 object,
637 local,
638 uuid(8ded7393-5db1-475c-9e71-a39111b0ff67),
639 pointer_default(unique)
640]
641interface ITfDisplayAttributeMgr : IUnknown
642{
643 HRESULT OnUpdateInfo();
644
645 HRESULT EnumDisplayAttributeInfo([out] IEnumTfDisplayAttributeInfo **ppEnum);
646
647 HRESULT GetDisplayAttributeInfo(
648 [in] REFGUID guid,
649 [out] ITfDisplayAttributeInfo **ppInfo,
650 [out] CLSID *pclsidOwner);
651
652}
653
654[
655 object,
656 local,
657 uuid(c3acefb5-f69d-4905-938f-fcadcf4be830),
658 pointer_default(unique)
659]
660interface ITfCategoryMgr : IUnknown
661{
662 HRESULT RegisterCategory([in] REFCLSID rclsid,
663 [in] REFGUID rcatid,
664 [in] REFGUID rguid);
665
666 HRESULT UnregisterCategory([in] REFCLSID rclsid,
667 [in] REFGUID rcatid,
668 [in] REFGUID rguid);
669
670 HRESULT EnumCategoriesInItem([in] REFGUID rguid,
671 [out] IEnumGUID **ppEnum);
672
673 HRESULT EnumItemsInCategory([in] REFGUID rcatid,
674 [out] IEnumGUID **ppEnum);
675
676 HRESULT FindClosestCategory([in] REFGUID rguid,
677 [out] GUID *pcatid,
678 [in, size_is(ulCount)] const GUID **ppcatidList,
679 [in] ULONG ulCount);
680
681 HRESULT RegisterGUIDDescription([in] REFCLSID rclsid,
682 [in] REFGUID rguid,
683 [in, size_is(cch)] const WCHAR *pchDesc,
684 [in] ULONG cch);
685
686 HRESULT UnregisterGUIDDescription([in] REFCLSID rclsid,
687 [in] REFGUID rguid);
688
689 HRESULT GetGUIDDescription([in] REFGUID rguid,
690 [out] BSTR *pbstrDesc);
691
692 HRESULT RegisterGUIDDWORD([in] REFCLSID rclsid,
693 [in] REFGUID rguid,
694 [in] DWORD dw);
695
696 HRESULT UnregisterGUIDDWORD([in] REFCLSID rclsid,
697 [in] REFGUID rguid);
698
699 HRESULT GetGUIDDWORD([in] REFGUID rguid,
700 [out] DWORD *pdw);
701
702 HRESULT RegisterGUID([in] REFGUID rguid,
703 [out] TfGuidAtom *pguidatom);
704
705 HRESULT GetGUID([in] TfGuidAtom guidatom,
706 [out] GUID *pguid);
707
708 HRESULT IsEqualTfGuidAtom([in] TfGuidAtom guidatom,
709 [in] REFGUID rguid,
710 [out] BOOL *pfEqual);
711};
712
713[
714 object,
715 uuid(8127d409-ccd3-4683-967a-b43d5b482bf7),
716 pointer_default(unique)
717]
718interface ITfTextEditSink : IUnknown
719{
720 HRESULT OnEndEdit(
721 [in] ITfContext *pic,
722 [in] TfEditCookie ecReadOnly,
723 [in] ITfEditRecord *pEditRecord);
724};
725
726[
727 object,
728 uuid(5F20AA40-B57A-4F34-96AB-3576F377CC79),
729 pointer_default(unique)
730]
731interface ITfContextOwnerCompositionSink : IUnknown
732{
733 HRESULT OnStartComposition(
734 [in] ITfCompositionView *pComposition,
735 [out] BOOL *pfOk);
736
737 HRESULT OnUpdateComposition(
738 [in] ITfCompositionView *pComposition,
739 [in] ITfRange *pRangeNew);
740
741 HRESULT OnEndComposition(
742 [in] ITfCompositionView *pComposition);
743};
744
745[
746 object,
747 uuid(3d61bf11-ac5f-42c8-a4cb-931bcc28c744),
748 pointer_default(unique)
749]
750interface IEnumTfLanguageProfiles : IUnknown
751{
752 HRESULT Clone(
753 [out] IEnumTfLanguageProfiles **ppEnum);
754
755 HRESULT Next(
756 [in] ULONG ulCount,
757 [out, size_is(ulCount), length_is(*pcFetch)] TF_LANGUAGEPROFILE *pProfile,
758 [out] ULONG *pcFetch);
759
760 HRESULT Reset();
761
762 HRESULT Skip(
763 [in] ULONG ulCount);
764};
765
766[
767 object,
768 local,
769 uuid(aa80e7f7-2021-11d2-93e0-0060b067b86e),
770 pointer_default(unique)
771]
772interface ITfTextInputProcessor : IUnknown
773{
774 HRESULT Activate(
775 [in] ITfThreadMgr *ptim,
776 [in] TfClientId tid);
777
778 HRESULT Deactivate();
779};
780
781[
782 object,
783 uuid(aa80e80e-2021-11d2-93e0-0060b067b86e),
784 pointer_default(unique)
785]
786interface ITfThreadMgrEventSink : IUnknown
787{
788 HRESULT OnInitDocumentMgr(
789 [in] ITfDocumentMgr *pdim);
790
791 HRESULT OnUninitDocumentMgr(
792 [in] ITfDocumentMgr *pdim);
793
794 HRESULT OnSetFocus(
795 [in] ITfDocumentMgr *pdimFocus,
796 [in] ITfDocumentMgr *pdimPrevFocus);
797
798 HRESULT OnPushContext(
799 [in] ITfContext *pic);
800
801 HRESULT OnPopContext(
802 [in] ITfContext *pic);
803};
804
805[
806 object,
807 local,
808 uuid(aa80e7f0-2021-11d2-93e0-0060b067b86e),
809 pointer_default(unique)
810]
811interface ITfKeystrokeMgr : IUnknown
812{
813 HRESULT AdviseKeyEventSink(
814 [in] TfClientId tid,
815 [in] ITfKeyEventSink *pSink,
816 [in] BOOL fForeground);
817
818 HRESULT UnadviseKeyEventSink(
819 [in] TfClientId tid);
820
821 HRESULT GetForeground(
822 [out] CLSID *pclsid);
823
824 HRESULT TestKeyDown(
825 [in] WPARAM wParam,
826 [in] LPARAM lParam,
827 [out] BOOL *pfEaten);
828
829 HRESULT TestKeyUp(
830 [in] WPARAM wParam,
831 [in] LPARAM lParam,
832 [out] BOOL *pfEaten);
833
834 HRESULT KeyDown(
835 [in] WPARAM wParam,
836 [in] LPARAM lParam,
837 [out] BOOL *pfEaten);
838
839 HRESULT KeyUp(
840 [in] WPARAM wParam,
841 [in] LPARAM lParam,
842 [out] BOOL *pfEaten);
843
844 HRESULT GetPreservedKey(
845 [in] ITfContext *pic,
846 [in] const TF_PRESERVEDKEY *pprekey,
847 [out] GUID *pguid);
848
849 HRESULT IsPreservedKey(
850 [in] REFGUID rguid,
851 [in] const TF_PRESERVEDKEY *pprekey,
852 [out] BOOL *pfRegistered);
853
854 HRESULT PreserveKey(
855 [in] TfClientId tid,
856 [in] REFGUID rguid,
857 [in] const TF_PRESERVEDKEY *prekey,
858 [in, size_is(cchDesc)] const WCHAR *pchDesc,
859 [in] ULONG cchDesc);
860
861 HRESULT UnpreserveKey(
862 [in] REFGUID rguid,
863 [in] const TF_PRESERVEDKEY *pprekey);
864
865 HRESULT SetPreservedKeyDescription(
866 [in] REFGUID rguid,
867 [in, size_is(cchDesc)] const WCHAR *pchDesc,
868 [in] ULONG cchDesc);
869
870 HRESULT GetPreservedKeyDescription(
871 [in] REFGUID rguid,
872 [out] BSTR *pbstrDesc);
873
874 HRESULT SimulatePreservedKey(
875 [in] ITfContext *pic,
876 [in] REFGUID rguid,
877 [out] BOOL *pfEaten);
878};
879
880[
881 object,
882 local,
883 uuid(aa80e7f5-2021-11d2-93e0-0060b067b86e),
884 pointer_default(unique)
885]
886interface ITfKeyEventSink : IUnknown
887{
888 HRESULT OnSetFocus(
889 [in] BOOL fForeground);
890
891 HRESULT OnTestKeyDown(
892 [in] ITfContext *pic,
893 [in] WPARAM wParam,
894 [in] LPARAM lParam,
895 [out] BOOL *pfEaten);
896
897 HRESULT OnTestKeyUp(
898 [in] ITfContext *pic,
899 [in] WPARAM wParam,
900 [in] LPARAM lParam,
901 [out] BOOL *pfEaten);
902
903 HRESULT OnKeyDown(
904 [in] ITfContext *pic,
905 [in] WPARAM wParam,
906 [in] LPARAM lParam,
907 [out] BOOL *pfEaten);
908
909 HRESULT OnKeyUp(
910 [in] ITfContext *pic,
911 [in] WPARAM wParam,
912 [in] LPARAM lParam,
913 [out] BOOL *pfEaten);
914
915 HRESULT OnPreservedKey(
916 [in] ITfContext *pic,
917 [in] REFGUID rguid,
918 [out] BOOL *pfEaten);
919};
920
921[
922 object,
923 local,
924 uuid(8f1b8ad8-0b6b-4874-90c5-bd76011e8f7c),
925 pointer_default(unique)
926]
927interface ITfMessagePump : IUnknown
928{
929 HRESULT PeekMessageA(
930 [out] LPMSG pMsg,
931 [in] HWND hwnd,
932 [in] UINT wMsgFilterMin,
933 [in] UINT wMsgFilterMax,
934 [in] UINT wRemoveMsg,
935 [out] BOOL *pfResult);
936
937 HRESULT GetMessageA(
938 [out] LPMSG pMsg,
939 [in] HWND hwnd,
940 [in] UINT wMsgFilterMin,
941 [in] UINT wMsgFilterMax,
942 [out] BOOL *pfResult);
943
944 HRESULT PeekMessageW(
945 [out] LPMSG pMsg,
946 [in] HWND hwnd,
947 [in] UINT wMsgFilterMin,
948 [in] UINT wMsgFilterMax,
949 [in] UINT wRemoveMsg,
950 [out] BOOL *pfResult);
951
952 HRESULT GetMessageW(
953 [out] LPMSG pMsg,
954 [in] HWND hwnd,
955 [in] UINT wMsgFilterMin,
956 [in] UINT wMsgFilterMax,
957 [out] BOOL *pfResult);
958};
959
960[
961 object,
962 local,
963 uuid(d60a7b49-1b9f-4be2-b702-47e9dc05dec3),
964 pointer_default(unique)
965]
966interface ITfClientId : IUnknown
967{
968 HRESULT GetClientId(
969 [in] REFCLSID rclsid,
970 [out] TfClientId *ptid);
971};
972
973[
974 object,
975 uuid(43c9fe15-f494-4c17-9de2-b8a4ac350aa8),
976 pointer_default(unique)
977]
978interface ITfLanguageProfileNotifySink : IUnknown
979{
980 HRESULT OnLanguageChange(
981 [in] LANGID langid,
982 [out] BOOL *pfAccept);
983
984 HRESULT OnLanguageChanged();
985}
986
987[
988 object,
989 uuid(aa80e803-2021-11d2-93e0-0060b067b86e),
990 pointer_default(unique)
991]
992interface ITfEditSession : IUnknown
993{
994 HRESULT DoEditSession(
995 [in] TfEditCookie ec);
996}
997
998[
999 object,
1000 uuid(aa80e7ff-2021-11d2-93e0-0060b067b86e),
1001 pointer_default(unique)
1002]
1003interface ITfRange : IUnknown
1004{
1005 const WCHAR TF_CHAR_EMBEDDED = TS_CHAR_EMBEDDED;
1006
1007 typedef [uuid(cf610f06-2882-46f6-abe5-298568b664c4)] enum { TF_GRAVITY_BACKWARD = 0, TF_GRAVITY_FORWARD = 1 } TfGravity;
1008
1009 typedef [uuid(1e512533-bbdc-4530-9a8e-a1dc0af67468)] enum { TF_SD_BACKWARD = 0, TF_SD_FORWARD = 1 } TfShiftDir;
1010
1011 const DWORD TF_HF_OBJECT = 1;
1012 const DWORD TF_TF_MOVESTART = 1;
1013 const DWORD TF_TF_IGNOREEND = 2;
1014 const DWORD TF_ST_CORRECTION = 1;
1015 const DWORD TF_IE_CORRECTION = 1;
1016
1017 typedef [uuid(49930d51-7d93-448c-a48c-fea5dac192b1)] struct TF_HALTCOND
1018 {
1019 ITfRange *pHaltRange;
1020 TfAnchor aHaltPos;
1021 DWORD dwFlags;
1022 } TF_HALTCOND;
1023
1024 HRESULT GetText(
1025 [in] TfEditCookie ec,
1026 [in] DWORD dwFlags,
1027 [out, size_is(cchMax), length_is(*pcch)] WCHAR *pchText,
1028 [in] ULONG cchMax,
1029 [out] ULONG *pcch);
1030
1031 HRESULT SetText(
1032 [in] TfEditCookie ec,
1033 [in] DWORD dwFlags,
1034 [in, size_is(cch), unique] const WCHAR *pchText,
1035 [in] LONG cch);
1036
1037 HRESULT GetFormattedText(
1038 [in] TfEditCookie ec,
1039 [out] IDataObject **ppDataObject);
1040
1041 HRESULT GetEmbedded(
1042 [in] TfEditCookie ec,
1043 [in] REFGUID rguidService,
1044 [in] REFIID riid,
1045 [out, iid_is(riid)] IUnknown **ppunk);
1046
1047 HRESULT InsertEmbedded(
1048 [in] TfEditCookie ec,
1049 [in] DWORD dwFlags,
1050 [in] IDataObject *pDataObject);
1051
1052 HRESULT ShiftStart(
1053 [in] TfEditCookie ec,
1054 [in] LONG cchReq,
1055 [out] LONG *pcch,
1056 [in, unique] const TF_HALTCOND *pHalt);
1057
1058 HRESULT ShiftEnd(
1059 [in] TfEditCookie ec,
1060 [in] LONG cchReq,
1061 [out] LONG *pcch,
1062 [in, unique] const TF_HALTCOND *pHalt);
1063
1064 HRESULT ShiftStartToRange(
1065 [in] TfEditCookie ec,
1066 [in] ITfRange *pRange,
1067 [in] TfAnchor aPos);
1068
1069 HRESULT ShiftEndToRange(
1070 [in] TfEditCookie ec,
1071 [in] ITfRange *pRange,
1072 [in] TfAnchor aPos);
1073
1074 HRESULT ShiftStartRegion(
1075 [in] TfEditCookie ec,
1076 [in] TfShiftDir dir,
1077 [out] BOOL *pfNoRegion);
1078
1079 HRESULT ShiftEndRegion(
1080 [in] TfEditCookie ec,
1081 [in] TfShiftDir dir,
1082 [out] BOOL *pfNoRegion);
1083
1084 HRESULT IsEmpty(
1085 [in] TfEditCookie ec,
1086 [out] BOOL *pfEmpty);
1087
1088 HRESULT Collapse(
1089 [in] TfEditCookie ec,
1090 [in] TfAnchor aPos);
1091
1092 HRESULT IsEqualStart(
1093 [in] TfEditCookie ec,
1094 [in] ITfRange *pWith,
1095 [in] TfAnchor aPos,
1096 [out] BOOL *pfEqual);
1097
1098 HRESULT IsEqualEnd(
1099 [in] TfEditCookie ec,
1100 [in] ITfRange *pWith,
1101 [in] TfAnchor aPos,
1102 [out] BOOL *pfEqual);
1103
1104 HRESULT CompareStart(
1105 [in] TfEditCookie ec,
1106 [in] ITfRange *pWith,
1107 [in] TfAnchor aPos,
1108 [out] LONG *plResult);
1109
1110 HRESULT CompareEnd(
1111 [in] TfEditCookie ec,
1112 [in] ITfRange *pWith,
1113 [in] TfAnchor aPos,
1114 [out] LONG *plResult);
1115
1116 HRESULT AdjustForInsert(
1117 [in] TfEditCookie ec,
1118 [in] ULONG cchInsert,
1119 [out] BOOL *pfInsertOk);
1120
1121 HRESULT GetGravity(
1122 [out] TfGravity *pgStart,
1123 [out] TfGravity *pgEnd);
1124
1125 HRESULT SetGravity(
1126 [in] TfEditCookie ec,
1127 [in] TfGravity gStart,
1128 [in] TfGravity gEnd);
1129
1130 HRESULT Clone(
1131 [out] ITfRange **ppClone);
1132
1133 HRESULT GetContext(
1134 [out] ITfContext **ppContext);
1135};
1136
1137[
1138 object,
1139 uuid(057a6296-029b-4154-b79a-0d461d4ea94c),
1140 pointer_default(unique)
1141]
1142interface ITfRangeACP : ITfRange
1143{
1144 HRESULT GetExtent([out] LONG *pacpAnchor,
1145 [out] LONG *pcch);
1146
1147 HRESULT SetExtent([in] LONG acpAnchor,
1148 [in] LONG cch);
1149}
1150
1151[
1152 object,
1153 uuid(55ce16ba-3014-41c1-9ceb-fade1446ac6c),
1154 pointer_default(unique)
1155]
1156interface ITfInsertAtSelection : IUnknown
1157{
1158 const DWORD TF_IAS_NOQUERY = 0x1;
1159 const DWORD TF_IAS_QUERYONLY = 0x2;
1160 const DWORD TF_IAS_NO_DEFAULT_COMPOSITION = 0x80000000;
1161
1162 HRESULT InsertTextAtSelection(
1163 [in] TfEditCookie ec,
1164 [in] DWORD dwFlags,
1165 [in, size_is(cch)] const WCHAR *pchText,
1166 [in] LONG cch,
1167 [out] ITfRange **ppRange);
1168
1169 HRESULT InsertEmbeddedAtSelection(
1170 [in] TfEditCookie ec,
1171 [in] DWORD dwFlags,
1172 [in] IDataObject *pDataObject,
1173 [out] ITfRange **ppRange);
1174};
1175
1176[
1177 object,
1178 uuid(6834b120-88cb-11d2-bf45-00105a2799b5),
1179 pointer_default(unique)
1180]
1181interface ITfPropertyStore : IUnknown
1182{
1183 const DWORD TF_TU_CORRECTION = 0x1;
1184
1185 HRESULT GetType([out] GUID *pguid);
1186
1187 HRESULT GetDataType([out] DWORD *pdwReserved);
1188
1189 HRESULT GetData([out] VARIANT *pvarValue);
1190
1191 HRESULT OnTextUpdated(
1192 [in] DWORD dwFlags,
1193 [in] ITfRange *pRangeNew,
1194 [out] BOOL *pfAccept);
1195
1196 HRESULT Shrink(
1197 [in] ITfRange *pRangeNew,
1198 [out] BOOL *pfFree);
1199
1200 HRESULT Divide(
1201 [in] ITfRange *pRangeThis,
1202 [in] ITfRange *pRangeNew,
1203 [out] ITfPropertyStore **ppPropStore);
1204
1205 HRESULT Clone(
1206 [out] ITfPropertyStore **pPropStore);
1207
1208 HRESULT GetPropertyRangeCreator(
1209 [out] CLSID *pclsid);
1210
1211 HRESULT Serialize(
1212 [in] IStream *pStream,
1213 [out] ULONG *pcb);
1214}
1215
1216[
1217 object,
1218 uuid(f99d3f40-8e32-11d2-bf46-00105a2799b5),
1219 pointer_default(unique)
1220]
1221interface IEnumTfRanges : IUnknown
1222{
1223 HRESULT Clone([out] IEnumTfRanges **ppEnum);
1224
1225 HRESULT Next(
1226 [in] ULONG ulCount,
1227 [out, size_is(ulCount), length_is(*pcFetched)] ITfRange **ppRange,
1228 [out] ULONG *pcFetched);
1229
1230 HRESULT Reset();
1231
1232 HRESULT Skip(ULONG ulCount);
1233}
1234
1235[
1236 object,
1237 uuid(5efd22Ba-7838-46cb-88e2-cadb14124f8f),
1238 pointer_default(unique)
1239]
1240interface IEnumITfCompositionView : IUnknown
1241{
1242 HRESULT Clone([out] IEnumITfCompositionView **ppEnum);
1243
1244 HRESULT Next(
1245 [in] ULONG ulCount,
1246 [out, size_is(ulCount), length_is(*pcFetched)] ITfCompositionView **rgCompositionView,
1247 [out] ULONG *pcFetched);
1248
1249 HRESULT Reset();
1250
1251 HRESULT Skip([in] ULONG ulCount);
1252}
1253
1254[
1255 object,
1256 uuid(20168d64-5a8f-4a5a-b7bd-cfa29f4D0fd9),
1257 pointer_default(unique)
1258]
1259interface ITfComposition : IUnknown
1260{
1261 HRESULT GetRange([out] ITfRange **ppRange);
1262
1263 HRESULT ShiftStart(
1264 [in] TfEditCookie ecWrite,
1265 [in] ITfRange *pNewStart);
1266
1267 HRESULT ShiftEnd(
1268 [in] TfEditCookie ecWrite,
1269 [in] ITfRange *pNewEnd);
1270
1271 HRESULT EndComposition([in] TfEditCookie ecWrite);
1272}
1273
1274[
1275 object,
1276 uuid(a781718c-579a-4b15-a280-32b8577acc5e),
1277 pointer_default(unique)
1278]
1279interface ITfCompositionSink : IUnknown
1280{
1281 HRESULT OnCompositionTerminated(
1282 [in] TfEditCookie ecWrite,
1283 [in] ITfComposition *pComposition);
1284}
1285
1286[
1287 object,
1288 uuid(d40C8aae-aC92-4fc7-9a11-0ee0e23aa39b),
1289 pointer_default(unique)
1290]
1291interface ITfContextComposition : IUnknown
1292{
1293 HRESULT StartComposition(
1294 [in] TfEditCookie ecWrite,
1295 [in] ITfRange *pCompositionRange,
1296 [in] ITfCompositionSink *pSink,
1297 [out] ITfComposition **ppComposition);
1298
1299 HRESULT EnumCompositions([out] IEnumITfCompositionView **ppEnum);
1300
1301 HRESULT FindComposition(
1302 [in] TfEditCookie ecRead,
1303 [in] ITfRange *pTestRange,
1304 [out] IEnumITfCompositionView **ppEnum);
1305
1306 HRESULT TakeOwnership(
1307 [in] TfEditCookie ecWrite,
1308 [in] ITfCompositionView *pComposition,
1309 [in] ITfCompositionSink *pSink,
1310 [out] ITfComposition **ppComposition);
1311}
1312
1313[
1314 object,
1315 uuid(86462810-593b-4916-9764-19c08e9ce110),
1316 pointer_default(unique)
1317]
1318interface ITfContextOwnerCompositionServices : ITfContextComposition
1319{
1320 HRESULT TerminateComposition([in] ITfCompositionView *pComposition);
1321}
1322
1323[
1324 object,
1325 uuid(4ef89150-0807-11d3-8df0-00105a2799b5),
1326 pointer_default(unique)
1327]
1328interface ITfPersistentPropertyLoaderACP : IUnknown
1329{
1330 HRESULT LoadProperty(
1331 [in] const TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr,
1332 [out] IStream **ppStream);
1333}
1334
1335[
1336 object,
1337 uuid(b23eb630-3e1c-11d3-a745-0050040ab407),
1338 pointer_default(unique)
1339]
1340interface ITfContextOwnerServices : IUnknown
1341{
1342 HRESULT OnLayoutChange();
1343
1344 HRESULT OnStatusChange([in] DWORD dwFlags);
1345
1346 HRESULT OnAttributeChange([in] REFGUID rguidAttribute);
1347
1348 HRESULT Serialize(
1349 [in] ITfProperty *pProp,
1350 [in] ITfRange *pRange,
1351 [out] TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr,
1352 [in] IStream *pStream);
1353
1354 HRESULT Unserialize(
1355 [in] ITfProperty *pProp,
1356 [in] const TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr,
1357 [in] IStream *pStream,
1358 [in] ITfPersistentPropertyLoaderACP *pLoader);
1359
1360 HRESULT ForceLoadProperty([in] ITfProperty *pProp);
1361
1362 HRESULT CreateRange(
1363 [in] LONG acpStart,
1364 [in] LONG acpEnd,
1365 [out] ITfRangeACP **ppRange);
1366}
1367
1368[
1369 object,
1370 uuid(17d49a3d-f8b8-4b2f-b254-52319dd64c53),
1371 pointer_default(unique)
1372]
1373interface ITfReadOnlyProperty : IUnknown
1374{
1375 HRESULT GetType([out] GUID *pguid);
1376
1377 HRESULT EnumRanges(
1378 [in] TfEditCookie ec,
1379 [out] IEnumTfRanges **ppEnum,
1380 [in] ITfRange *pTargetRange);
1381
1382 HRESULT GetValue(
1383 [in] TfEditCookie ec,
1384 [in] ITfRange *pRange,
1385 [out] VARIANT *pvarValue);
1386
1387 HRESULT GetContext([out] ITfContext **ppContext);
1388}
1389
1390[
1391 object,
1392 uuid(e2449660-9542-11d2-bf46-00105a2799b5),
1393 pointer_default(unique)
1394]
1395interface ITfProperty : ITfReadOnlyProperty
1396{
1397 HRESULT FindRange(
1398 [in] TfEditCookie ec,
1399 [in] ITfRange *pRange,
1400 [out] ITfRange **ppRange,
1401 [in] TfAnchor aPos);
1402
1403 HRESULT SetValueStore(
1404 [in] TfEditCookie ec,
1405 [in] ITfRange *pRange,
1406 [in] ITfPropertyStore *pPropStore);
1407
1408 HRESULT SetValue(
1409 [in] TfEditCookie ec,
1410 [in] ITfRange *pRange,
1411 [in] const VARIANT *pvarValue);
1412
1413 HRESULT Clear(
1414 [in] TfEditCookie ec,
1415 [in] ITfRange *pRange);
1416}
1417
1418[
1419 object,
1420 uuid(bb08f7a9-607a-4384-8623-056892b64371),
1421 pointer_default(unique)
1422]
1423interface ITfCompartment : IUnknown
1424{
1425 HRESULT SetValue(
1426 [in] TfClientId tid,
1427 [in] const VARIANT *pvarValue);
1428
1429 HRESULT GetValue(
1430 [out] VARIANT *pvarValue);
1431};
1432
1433[
1434 object,
1435 uuid(7dcf57ac-18ad-438b-824d-979bffb74b7c),
1436 pointer_default(unique)
1437]
1438interface ITfCompartmentMgr : IUnknown
1439{
1440 HRESULT GetCompartment(
1441 [in] REFGUID rguid,
1442 [out] ITfCompartment **ppcomp);
1443
1444 HRESULT ClearCompartment(
1445 [in] TfClientId tid,
1446 [in] REFGUID rguid);
1447
1448 HRESULT EnumCompartments(
1449 [out] IEnumGUID **ppEnum);
1450};
1451
1452[
1453 object,
1454 uuid(743abd5f-f26d-48df-8cc5-238492419b64),
1455 pointer_default(unique)
1456]
1457interface ITfCompartmentEventSink : IUnknown
1458{
1459 HRESULT OnChange(
1460 [in] REFGUID rguid);
1461}
1462
1463[
1464 object,
1465 uuid(8f1a7ea6-1654-4502-a86e-b2902344d507),
1466 pointer_default(unique)
1467]
1468interface IEnumTfContexts : IUnknown
1469{
1470 HRESULT Clone(
1471 [out] IEnumTfContexts **ppEnum);
1472
1473 HRESULT Next(
1474 [in] ULONG ulCount,
1475 [out, size_is(ulCount), length_is(*pcFetched)] ITfContext **rgContext,
1476 [out] ULONG *pcFetched);
1477
1478 HRESULT Reset();
1479
1480 HRESULT Skip(
1481 [in] ULONG ulCount);
1482};
1483
1484[
1485 object,
1486 uuid(aa80e808-2021-11d2-93e0-0060b067b86e),
1487 pointer_default(unique)
1488]
1489interface IEnumTfDocumentMgrs : IUnknown
1490{
1491 HRESULT Clone(
1492 [out] IEnumTfDocumentMgrs **ppEnum);
1493
1494 HRESULT Next(
1495 [in] ULONG ulCount,
1496 [out, size_is(ulCount), length_is(*pcFetched)] ITfDocumentMgr **rgDocumentMgr,
1497 [out] ULONG *pcFetched);
1498
1499 HRESULT Reset();
1500
1501 HRESULT Skip(
1502 [in] ULONG ulCount);
1503};
1504
1505[
1506 object,
1507 uuid(73131f9c-56a9-49dd-b0ee-d046633f7528),
1508 pointer_default(unique)
1509]
1510interface ITfSourceSingle : IUnknown
1511{
1512 HRESULT AdviseSingleSink(
1513 [in] TfClientId tid,
1514 [in] REFIID riid,
1515 [in, iid_is(riid)] IUnknown *punk);
1516
1517 HRESULT UnadviseSingleSink(
1518 [in] TfClientId tid,
1519 [in] REFIID riid);
1520};
1521
1522[
1523 object,
1524 local,
1525 uuid(c0f1db0c-3a20-405c-a303-96b6010a885f),
1526 pointer_default(unique)
1527]
1528interface ITfThreadFocusSink : IUnknown
1529{
1530 HRESULT OnSetThreadFocus();
1531
1532 HRESULT OnKillThreadFocus();
1533};
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette