2 * Deprecated shell interfaces
4 * Copyright (C) 2010 Nikolay Sivov for CodeWeavers
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
23 import "shobjidl.idl";
25 cpp_quote("#define TLOG_BACK -1")
26 cpp_quote("#define TLOG_FORE 1")
28 cpp_quote("#define TLMENUF_INCLUDECURRENT 0x00000001")
29 cpp_quote("#define TLMENUF_CHECKCURRENT (TLMENUF_INCLUDECURRENT | 0x00000002)")
30 cpp_quote("#define TLMENUF_BACK 0x00000010")
31 cpp_quote("#define TLMENUF_FORE 0x00000020")
32 cpp_quote("#define TLMENUF_BACKANDFORTH (TLMENUF_BACK | TLMENUF_FORE | TLMENUF_INCLUDECURRENT)")
38 uuid(F46EDB3B-BC2F-11d0-9412-00AA00A3EBD3)
40 interface ITravelEntry : IUnknown
47 [in] BOOL fIsLocalAnchor);
50 [out] LPITEMIDLIST *ppidl);
57 uuid(66A9CB08-4802-11d2-A561-00A0C92DBFE8)
59 interface ITravelLog : IUnknown
63 [in] BOOL fIsLocalAnchor);
67 [in] BOOL fIsLocalAnchor);
69 HRESULT UpdateExternal(
71 [in] IUnknown *punkHLBrowseContext);
77 HRESULT GetTravelEntry(
80 [optional, out] ITravelEntry **ppte);
82 HRESULT FindTravelEntry(
84 [in] LPCITEMIDLIST pidl,
85 [out] ITravelEntry **ppte);
87 HRESULT GetToolTipText(
91 [out, size_is(cchText)] LPWSTR pwzText,
94 HRESULT InsertMenuEntries(
103 [out] ITravelLog **pptl);
106 [in] IUnknown *punk);
111 typedef enum tagBNSTATE
114 BNS_BEGIN_NAVIGATE = 1,
126 cpp_quote("#define BSF_REGISTERASDROPTARGET 0x00000001")
127 cpp_quote("#define BSF_THEATERMODE 0x00000002")
128 cpp_quote("#define BSF_NOLOCALFILEWARNING 0x00000010")
129 cpp_quote("#define BSF_UISETBYAUTOMATION 0x00000100")
130 cpp_quote("#define BSF_RESIZABLE 0x00000200")
131 cpp_quote("#define BSF_CANMAXIMIZE 0x00000400")
132 cpp_quote("#define BSF_TOPBROWSER 0x00000800")
133 cpp_quote("#define BSF_NAVNOHISTORY 0x00001000")
134 cpp_quote("#define BSF_HTMLNAVCANCELED 0x00002000")
135 cpp_quote("#define BSF_DONTSHOWNAVCANCELPAGE 0x00004000")
136 cpp_quote("#define BSF_SETNAVIGATABLECODEPAGE 0x00008000")
137 cpp_quote("#define BSF_DELEGATEDNAVIGATION 0x00010000")
138 cpp_quote("#define BSF_TRUSTEDFORACTIVEX 0x00020000")
140 cpp_quote("#define HLNF_CALLERUNTRUSTED 0x00200000")
141 cpp_quote("#define HLNF_TRUSTEDFORACTIVEX 0x00400000")
142 cpp_quote("#define HLNF_DISABLEWINDOWRESTRICTIONS 0x00800000")
143 cpp_quote("#define HLNF_TRUSTFIRSTDOWNLOAD 0x01000000")
144 cpp_quote("#define HLNF_UNTRUSTEDFORDOWNLOAD 0x02000000")
145 cpp_quote("#define SHHLNF_NOAUTOSELECT 0x04000000")
146 cpp_quote("#define SHHLNF_WRITENOHISTORY 0x08000000")
147 cpp_quote("#define HLNF_EXTERNALNAVIGATE 0x10000000")
148 cpp_quote("#define HLNF_ALLOW_AUTONAVIGATE 0x20000000")
149 cpp_quote("#define HLNF_NEWWINDOWSMANAGED 0x80000000")
154 uuid(02ba3b52-0547-11d1-b833-00c04fc9b31f)
156 interface IBrowserService : IUnknown
158 HRESULT GetParentSite(
159 [out] IOleInPlaceSite **ppipsite);
162 [in] IShellView *psv,
163 [in] LPCWSTR pszName);
166 [in] IShellView *psv,
167 [out, size_is(cchName)] LPWSTR pszName,
170 HRESULT GetOleObject(
171 [out] IOleObject **ppobjv);
173 HRESULT GetTravelLog(
174 [out, optional] ITravelLog **pptl);
176 HRESULT ShowControlWindow(
180 HRESULT IsControlWindowShown(
182 [out] BOOL *pfShown);
184 HRESULT IEGetDisplayName(
185 [in] PCIDLIST_ABSOLUTE pidl,
186 [out] LPWSTR pwszName,
189 HRESULT IEParseDisplayName(
191 [in] LPCWSTR pwszPath,
192 [out] PIDLIST_ABSOLUTE *ppidlOut);
194 HRESULT DisplayParseError(
196 [in] LPCWSTR pwszPath);
198 HRESULT NavigateToPidl(
199 [in] PCIDLIST_ABSOLUTE pidl,
202 HRESULT SetNavigateState(
203 [in] BNSTATE bnstate);
205 HRESULT GetNavigateState(
206 [out] BNSTATE *pbnstate);
208 HRESULT NotifyRedirect(
209 [in] IShellView *psv,
210 [in] PCIDLIST_ABSOLUTE pidl,
211 [out] BOOL *pfDidBrowse);
213 HRESULT UpdateWindowList();
215 HRESULT UpdateBackForwardState();
219 [in] DWORD dwFlagMask);
222 [out] DWORD *pdwFlags);
224 HRESULT CanNavigateNow();
227 [out] PIDLIST_ABSOLUTE *ppidl);
230 [in] PCIDLIST_ABSOLUTE pidl);
232 DWORD GetBrowserIndex();
234 HRESULT GetBrowserByIndex(
236 [out] IUnknown **ppunk);
238 HRESULT GetHistoryObject(
239 [out] IOleObject **ppole,
240 [out] IStream **pstm,
241 [out] IBindCtx **ppbc);
243 HRESULT SetHistoryObject(
244 [in] IOleObject *pole,
245 [in] BOOL fIsLocalAnchor);
247 HRESULT CacheOLEServer(
248 [in] IOleObject *pole);
250 HRESULT GetSetCodePage(
251 [in] VARIANT *pvarIn,
252 [out] VARIANT *pvarOut);
255 [in] IShellView *psv,
257 [in] VARIANT *pvarargIn,
258 [out] VARIANT *pvarargOut);
261 [out] HPALETTE *hpal);
263 HRESULT RegisterWindow(
264 [in] BOOL fForceRegister,
271 uuid(5836fb00-8187-11cf-a12b-00aa004ae837)
273 interface IShellService : IUnknown
275 HRESULT SetOwner( [in] IUnknown *pUnk );