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
24 import "shobjidl.idl";
28 cpp_quote("#define TLOG_BACK -1")
29 cpp_quote("#define TLOG_FORE 1")
31 cpp_quote("#define TLMENUF_INCLUDECURRENT 0x00000001")
32 cpp_quote("#define TLMENUF_CHECKCURRENT (TLMENUF_INCLUDECURRENT | 0x00000002)")
33 cpp_quote("#define TLMENUF_BACK 0x00000010")
34 cpp_quote("#define TLMENUF_FORE 0x00000020")
35 cpp_quote("#define TLMENUF_BACKANDFORTH (TLMENUF_BACK | TLMENUF_FORE | TLMENUF_INCLUDECURRENT)")
41 uuid(F46EDB3B-BC2F-11d0-9412-00AA00A3EBD3)
43 interface ITravelEntry : IUnknown
50 [in] BOOL fIsLocalAnchor);
53 [out] LPITEMIDLIST *ppidl);
60 uuid(66A9CB08-4802-11d2-A561-00A0C92DBFE8)
62 interface ITravelLog : IUnknown
66 [in] BOOL fIsLocalAnchor);
70 [in] BOOL fIsLocalAnchor);
72 HRESULT UpdateExternal(
74 [in] IUnknown *punkHLBrowseContext);
80 HRESULT GetTravelEntry(
83 [optional, out] ITravelEntry **ppte);
85 HRESULT FindTravelEntry(
87 [in] LPCITEMIDLIST pidl,
88 [out] ITravelEntry **ppte);
90 HRESULT GetToolTipText(
94 [out, size_is(cchText)] LPWSTR pwzText,
97 HRESULT InsertMenuEntries(
106 [out] ITravelLog **pptl);
109 [in] IUnknown *punk);
114 typedef void *CIE4ConnectionPoint;
119 uuid(0D7D1D00-6FC0-11D0-A974-00C04FD705A2)
121 interface IExpDispSupport : IUnknown
123 HRESULT FindCIE4ConnectionPoint(
125 CIE4ConnectionPoint **ppccp);
127 HRESULT OnTranslateAccelerator(
136 DISPPARAMS *pdispparams,
138 EXCEPINFO *pexcepinfo,
142 typedef enum tagBNSTATE
145 BNS_BEGIN_NAVIGATE = 1,
157 cpp_quote("#define BSF_REGISTERASDROPTARGET 0x00000001")
158 cpp_quote("#define BSF_THEATERMODE 0x00000002")
159 cpp_quote("#define BSF_NOLOCALFILEWARNING 0x00000010")
160 cpp_quote("#define BSF_UISETBYAUTOMATION 0x00000100")
161 cpp_quote("#define BSF_RESIZABLE 0x00000200")
162 cpp_quote("#define BSF_CANMAXIMIZE 0x00000400")
163 cpp_quote("#define BSF_TOPBROWSER 0x00000800")
164 cpp_quote("#define BSF_NAVNOHISTORY 0x00001000")
165 cpp_quote("#define BSF_HTMLNAVCANCELED 0x00002000")
166 cpp_quote("#define BSF_DONTSHOWNAVCANCELPAGE 0x00004000")
167 cpp_quote("#define BSF_SETNAVIGATABLECODEPAGE 0x00008000")
168 cpp_quote("#define BSF_DELEGATEDNAVIGATION 0x00010000")
169 cpp_quote("#define BSF_TRUSTEDFORACTIVEX 0x00020000")
171 cpp_quote("#define HLNF_CALLERUNTRUSTED 0x00200000")
172 cpp_quote("#define HLNF_TRUSTEDFORACTIVEX 0x00400000")
173 cpp_quote("#define HLNF_DISABLEWINDOWRESTRICTIONS 0x00800000")
174 cpp_quote("#define HLNF_TRUSTFIRSTDOWNLOAD 0x01000000")
175 cpp_quote("#define HLNF_UNTRUSTEDFORDOWNLOAD 0x02000000")
176 cpp_quote("#define SHHLNF_NOAUTOSELECT 0x04000000")
177 cpp_quote("#define SHHLNF_WRITENOHISTORY 0x08000000")
178 cpp_quote("#define HLNF_EXTERNALNAVIGATE 0x10000000")
179 cpp_quote("#define HLNF_ALLOW_AUTONAVIGATE 0x20000000")
180 cpp_quote("#define HLNF_NEWWINDOWSMANAGED 0x80000000")
185 uuid(02ba3b52-0547-11d1-b833-00c04fc9b31f)
187 interface IBrowserService : IUnknown
189 HRESULT GetParentSite(
190 [out] IOleInPlaceSite **ppipsite);
193 [in] IShellView *psv,
194 [in] LPCWSTR pszName);
197 [in] IShellView *psv,
198 [out, size_is(cchName)] LPWSTR pszName,
201 HRESULT GetOleObject(
202 [out] IOleObject **ppobjv);
204 HRESULT GetTravelLog(
205 [out, optional] ITravelLog **pptl);
207 HRESULT ShowControlWindow(
211 HRESULT IsControlWindowShown(
213 [out] BOOL *pfShown);
215 HRESULT IEGetDisplayName(
216 [in] PCIDLIST_ABSOLUTE pidl,
217 [out] LPWSTR pwszName,
220 HRESULT IEParseDisplayName(
222 [in] LPCWSTR pwszPath,
223 [out] PIDLIST_ABSOLUTE *ppidlOut);
225 HRESULT DisplayParseError(
227 [in] LPCWSTR pwszPath);
229 HRESULT NavigateToPidl(
230 [in] PCIDLIST_ABSOLUTE pidl,
233 HRESULT SetNavigateState(
234 [in] BNSTATE bnstate);
236 HRESULT GetNavigateState(
237 [out] BNSTATE *pbnstate);
239 HRESULT NotifyRedirect(
240 [in] IShellView *psv,
241 [in] PCIDLIST_ABSOLUTE pidl,
242 [out] BOOL *pfDidBrowse);
244 HRESULT UpdateWindowList();
246 HRESULT UpdateBackForwardState();
250 [in] DWORD dwFlagMask);
253 [out] DWORD *pdwFlags);
255 HRESULT CanNavigateNow();
258 [out] PIDLIST_ABSOLUTE *ppidl);
261 [in] PCIDLIST_ABSOLUTE pidl);
263 DWORD GetBrowserIndex();
265 HRESULT GetBrowserByIndex(
267 [out] IUnknown **ppunk);
269 HRESULT GetHistoryObject(
270 [out] IOleObject **ppole,
271 [out] IStream **pstm,
272 [out] IBindCtx **ppbc);
274 HRESULT SetHistoryObject(
275 [in] IOleObject *pole,
276 [in] BOOL fIsLocalAnchor);
278 HRESULT CacheOLEServer(
279 [in] IOleObject *pole);
281 HRESULT GetSetCodePage(
282 [in] VARIANT *pvarIn,
283 [out] VARIANT *pvarOut);
286 [in] IShellView *psv,
288 [in] VARIANT *pvarargIn,
289 [out] VARIANT *pvarargOut);
292 [out] HPALETTE *hpal);
294 HRESULT RegisterWindow(
295 [in] BOOL fForceRegister,
302 uuid(5836fb00-8187-11cf-a12b-00aa004ae837)
304 interface IShellService : IUnknown
306 HRESULT SetOwner( [in] IUnknown *pUnk );
310 typedef HANDLE HMONITOR;
314 SECURELOCK_NOCHANGE = -1,
315 SECURELOCK_SET_UNSECURE = 0,
316 SECURELOCK_SET_MIXED = 1,
317 SECURELOCK_SET_SECUREUNKNOWNBIT = 2,
318 SECURELOCK_SET_SECURE40BIT = 3,
319 SECURELOCK_SET_SECURE56BIT = 4,
320 SECURELOCK_SET_FORTEZZA = 5,
321 SECURELOCK_SET_SECURE128BIT = 6,
322 SECURELOCK_FIRSTSUGGEST = 7,
323 SECURELOCK_SUGGEST_UNSECURE = SECURELOCK_FIRSTSUGGEST,
324 SECURELOCK_SUGGEST_MIXED = 8,
325 SECURELOCK_SUGGEST_SECUREUNKNOWNBIT = 9,
326 SECURELOCK_SUGGEST_SECURE40BIT = 10,
327 SECURELOCK_SUGGEST_SECURE56BIT = 11,
328 SECURELOCK_SUGGEST_FORTEZZA = 12,
329 SECURELOCK_SUGGEST_SECURE128BIT = 13,
337 IWebBrowser2 *_pautoWB2;
338 IExpDispSupport *_pautoEDS;
339 IShellService *_pautoSS;
340 int _eSecureLockIcon;
341 DWORD _fCreatingViewWindow;
342 UINT _uActivateState;
344 LPCITEMIDLIST _pidlNewShellView;
346 IOleCommandTarget *_pctView;
348 LPITEMIDLIST _pidlCur;
354 LPITEMIDLIST _pidlPending;
355 IShellView *_psvPending;
356 IShellFolder *_psfPending;
357 HWND _hwndViewPending;
358 LPWSTR _pszTitlePending;
361 BOOL _fPrivacyImpacted;
363 } BASEBROWSERDATA, *LPBASEBROWSERDATA;
364 typedef const BASEBROWSERDATA *LPCBASEBROWSERDATA;
366 cpp_quote("#define VIEW_PRIORITY_RESTRICTED 0x00000070")
367 cpp_quote("#define VIEW_PRIORITY_CACHEHIT 0x00000050")
368 cpp_quote("#define VIEW_PRIORITY_STALECACHEHIT 0x00000045")
369 cpp_quote("#define VIEW_PRIORITY_USEASDEFAULT 0x00000043")
370 cpp_quote("#define VIEW_PRIORITY_SHELLEXT 0x00000040")
371 cpp_quote("#define VIEW_PRIORITY_CACHEMISS 0x00000030")
372 cpp_quote("#define VIEW_PRIORITY_INHERIT 0x00000020")
373 cpp_quote("#define VIEW_PRIORITY_SHELLEXT_ASBACKUP 0x0015")
374 cpp_quote("#define VIEW_PRIORITY_DESPERATE 0x00000010")
375 cpp_quote("#define VIEW_PRIORITY_NONE 0x00000000")
377 typedef struct tagFolderSetData {
379 SHELLVIEWID _vidRestore;
380 DWORD _dwViewPriority;
381 } FOLDERSETDATA, *LPFOLDERSETDATA;
383 typedef struct SToolbarItem {
384 IDockingWindow *ptbar;
385 BORDERWIDTHS rcBorderTool;
389 } TOOLBARITEM, *LPTOOLBARITEM;
391 cpp_quote("#define ITB_VIEW ((UINT)-1)")
396 uuid(68BD21CC-438B-11d2-A560-00A0C92DBFE8)
398 interface IBrowserService2 : IBrowserService
403 [in, out] WPARAM wParam,
404 [in, out] LPARAM lParam);
406 HRESULT SetAsDefFolderSettings();
409 [in, out] RECT *prc);
415 [in] struct tagCREATESTRUCTW *pcs);
424 [in, out] struct tagNMHDR *pnm);
426 HRESULT OnSetFocus();
428 HRESULT OnFrameWindowActivateBS(
431 HRESULT ReleaseShellView();
433 HRESULT ActivatePendingView();
435 HRESULT CreateViewWindow(
436 [in] IShellView *psvNew,
437 [in] IShellView *psvOld,
438 [out] LPRECT prcView,
441 HRESULT CreateBrowserPropSheetExt(
445 HRESULT GetViewWindow(
446 [out] HWND *phwndView);
448 HRESULT GetBaseBrowserData(
449 [in, out] LPCBASEBROWSERDATA *pbbd);
451 LPBASEBROWSERDATA PutBaseBrowserData();
453 HRESULT InitializeTravelLog(
454 [in] ITravelLog *ptl,
457 HRESULT SetTopBrowser();
462 HRESULT AllowViewResize(
465 HRESULT SetActivateState(
468 HRESULT UpdateSecureLockIcon(
469 [in] int eSecureLock);
471 HRESULT InitializeDownloadManager();
473 HRESULT InitializeTransitionSite();
477 [in] IUnknown *pauto);
479 HRESULT _CancelPendingNavigationAsync();
481 HRESULT _CancelPendingView();
483 HRESULT _MaySaveChanges();
485 HRESULT _PauseOrResumeView(
488 HRESULT _DisableModeless();
490 HRESULT _NavigateToPidl(
491 [in] LPCITEMIDLIST pidl,
495 HRESULT _TryShell2Rename(
496 [in] IShellView *psv,
497 [in] LPCITEMIDLIST pidlNew);
499 HRESULT _SwitchActivationNow();
501 HRESULT _ExecChildren(
502 [in] IUnknown *punkBar,
503 [in] BOOL fBroadcast,
504 [in] const GUID *pguidCmdGroup,
506 [in] DWORD nCmdexecopt,
507 [in] VARIANTARG *pvarargIn,
508 [in, out] VARIANTARG *pvarargOut);
510 HRESULT _SendChildren(
512 [in] BOOL fBroadcast,
514 [in, out] WPARAM wParam,
515 [in, out] LPARAM lParam);
517 HRESULT GetFolderSetData(
518 [in, out] struct tagFolderSetData *pfsd);
520 HRESULT _OnFocusChange(
523 HRESULT v_ShowHideChildWindows(
524 [in] BOOL fChildOnly);
526 UINT _get_itbLastFocus();
528 HRESULT _put_itbLastFocus(
529 [in] UINT itbLastFocus);
531 HRESULT _UIActivateView(
534 HRESULT _GetViewBorderRect(
535 [in, out] RECT* prc);
537 HRESULT _UpdateViewRectSize();
539 HRESULT _ResizeNextBorder(
542 HRESULT _ResizeView();
544 HRESULT _GetEffectiveClientArea(
545 [in, out] LPRECT lprectBorder,
548 IStream* v_GetViewStream(
549 [in] LPCITEMIDLIST pidl,
551 [in] LPCWSTR pwszName);
553 LRESULT ForwardViewMsg(
558 HRESULT SetAcceleratorMenu(
561 int _GetToolbarCount();
563 LPTOOLBARITEM _GetToolbarItem(
566 HRESULT _SaveToolbars(
569 HRESULT _LoadToolbars(
572 HRESULT _CloseAndReleaseToolbars(
575 HRESULT v_MayGetNextToolbarFocus(
579 [out] LPTOOLBARITEM *pptbi,
582 HRESULT _ResizeNextBorderHelper(
584 [in] BOOL bUseHmonitor);
587 [in] IUnknown *punkSrc);
590 [in] LPTOOLBARITEM ptbi,
594 HRESULT v_MayTranslateAccelerator(
597 HRESULT _GetBorderDWHelper(
598 [in] IUnknown *punkSrc,
599 [in] LPRECT lprectBorder,
600 [in] BOOL bUseHmonitor);
602 HRESULT v_CheckZoneCrossing(
603 [in, out] LPCITEMIDLIST pidl);