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)")
37 cpp_quote
("#ifndef INTERNET_MAX_URL_LENGTH")
38 cpp_quote
("#define INTERNET_MAX_PATH_LENGTH 2048")
39 cpp_quote
("#define INTERNET_MAX_SCHEME_LENGTH 32")
40 cpp_quote
("#define INTERNET_MAX_URL_LENGTH (INTERNET_MAX_SCHEME_LENGTH + sizeof(\"://\")+ INTERNET_MAX_PATH_LENGTH)")
47 uuid(F46EDB3B
-BC2F
-11d0
-9412-00AA00A3EBD3
)
49 interface ITravelEntry
: IUnknown
56 [in] BOOL fIsLocalAnchor
);
59 [out] LPITEMIDLIST
*ppidl
);
66 uuid(66A9CB08
-4802-11d2
-A561
-00A0C92DBFE8
)
68 interface ITravelLog
: IUnknown
72 [in] BOOL fIsLocalAnchor
);
76 [in] BOOL fIsLocalAnchor
);
78 HRESULT UpdateExternal
(
80 [in] IUnknown
*punkHLBrowseContext
);
86 HRESULT GetTravelEntry
(
89 [optional, out] ITravelEntry
**ppte
);
91 HRESULT FindTravelEntry
(
93 [in] LPCITEMIDLIST pidl
,
94 [out] ITravelEntry
**ppte
);
96 HRESULT GetToolTipText
(
100 [out, size_is(cchText
)] LPWSTR pwzText
,
103 HRESULT InsertMenuEntries
(
112 [out] ITravelLog
**pptl
);
115 [in] IUnknown
*punk
);
120 typedef void *CIE4ConnectionPoint
;
125 uuid(0D7D1D00
-6FC0
-11D0
-A974
-00C04FD705A2
)
127 interface IExpDispSupport
: IUnknown
129 HRESULT FindCIE4ConnectionPoint
(
131 CIE4ConnectionPoint
**ppccp
);
133 HRESULT OnTranslateAccelerator
(
142 DISPPARAMS
*pdispparams
,
144 EXCEPINFO
*pexcepinfo
,
148 typedef enum tagBNSTATE
151 BNS_BEGIN_NAVIGATE
= 1,
163 cpp_quote
("#define BSF_REGISTERASDROPTARGET 0x00000001")
164 cpp_quote
("#define BSF_THEATERMODE 0x00000002")
165 cpp_quote
("#define BSF_NOLOCALFILEWARNING 0x00000010")
166 cpp_quote
("#define BSF_UISETBYAUTOMATION 0x00000100")
167 cpp_quote
("#define BSF_RESIZABLE 0x00000200")
168 cpp_quote
("#define BSF_CANMAXIMIZE 0x00000400")
169 cpp_quote
("#define BSF_TOPBROWSER 0x00000800")
170 cpp_quote
("#define BSF_NAVNOHISTORY 0x00001000")
171 cpp_quote
("#define BSF_HTMLNAVCANCELED 0x00002000")
172 cpp_quote
("#define BSF_DONTSHOWNAVCANCELPAGE 0x00004000")
173 cpp_quote
("#define BSF_SETNAVIGATABLECODEPAGE 0x00008000")
174 cpp_quote
("#define BSF_DELEGATEDNAVIGATION 0x00010000")
175 cpp_quote
("#define BSF_TRUSTEDFORACTIVEX 0x00020000")
177 cpp_quote
("#define HLNF_CALLERUNTRUSTED 0x00200000")
178 cpp_quote
("#define HLNF_TRUSTEDFORACTIVEX 0x00400000")
179 cpp_quote
("#define HLNF_DISABLEWINDOWRESTRICTIONS 0x00800000")
180 cpp_quote
("#define HLNF_TRUSTFIRSTDOWNLOAD 0x01000000")
181 cpp_quote
("#define HLNF_UNTRUSTEDFORDOWNLOAD 0x02000000")
182 cpp_quote
("#define SHHLNF_NOAUTOSELECT 0x04000000")
183 cpp_quote
("#define SHHLNF_WRITENOHISTORY 0x08000000")
184 cpp_quote
("#define HLNF_EXTERNALNAVIGATE 0x10000000")
185 cpp_quote
("#define HLNF_ALLOW_AUTONAVIGATE 0x20000000")
186 cpp_quote
("#define HLNF_NEWWINDOWSMANAGED 0x80000000")
191 uuid(02ba3b52
-0547-11d1
-b833
-00c04fc9b31f
)
193 interface IBrowserService
: IUnknown
195 HRESULT GetParentSite
(
196 [out] IOleInPlaceSite
**ppipsite
);
199 [in] IShellView
*psv
,
200 [in] LPCWSTR pszName
);
203 [in] IShellView
*psv
,
204 [out, size_is(cchName
)] LPWSTR pszName
,
207 HRESULT GetOleObject
(
208 [out] IOleObject
**ppobjv
);
210 HRESULT GetTravelLog
(
211 [out, optional] ITravelLog
**pptl
);
213 HRESULT ShowControlWindow
(
217 HRESULT IsControlWindowShown
(
219 [out] BOOL
*pfShown
);
221 HRESULT IEGetDisplayName
(
222 [in] PCIDLIST_ABSOLUTE pidl
,
223 [out, size_is(INTERNET_MAX_URL_LENGTH
)] LPWSTR pwszName
,
226 HRESULT IEParseDisplayName
(
228 [in] LPCWSTR pwszPath
,
229 [out] PIDLIST_ABSOLUTE
*ppidlOut
);
231 HRESULT DisplayParseError
(
233 [in] LPCWSTR pwszPath
);
235 HRESULT NavigateToPidl
(
236 [in] PCIDLIST_ABSOLUTE pidl
,
239 HRESULT SetNavigateState
(
240 [in] BNSTATE bnstate
);
242 HRESULT GetNavigateState
(
243 [out] BNSTATE
*pbnstate
);
245 HRESULT NotifyRedirect
(
246 [in] IShellView
*psv
,
247 [in] PCIDLIST_ABSOLUTE pidl
,
248 [out] BOOL
*pfDidBrowse
);
250 HRESULT UpdateWindowList
();
252 HRESULT UpdateBackForwardState
();
256 [in] DWORD dwFlagMask
);
259 [out] DWORD
*pdwFlags
);
261 HRESULT CanNavigateNow
();
264 [out] PIDLIST_ABSOLUTE
*ppidl
);
267 [in] PCIDLIST_ABSOLUTE pidl
);
269 DWORD GetBrowserIndex
();
271 HRESULT GetBrowserByIndex
(
273 [out] IUnknown
**ppunk
);
275 HRESULT GetHistoryObject
(
276 [out] IOleObject
**ppole
,
277 [out] IStream
**pstm
,
278 [out] IBindCtx
**ppbc
);
280 HRESULT SetHistoryObject
(
281 [in] IOleObject
*pole
,
282 [in] BOOL fIsLocalAnchor
);
284 HRESULT CacheOLEServer
(
285 [in] IOleObject
*pole
);
287 HRESULT GetSetCodePage
(
288 [in] VARIANT *pvarIn
,
289 [out] VARIANT *pvarOut
);
292 [in] IShellView
*psv
,
294 [in] VARIANT *pvarargIn
,
295 [out] VARIANT *pvarargOut
);
298 [out] HPALETTE *hpal
);
300 HRESULT RegisterWindow
(
301 [in] BOOL fForceRegister
,
308 uuid(5836fb00
-8187-11cf
-a12b
-00aa004ae837
)
310 interface IShellService
: IUnknown
312 HRESULT SetOwner
( [in] IUnknown
*pUnk
);
316 typedef HANDLE HMONITOR
;
320 SECURELOCK_NOCHANGE
= -1,
321 SECURELOCK_SET_UNSECURE
= 0,
322 SECURELOCK_SET_MIXED
= 1,
323 SECURELOCK_SET_SECUREUNKNOWNBIT
= 2,
324 SECURELOCK_SET_SECURE40BIT
= 3,
325 SECURELOCK_SET_SECURE56BIT
= 4,
326 SECURELOCK_SET_FORTEZZA
= 5,
327 SECURELOCK_SET_SECURE128BIT
= 6,
328 SECURELOCK_FIRSTSUGGEST
= 7,
329 SECURELOCK_SUGGEST_UNSECURE
= SECURELOCK_FIRSTSUGGEST
,
330 SECURELOCK_SUGGEST_MIXED
= 8,
331 SECURELOCK_SUGGEST_SECUREUNKNOWNBIT
= 9,
332 SECURELOCK_SUGGEST_SECURE40BIT
= 10,
333 SECURELOCK_SUGGEST_SECURE56BIT
= 11,
334 SECURELOCK_SUGGEST_FORTEZZA
= 12,
335 SECURELOCK_SUGGEST_SECURE128BIT
= 13,
343 IWebBrowser2
*_pautoWB2
;
344 IExpDispSupport
*_pautoEDS
;
345 IShellService
*_pautoSS
;
346 int _eSecureLockIcon
;
347 DWORD _fCreatingViewWindow
;
348 UINT _uActivateState
;
350 LPCITEMIDLIST _pidlNewShellView
;
352 IOleCommandTarget
*_pctView
;
354 LPITEMIDLIST _pidlCur
;
360 LPITEMIDLIST _pidlPending
;
361 IShellView
*_psvPending
;
362 IShellFolder
*_psfPending
;
363 HWND _hwndViewPending
;
364 LPWSTR _pszTitlePending
;
367 BOOL _fPrivacyImpacted
;
369 } BASEBROWSERDATA
, *LPBASEBROWSERDATA
;
370 typedef const BASEBROWSERDATA
*LPCBASEBROWSERDATA
;
372 cpp_quote
("#define VIEW_PRIORITY_RESTRICTED 0x00000070")
373 cpp_quote
("#define VIEW_PRIORITY_CACHEHIT 0x00000050")
374 cpp_quote
("#define VIEW_PRIORITY_STALECACHEHIT 0x00000045")
375 cpp_quote
("#define VIEW_PRIORITY_USEASDEFAULT 0x00000043")
376 cpp_quote
("#define VIEW_PRIORITY_SHELLEXT 0x00000040")
377 cpp_quote
("#define VIEW_PRIORITY_CACHEMISS 0x00000030")
378 cpp_quote
("#define VIEW_PRIORITY_INHERIT 0x00000020")
379 cpp_quote
("#define VIEW_PRIORITY_SHELLEXT_ASBACKUP 0x0015")
380 cpp_quote
("#define VIEW_PRIORITY_DESPERATE 0x00000010")
381 cpp_quote
("#define VIEW_PRIORITY_NONE 0x00000000")
383 typedef struct tagFolderSetData
{
385 SHELLVIEWID _vidRestore
;
386 DWORD _dwViewPriority
;
387 } FOLDERSETDATA
, *LPFOLDERSETDATA
;
389 typedef struct SToolbarItem
{
390 IDockingWindow
*ptbar
;
391 BORDERWIDTHS rcBorderTool
;
395 } TOOLBARITEM
, *LPTOOLBARITEM
;
397 cpp_quote
("#define ITB_VIEW ((UINT)-1)")
402 uuid(68BD21CC
-438B
-11d2
-A560
-00A0C92DBFE8
)
404 interface IBrowserService2
: IBrowserService
412 HRESULT SetAsDefFolderSettings
();
415 [in, out] RECT
*prc
);
421 [in] struct tagCREATESTRUCTW
*pcs
);
430 [in, out] struct tagNMHDR
*pnm
);
432 HRESULT OnSetFocus
();
434 HRESULT OnFrameWindowActivateBS
(
437 HRESULT ReleaseShellView
();
439 HRESULT ActivatePendingView
();
441 HRESULT CreateViewWindow
(
442 [in] IShellView
*psvNew
,
443 [in] IShellView
*psvOld
,
444 [out] LPRECT prcView
,
447 HRESULT CreateBrowserPropSheetExt
(
451 HRESULT GetViewWindow
(
452 [out] HWND
*phwndView
);
454 HRESULT GetBaseBrowserData
(
455 [in, out] LPCBASEBROWSERDATA
*pbbd
);
457 LPBASEBROWSERDATA PutBaseBrowserData
();
459 HRESULT InitializeTravelLog
(
460 [in] ITravelLog
*ptl
,
463 HRESULT SetTopBrowser
();
468 HRESULT AllowViewResize
(
471 HRESULT SetActivateState
(
474 HRESULT UpdateSecureLockIcon
(
475 [in] int eSecureLock
);
477 HRESULT InitializeDownloadManager
();
479 HRESULT InitializeTransitionSite
();
483 [in] IUnknown
*pauto
);
485 HRESULT _CancelPendingNavigationAsync
();
487 HRESULT _CancelPendingView
();
489 HRESULT _MaySaveChanges
();
491 HRESULT _PauseOrResumeView
(
494 HRESULT _DisableModeless
();
496 HRESULT _NavigateToPidl
(
497 [in] LPCITEMIDLIST pidl
,
501 HRESULT _TryShell2Rename
(
502 [in] IShellView
*psv
,
503 [in] LPCITEMIDLIST pidlNew
);
505 HRESULT _SwitchActivationNow
();
507 HRESULT _ExecChildren
(
508 [in] IUnknown
*punkBar
,
509 [in] BOOL fBroadcast
,
510 [in] const GUID
*pguidCmdGroup
,
512 [in] DWORD nCmdexecopt
,
513 [in] VARIANTARG
*pvarargIn
,
514 [in, out] VARIANTARG
*pvarargOut
);
516 HRESULT _SendChildren
(
518 [in] BOOL fBroadcast
,
523 HRESULT GetFolderSetData
(
524 [in, out] struct tagFolderSetData
*pfsd
);
526 HRESULT _OnFocusChange
(
529 HRESULT v_ShowHideChildWindows
(
530 [in] BOOL fChildOnly
);
532 UINT _get_itbLastFocus
();
534 HRESULT _put_itbLastFocus
(
535 [in] UINT itbLastFocus
);
537 HRESULT _UIActivateView
(
540 HRESULT _GetViewBorderRect
(
541 [in, out] RECT
* prc
);
543 HRESULT _UpdateViewRectSize
();
545 HRESULT _ResizeNextBorder
(
548 HRESULT _ResizeView
();
550 HRESULT _GetEffectiveClientArea
(
551 [in, out] LPRECT lprectBorder
,
554 IStream
* v_GetViewStream
(
555 [in] LPCITEMIDLIST pidl
,
557 [in] LPCWSTR pwszName
);
559 LRESULT ForwardViewMsg
(
564 HRESULT SetAcceleratorMenu
(
567 int _GetToolbarCount
();
569 LPTOOLBARITEM _GetToolbarItem
(
572 HRESULT _SaveToolbars
(
575 HRESULT _LoadToolbars
(
578 HRESULT _CloseAndReleaseToolbars
(
581 HRESULT v_MayGetNextToolbarFocus
(
585 [out] LPTOOLBARITEM
*pptbi
,
588 HRESULT _ResizeNextBorderHelper
(
590 [in] BOOL bUseHmonitor
);
593 [in] IUnknown
*punkSrc
);
596 [in] LPTOOLBARITEM ptbi
,
600 HRESULT v_MayTranslateAccelerator
(
603 HRESULT _GetBorderDWHelper
(
604 [in] IUnknown
*punkSrc
,
605 [in] LPRECT lprectBorder
,
606 [in] BOOL bUseHmonitor
);
608 HRESULT v_CheckZoneCrossing
(
609 [in, out] LPCITEMIDLIST pidl
);