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
26 interface ITfLangBarEventSink;
27 interface ITfLangBarItemMgr;
28 interface ITfInputProcessorProfiles;
29 interface IEnumTfLangBarItems;
30 interface ITfLangBarItem;
31 interface ITfLangBarItemSink;
35 uuid(87955690-e627-11d2-8ddb-00105a2799b5),
36 pointer_default(unique)
38 interface ITfLangBarMgr: IUnknown
40 HRESULT AdviseEventSink(
41 [in] ITfLangBarEventSink *pSink,
44 [in] DWORD *pdwCookie);
46 HRESULT UnAdviseEventSink(
49 HRESULT GetThreadMarshalInterface(
50 [in] DWORD dwThreadId,
53 [out] IUnknown **ppunk);
55 HRESULT GetThreadLangBarItemMgr(
56 [in] DWORD dwThreadId,
57 [out] ITfLangBarItemMgr **pplbie,
58 [out] DWORD *pdwThreadid);
60 HRESULT GetInputProcessorProfiles(
61 [in] DWORD dwThreadId,
62 [out] ITfInputProcessorProfiles **ppaip,
63 [out] DWORD *pdwThreadid);
65 HRESULT RestoreLastFocus(
66 [out] DWORD *dwThreadId,
69 HRESULT SetModalInput(
70 [in] ITfLangBarEventSink *pSink,
71 [in] DWORD dwThreadId,
77 HRESULT GetShowFloatingStatus(
78 [out] DWORD *pdwFlags);
83 uuid(18a4e900-e0ae-11d2-afdd-00105a2799b5),
84 pointer_default(unique)
86 interface ITfLangBarEventSink: IUnknown
89 [in] DWORD dwThreadId);
91 HRESULT OnThreadTerminate(
92 [in] DWORD dwThreadId);
94 HRESULT OnThreadItemChange(
95 [in] DWORD dwThreadId);
98 [in] DWORD dwThreadId,
103 HRESULT ShowFloating(
106 HRESULT GetItemFloatingRect(
107 [in] DWORD dwThreadId,
112 const ULONG TF_LBI_DESC_MAXLEN = 32;
114 typedef [uuid(12a1d29f-a065-440c-9746-eb2002c8bd19)] struct TF_LANGBARITEMINFO
120 WCHAR szDescription[TF_LBI_DESC_MAXLEN];
121 } TF_LANGBARITEMINFO;
125 uuid(ba468c55-9956-4fb1-a59d-52a7dd7cc6aa),
126 pointer_default(unique),
128 interface ITfLangBarItemMgr : IUnknown
131 [out] IEnumTfLangBarItems **ppEnum);
135 [out] ITfLangBarItem **ppItem);
138 [in] ITfLangBarItem *punk);
141 [in] ITfLangBarItem *punk);
143 HRESULT AdviseItemSink(
144 [in] ITfLangBarItemSink *punk,
145 [out] DWORD *pdwCookie,
146 [in] REFGUID rguidItem);
148 HRESULT UnadviseItemSink(
149 [in] DWORD dwCookie);
151 HRESULT GetItemFloatingRect(
152 [in] DWORD dwThreadId,
156 HRESULT GetItemsStatus(
158 [in, size_is(ulCount)] const GUID *prgguid,
159 [out, size_is(ulCount)] DWORD *pdwStatus);
162 [out] ULONG *pulCount);
166 [out, size_is(ulCount), length_is(*pcFetched)] ITfLangBarItem **ppItem,
167 [out, size_is(ulCount), length_is(*pcFetched)] TF_LANGBARITEMINFO *pInfo,
168 [out, size_is(ulCount), length_is(*pcFetched)] DWORD *pdwStatus,
169 [in, out, unique] ULONG *pcFetched);
171 HRESULT AdviseItemsSink(
173 [in, size_is(ulCount)] ITfLangBarItemSink **ppunk,
174 [in, size_is(ulCount)] const GUID *pguidItem,
175 [out, size_is(ulCount)] DWORD *pdwCookie);
177 HRESULT UnadviseItemsSink(
179 [in, size_is(ulCount)] DWORD *pdwCookie);
184 uuid(583f34d0-de25-11d2-afdd-00105a2799b5),
185 pointer_default(unique),
187 interface IEnumTfLangBarItems : IUnknown
190 [out] IEnumTfLangBarItems **ppEnum);
194 [out, size_is(ulCount)] ITfLangBarItem **ppItem,
195 [in, out, unique] ULONG *pcFetched);
205 uuid(73540d69-edeb-4ee9-96c9-23aa30b25916),
206 pointer_default(unique),
208 interface ITfLangBarItem : IUnknown
211 [out] TF_LANGBARITEMINFO *pInfo);
214 [out] DWORD *pdwStatus);
219 HRESULT GetTooltipString(
220 [out] BSTR *pbstrToolTip);
225 uuid(57dbe1a0-de25-11d2-afdd-00105a2799b5),
226 pointer_default(unique),
228 interface ITfLangBarItemSink : IUnknown