VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Graphics/Wine/include/msctf.idl@ 30705

Last change on this file since 30705 was 28475, checked in by vboxsync, 15 years ago

crOpenGL: update to wine 1.1.43

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

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