ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

ctfutb.idl
Go to the documentation of this file.
00001 /*
00002  * Copyright 2010 Justin Chevrier
00003  *
00004  * This library is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Lesser General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 2.1 of the License, or (at your option) any later version.
00008  *
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Lesser General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Lesser General Public
00015  * License along with this library; if not, write to the Free Software
00016  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00017  */
00018 
00019 #ifndef DO_NO_IMPORTS
00020 import "oaidl.idl";
00021 #ifdef __midl
00022 import "msctf.idl";
00023 #endif
00024 #endif
00025 
00026 interface ITfLangBarEventSink;
00027 interface ITfLangBarItemMgr;
00028 interface ITfInputProcessorProfiles;
00029 interface IEnumTfLangBarItems;
00030 interface ITfLangBarItem;
00031 interface ITfLangBarItemSink;
00032 
00033 [
00034     object,
00035     uuid(87955690-e627-11d2-8ddb-00105a2799b5),
00036     pointer_default(unique)
00037 ]
00038 interface ITfLangBarMgr: IUnknown
00039 {
00040     HRESULT AdviseEventSink(
00041         [in] ITfLangBarEventSink *pSink,
00042         [in] HWND hwnd,
00043         [in] DWORD dwflags,
00044         [in] DWORD *pdwCookie);
00045 
00046     HRESULT UnAdviseEventSink(
00047         [in] DWORD dwCookie);
00048 
00049     HRESULT GetThreadMarshalInterface(
00050         [in] DWORD dwThreadId,
00051         [in] DWORD dwType,
00052         [in] REFIID riid,
00053         [out] IUnknown **ppunk);
00054 
00055     HRESULT GetThreadLangBarItemMgr(
00056         [in] DWORD dwThreadId,
00057         [out] ITfLangBarItemMgr **pplbie,
00058         [out] DWORD *pdwThreadid);
00059 
00060     HRESULT GetInputProcessorProfiles(
00061         [in] DWORD dwThreadId,
00062         [out] ITfInputProcessorProfiles **ppaip,
00063         [out] DWORD *pdwThreadid);
00064 
00065     HRESULT RestoreLastFocus(
00066         [out] DWORD *dwThreadId,
00067         [in] BOOL fPrev);
00068 
00069     HRESULT SetModalInput(
00070         [in] ITfLangBarEventSink *pSink,
00071         [in] DWORD dwThreadId,
00072         [in] DWORD dwFlags);
00073 
00074     HRESULT ShowFloating(
00075         [in] DWORD dwFlags);
00076 
00077     HRESULT GetShowFloatingStatus(
00078         [out] DWORD *pdwFlags);
00079 };
00080 
00081 [
00082   object,
00083   uuid(18a4e900-e0ae-11d2-afdd-00105a2799b5),
00084   pointer_default(unique)
00085 ]
00086 interface ITfLangBarEventSink: IUnknown
00087 {
00088     HRESULT OnSetFocus(
00089         [in] DWORD dwThreadId);
00090 
00091     HRESULT OnThreadTerminate(
00092         [in] DWORD dwThreadId);
00093 
00094     HRESULT OnThreadItemChange(
00095         [in] DWORD dwThreadId);
00096 
00097     HRESULT OnModalInput(
00098         [in] DWORD dwThreadId,
00099         [in] UINT uMsg, 
00100         [in] WPARAM wParam, 
00101         [in] LPARAM lParam);
00102 
00103     HRESULT ShowFloating(
00104         [in] DWORD dwFlags);
00105 
00106     HRESULT GetItemFloatingRect(
00107         [in] DWORD dwThreadId,
00108         [in] REFGUID rguid,
00109         [out] RECT *prc);
00110 }
00111 
00112 const ULONG TF_LBI_DESC_MAXLEN = 32;
00113 
00114 typedef [uuid(12a1d29f-a065-440c-9746-eb2002c8bd19)] struct TF_LANGBARITEMINFO
00115 {
00116     CLSID clsidService;
00117     GUID guidItem;
00118     DWORD dwStyle;
00119     ULONG ulSort;
00120     WCHAR szDescription[TF_LBI_DESC_MAXLEN];
00121 } TF_LANGBARITEMINFO;
00122 
00123 [
00124   object,
00125   uuid(ba468c55-9956-4fb1-a59d-52a7dd7cc6aa),
00126   pointer_default(unique),
00127 ]
00128 interface ITfLangBarItemMgr : IUnknown
00129 {
00130     HRESULT EnumItems(
00131         [out] IEnumTfLangBarItems **ppEnum);
00132 
00133     HRESULT GetItem(
00134         [in] REFGUID rguid, 
00135         [out] ITfLangBarItem **ppItem);
00136 
00137     HRESULT AddItem(
00138         [in] ITfLangBarItem *punk);
00139 
00140     HRESULT RemoveItem(
00141         [in] ITfLangBarItem *punk);
00142 
00143     HRESULT AdviseItemSink(
00144         [in] ITfLangBarItemSink *punk, 
00145         [out] DWORD *pdwCookie, 
00146         [in] REFGUID rguidItem);
00147 
00148     HRESULT UnadviseItemSink(
00149         [in] DWORD dwCookie);
00150 
00151     HRESULT GetItemFloatingRect(
00152         [in] DWORD dwThreadId,
00153         [in] REFGUID rguid,
00154         [out] RECT *prc);
00155 
00156     HRESULT GetItemsStatus(
00157         [in] ULONG ulCount,
00158         [in, size_is(ulCount)] const GUID *prgguid,
00159         [out, size_is(ulCount)] DWORD *pdwStatus);
00160 
00161     HRESULT GetItemNum(
00162         [out] ULONG *pulCount);
00163 
00164     HRESULT GetItems(
00165         [in] ULONG ulCount, 
00166         [out, size_is(ulCount), length_is(*pcFetched)] ITfLangBarItem **ppItem, 
00167         [out, size_is(ulCount), length_is(*pcFetched)] TF_LANGBARITEMINFO *pInfo,
00168         [out, size_is(ulCount), length_is(*pcFetched)] DWORD *pdwStatus,
00169         [in, out, unique] ULONG *pcFetched);
00170 
00171     HRESULT AdviseItemsSink(
00172         [in] ULONG ulCount,
00173         [in, size_is(ulCount)] ITfLangBarItemSink **ppunk, 
00174         [in, size_is(ulCount)] const GUID *pguidItem,
00175         [out, size_is(ulCount)] DWORD *pdwCookie);
00176 
00177     HRESULT UnadviseItemsSink(
00178         [in] ULONG ulCount,
00179         [in, size_is(ulCount)] DWORD *pdwCookie);
00180 };
00181 
00182 [
00183   object,
00184   uuid(583f34d0-de25-11d2-afdd-00105a2799b5),
00185   pointer_default(unique),
00186 ]
00187 interface IEnumTfLangBarItems : IUnknown
00188 {
00189     HRESULT Clone(
00190         [out] IEnumTfLangBarItems **ppEnum);
00191 
00192     HRESULT Next(
00193         [in] ULONG ulCount, 
00194         [out, size_is(ulCount)] ITfLangBarItem **ppItem, 
00195         [in, out, unique] ULONG *pcFetched);
00196 
00197     HRESULT Reset();
00198 
00199     HRESULT Skip(
00200         [in] ULONG ulCount);
00201 }
00202 
00203 [
00204   object,
00205   uuid(73540d69-edeb-4ee9-96c9-23aa30b25916),
00206   pointer_default(unique),
00207 ]
00208 interface ITfLangBarItem : IUnknown
00209 {
00210     HRESULT GetInfo(
00211         [out] TF_LANGBARITEMINFO *pInfo);
00212 
00213     HRESULT GetStatus(
00214         [out] DWORD *pdwStatus);
00215 
00216     HRESULT Show(
00217         [in] BOOL fShow);
00218 
00219     HRESULT GetTooltipString(
00220         [out] BSTR *pbstrToolTip);
00221 }
00222 
00223 [
00224   object,
00225   uuid(57dbe1a0-de25-11d2-afdd-00105a2799b5),
00226   pointer_default(unique),
00227 ]
00228 interface ITfLangBarItemSink : IUnknown
00229 {
00230     HRESULT OnUpdate(
00231         [in] DWORD dwFlags);
00232 }

Generated on Fri May 25 2012 04:29:48 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.