VirtualBox

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

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

Devices/Main: vmsvga updates

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

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