2 * Copyright 2008 Aric Stewart, CodeWeavers
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.
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.
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
22 /* import "textstor.idl"; */
23 /* import "ctfutb.idl"; */
26 cpp_quote
("EXTERN_C const CLSID CLSID_TF_ThreadMgr;")
28 typedef [uuid(de403c21
-89fd
-4f85
-8b87
-64584d063fbc
)] DWORD TfClientId
;
30 interface ITfDocumentMgr
;
31 interface IEnumTfDocumentMgrs
;
32 interface ITfFunctionProvider
;
33 interface IEnumTfFunctionProviders
;
34 interface ITfCompartmentMgr
;
38 uuid(aa80e801
-2021-11d2
-93e0
-0060b067b86e
),
39 pointer_default(unique)
41 interface ITfThreadMgr
: IUnknown
44 [out] TfClientId
*ptid
);
48 HRESULT CreateDocumentMgr
(
49 [out] ITfDocumentMgr
**ppdim
);
51 HRESULT EnumDocumentMgrs
(
52 [out] IEnumTfDocumentMgrs
**ppEnum
);
55 [out] ITfDocumentMgr
**ppdimFocus
);
58 [in] ITfDocumentMgr
*pdimFocus
);
60 HRESULT AssociateFocus
(
62 [in, unique] ITfDocumentMgr
*pdimNew
,
63 [out] ITfDocumentMgr
**ppdimPrev
);
65 HRESULT IsThreadFocus
(
66 [out] BOOL
*pfThreadFocus
);
68 HRESULT GetFunctionProvider
(
70 [out] ITfFunctionProvider
**ppFuncProv
);
72 HRESULT EnumFunctionProviders
(
73 [out] IEnumTfFunctionProviders
**ppEnum
);
75 HRESULT GetGlobalCompartment
(
76 [out] ITfCompartmentMgr
**ppCompMgr
);