2 * Copyright 2010 Justin Chevrier
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
24 interface ITfLangBarEventSink;
25 interface ITfLangBarItemMgr;
26 interface ITfInputProcessorProfiles;
27 interface IEnumTfLangBarItems;
28 interface ITfLangBarItem;
29 interface ITfLangBarItemSink;
33 uuid(87955690-e627-11d2-8ddb-00105a2799b5),
34 pointer_default(unique)
36 interface ITfLangBarMgr: IUnknown
38 HRESULT AdviseEventSink(
39 [in] ITfLangBarEventSink *pSink,
42 [in] DWORD *pdwCookie);
44 HRESULT UnAdviseEventSink(
47 HRESULT GetThreadMarshalInterface(
48 [in] DWORD dwThreadId,
51 [out] IUnknown **ppunk);
53 HRESULT GetThreadLangBarItemMgr(
54 [in] DWORD dwThreadId,
55 [out] ITfLangBarItemMgr **pplbie,
56 [out] DWORD *pdwThreadid);
58 HRESULT GetInputProcessorProfiles(
59 [in] DWORD dwThreadId,
60 [out] ITfInputProcessorProfiles **ppaip,
61 [out] DWORD *pdwThreadid);
63 HRESULT RestoreLastFocus(
64 [out] DWORD *dwThreadId,
67 HRESULT SetModalInput(
68 [in] ITfLangBarEventSink *pSink,
69 [in] DWORD dwThreadId,
75 HRESULT GetShowFloatingStatus(
76 [out] DWORD *pdwFlags);
81 uuid(18a4e900-e0ae-11d2-afdd-00105a2799b5),
82 pointer_default(unique)
84 interface ITfLangBarEventSink: IUnknown
87 [in] DWORD dwThreadId);
89 HRESULT OnThreadTerminate(
90 [in] DWORD dwThreadId);
92 HRESULT OnThreadItemChange(
93 [in] DWORD dwThreadId);
96 [in] DWORD dwThreadId,
101 HRESULT ShowFloating(
104 HRESULT GetItemFloatingRect(
105 [in] DWORD dwThreadId,
110 const ULONG TF_LBI_DESC_MAXLEN = 32;
112 typedef [uuid(12a1d29f-a065-440c-9746-eb2002c8bd19)] struct TF_LANGBARITEMINFO
118 WCHAR szDescription[TF_LBI_DESC_MAXLEN];
119 } TF_LANGBARITEMINFO;
123 uuid(ba468c55-9956-4fb1-a59d-52a7dd7cc6aa),
124 pointer_default(unique),
126 interface ITfLangBarItemMgr : IUnknown
129 [out] IEnumTfLangBarItems **ppEnum);
133 [out] ITfLangBarItem **ppItem);
136 [in] ITfLangBarItem *punk);
139 [in] ITfLangBarItem *punk);
141 HRESULT AdviseItemSink(
142 [in] ITfLangBarItemSink *punk,
143 [out] DWORD *pdwCookie,
144 [in] REFGUID rguidItem);
146 HRESULT UnadviseItemSink(
147 [in] DWORD dwCookie);
149 HRESULT GetItemFloatingRect(
150 [in] DWORD dwThreadId,
154 HRESULT GetItemsStatus(
156 [in, size_is(ulCount)] const GUID *prgguid,
157 [out, size_is(ulCount)] DWORD *pdwStatus);
160 [out] ULONG *pulCount);
164 [out, size_is(ulCount), length_is(*pcFetched)] ITfLangBarItem **ppItem,
165 [out, size_is(ulCount), length_is(*pcFetched)] TF_LANGBARITEMINFO *pInfo,
166 [out, size_is(ulCount), length_is(*pcFetched)] DWORD *pdwStatus,
167 [in, out, unique] ULONG *pcFetched);
169 HRESULT AdviseItemsSink(
171 [in, size_is(ulCount)] ITfLangBarItemSink **ppunk,
172 [in, size_is(ulCount)] const GUID *pguidItem,
173 [out, size_is(ulCount)] DWORD *pdwCookie);
175 HRESULT UnadviseItemsSink(
177 [in, size_is(ulCount)] DWORD *pdwCookie);
182 uuid(583f34d0-de25-11d2-afdd-00105a2799b5),
183 pointer_default(unique),
185 interface IEnumTfLangBarItems : IUnknown
188 [out] IEnumTfLangBarItems **ppEnum);
192 [out, size_is(ulCount)] ITfLangBarItem **ppItem,
193 [in, out, unique] ULONG *pcFetched);
203 uuid(73540d69-edeb-4ee9-96c9-23aa30b25916),
204 pointer_default(unique),
206 interface ITfLangBarItem : IUnknown
209 [out] TF_LANGBARITEMINFO *pInfo);
212 [out] DWORD *pdwStatus);
217 HRESULT GetTooltipString(
218 [out] BSTR *pbstrToolTip);
223 uuid(57dbe1a0-de25-11d2-afdd-00105a2799b5),
224 pointer_default(unique),
226 interface ITfLangBarItemSink : IUnknown