wine/include/shdeprecated.idl
2011-12-21 15:08:17 +01:00

605 lines
15 KiB
Plaintext

/*
* Deprecated shell interfaces
*
* Copyright (C) 2010 Nikolay Sivov for CodeWeavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
import "objidl.idl";
import "ocidl.idl";
import "shtypes.idl";
import "shobjidl.idl";
import "hlink.idl";
import "exdisp.idl";
cpp_quote("#define TLOG_BACK -1")
cpp_quote("#define TLOG_FORE 1")
cpp_quote("#define TLMENUF_INCLUDECURRENT 0x00000001")
cpp_quote("#define TLMENUF_CHECKCURRENT (TLMENUF_INCLUDECURRENT | 0x00000002)")
cpp_quote("#define TLMENUF_BACK 0x00000010")
cpp_quote("#define TLMENUF_FORE 0x00000020")
cpp_quote("#define TLMENUF_BACKANDFORTH (TLMENUF_BACK | TLMENUF_FORE | TLMENUF_INCLUDECURRENT)")
[
hidden,
local,
object,
uuid(F46EDB3B-BC2F-11d0-9412-00AA00A3EBD3)
]
interface ITravelEntry : IUnknown
{
HRESULT Invoke(
[in] IUnknown *punk);
HRESULT Update(
[in] IUnknown *punk,
[in] BOOL fIsLocalAnchor);
HRESULT GetPidl(
[out] LPITEMIDLIST *ppidl);
};
[
hidden,
local,
object,
uuid(66A9CB08-4802-11d2-A561-00A0C92DBFE8)
]
interface ITravelLog : IUnknown
{
HRESULT AddEntry(
[in] IUnknown *punk,
[in] BOOL fIsLocalAnchor);
HRESULT UpdateEntry(
[in] IUnknown *punk,
[in] BOOL fIsLocalAnchor);
HRESULT UpdateExternal(
[in] IUnknown *punk,
[in] IUnknown *punkHLBrowseContext);
HRESULT Travel(
[in] IUnknown *punk,
[in] int iOffset);
HRESULT GetTravelEntry(
[in] IUnknown *punk,
[in] int iOffset,
[optional, out] ITravelEntry **ppte);
HRESULT FindTravelEntry(
[in] IUnknown *punk,
[in] LPCITEMIDLIST pidl,
[out] ITravelEntry **ppte);
HRESULT GetToolTipText(
[in] IUnknown *punk,
[in] int iOffset,
[in] int idsTemplate,
[out, size_is(cchText)] LPWSTR pwzText,
[in] DWORD cchText);
HRESULT InsertMenuEntries(
[in] IUnknown *punk,
[in] HMENU hmenu,
[in] int nPos,
[in] int idFirst,
[in] int idLast,
[in] DWORD dwFlags);
HRESULT Clone(
[out] ITravelLog **pptl);
DWORD CountEntries(
[in] IUnknown *punk);
HRESULT Revert();
};
typedef void *CIE4ConnectionPoint;
[
local,
object,
uuid(0D7D1D00-6FC0-11D0-A974-00C04FD705A2)
]
interface IExpDispSupport : IUnknown
{
HRESULT FindCIE4ConnectionPoint(
REFIID riid,
CIE4ConnectionPoint **ppccp);
HRESULT OnTranslateAccelerator(
MSG *pMsg,
DWORD grfModifiers);
HRESULT OnInvoke(
DISPID dispidMember,
REFIID iid,
LCID lcid,
WORD wFlags,
DISPPARAMS *pdispparams,
VARIANT *pVarResult,
EXCEPINFO *pexcepinfo,
UINT *puArgErr);
};
typedef enum tagBNSTATE
{
BNS_NORMAL = 0,
BNS_BEGIN_NAVIGATE = 1,
BNS_NAVIGATE = 2
} BNSTATE;
enum {
SBSC_HIDE = 0,
SBSC_SHOW = 1,
SBSC_TOGGLE = 2,
SBSC_QUERY = 3
};
cpp_quote("#define BSF_REGISTERASDROPTARGET 0x00000001")
cpp_quote("#define BSF_THEATERMODE 0x00000002")
cpp_quote("#define BSF_NOLOCALFILEWARNING 0x00000010")
cpp_quote("#define BSF_UISETBYAUTOMATION 0x00000100")
cpp_quote("#define BSF_RESIZABLE 0x00000200")
cpp_quote("#define BSF_CANMAXIMIZE 0x00000400")
cpp_quote("#define BSF_TOPBROWSER 0x00000800")
cpp_quote("#define BSF_NAVNOHISTORY 0x00001000")
cpp_quote("#define BSF_HTMLNAVCANCELED 0x00002000")
cpp_quote("#define BSF_DONTSHOWNAVCANCELPAGE 0x00004000")
cpp_quote("#define BSF_SETNAVIGATABLECODEPAGE 0x00008000")
cpp_quote("#define BSF_DELEGATEDNAVIGATION 0x00010000")
cpp_quote("#define BSF_TRUSTEDFORACTIVEX 0x00020000")
cpp_quote("#define HLNF_CALLERUNTRUSTED 0x00200000")
cpp_quote("#define HLNF_TRUSTEDFORACTIVEX 0x00400000")
cpp_quote("#define HLNF_DISABLEWINDOWRESTRICTIONS 0x00800000")
cpp_quote("#define HLNF_TRUSTFIRSTDOWNLOAD 0x01000000")
cpp_quote("#define HLNF_UNTRUSTEDFORDOWNLOAD 0x02000000")
cpp_quote("#define SHHLNF_NOAUTOSELECT 0x04000000")
cpp_quote("#define SHHLNF_WRITENOHISTORY 0x08000000")
cpp_quote("#define HLNF_EXTERNALNAVIGATE 0x10000000")
cpp_quote("#define HLNF_ALLOW_AUTONAVIGATE 0x20000000")
cpp_quote("#define HLNF_NEWWINDOWSMANAGED 0x80000000")
[
local,
object,
uuid(02ba3b52-0547-11d1-b833-00c04fc9b31f)
]
interface IBrowserService : IUnknown
{
HRESULT GetParentSite(
[out] IOleInPlaceSite **ppipsite);
HRESULT SetTitle(
[in] IShellView *psv,
[in] LPCWSTR pszName);
HRESULT GetTitle(
[in] IShellView *psv,
[out, size_is(cchName)] LPWSTR pszName,
[in] DWORD cchName);
HRESULT GetOleObject(
[out] IOleObject **ppobjv);
HRESULT GetTravelLog(
[out, optional] ITravelLog **pptl);
HRESULT ShowControlWindow(
[in] UINT id,
[in] BOOL fShow);
HRESULT IsControlWindowShown(
[in] UINT id,
[out] BOOL *pfShown);
HRESULT IEGetDisplayName(
[in] PCIDLIST_ABSOLUTE pidl,
[out] LPWSTR pwszName,
[in] UINT uFlags);
HRESULT IEParseDisplayName(
[in] UINT uiCP,
[in] LPCWSTR pwszPath,
[out] PIDLIST_ABSOLUTE *ppidlOut);
HRESULT DisplayParseError(
[in] HRESULT hres,
[in] LPCWSTR pwszPath);
HRESULT NavigateToPidl(
[in] PCIDLIST_ABSOLUTE pidl,
[in] DWORD grfHLNF);
HRESULT SetNavigateState(
[in] BNSTATE bnstate);
HRESULT GetNavigateState(
[out] BNSTATE *pbnstate);
HRESULT NotifyRedirect(
[in] IShellView *psv,
[in] PCIDLIST_ABSOLUTE pidl,
[out] BOOL *pfDidBrowse);
HRESULT UpdateWindowList();
HRESULT UpdateBackForwardState();
HRESULT SetFlags(
[in] DWORD dwFlags,
[in] DWORD dwFlagMask);
HRESULT GetFlags(
[out] DWORD *pdwFlags);
HRESULT CanNavigateNow();
HRESULT GetPidl(
[out] PIDLIST_ABSOLUTE *ppidl);
HRESULT SetReferrer(
[in] PCIDLIST_ABSOLUTE pidl);
DWORD GetBrowserIndex();
HRESULT GetBrowserByIndex(
[in] DWORD dwID,
[out] IUnknown **ppunk);
HRESULT GetHistoryObject(
[out] IOleObject **ppole,
[out] IStream **pstm,
[out] IBindCtx **ppbc);
HRESULT SetHistoryObject(
[in] IOleObject *pole,
[in] BOOL fIsLocalAnchor);
HRESULT CacheOLEServer(
[in] IOleObject *pole);
HRESULT GetSetCodePage(
[in] VARIANT *pvarIn,
[out] VARIANT *pvarOut);
HRESULT OnHttpEquiv(
[in] IShellView *psv,
[in] BOOL fDone,
[in] VARIANT *pvarargIn,
[out] VARIANT *pvarargOut);
HRESULT GetPalette(
[out] HPALETTE *hpal);
HRESULT RegisterWindow(
[in] BOOL fForceRegister,
[in] int swc);
}
[
object,
local,
uuid(5836fb00-8187-11cf-a12b-00aa004ae837)
]
interface IShellService : IUnknown
{
HRESULT SetOwner( [in] IUnknown *pUnk );
}
cpp_quote("#if 0")
typedef HANDLE HMONITOR;
cpp_quote("#endif")
enum {
SECURELOCK_NOCHANGE = -1,
SECURELOCK_SET_UNSECURE = 0,
SECURELOCK_SET_MIXED = 1,
SECURELOCK_SET_SECUREUNKNOWNBIT = 2,
SECURELOCK_SET_SECURE40BIT = 3,
SECURELOCK_SET_SECURE56BIT = 4,
SECURELOCK_SET_FORTEZZA = 5,
SECURELOCK_SET_SECURE128BIT = 6,
SECURELOCK_FIRSTSUGGEST = 7,
SECURELOCK_SUGGEST_UNSECURE = SECURELOCK_FIRSTSUGGEST,
SECURELOCK_SUGGEST_MIXED = 8,
SECURELOCK_SUGGEST_SECUREUNKNOWNBIT = 9,
SECURELOCK_SUGGEST_SECURE40BIT = 10,
SECURELOCK_SUGGEST_SECURE56BIT = 11,
SECURELOCK_SUGGEST_FORTEZZA = 12,
SECURELOCK_SUGGEST_SECURE128BIT = 13,
};
typedef struct {
HWND _hwnd;
ITravelLog *_ptl;
IHlinkFrame *_phlf;
IWebBrowser2 *_pautoWB2;
IExpDispSupport *_pautoEDS;
IShellService *_pautoSS;
int _eSecureLockIcon;
DWORD _fCreatingViewWindow;
UINT _uActivateState;
LPCITEMIDLIST _pidlNewShellView;
IOleCommandTarget *_pctView;
LPITEMIDLIST _pidlCur;
IShellView *_psv;
IShellFolder *_psf;
HWND _hwndView;
LPWSTR _pszTitleCur;
LPITEMIDLIST _pidlPending;
IShellView *_psvPending;
IShellFolder *_psfPending;
HWND _hwndViewPending;
LPWSTR _pszTitlePending;
BOOL _fIsViewMSHTML;
BOOL _fPrivacyImpacted;
} BASEBROWSERDATA, *LPBASEBROWSERDATA;
typedef const BASEBROWSERDATA *LPCBASEBROWSERDATA;
cpp_quote("#define VIEW_PRIORITY_RESTRICTED 0x00000070")
cpp_quote("#define VIEW_PRIORITY_CACHEHIT 0x00000050")
cpp_quote("#define VIEW_PRIORITY_STALECACHEHIT 0x00000045")
cpp_quote("#define VIEW_PRIORITY_USEASDEFAULT 0x00000043")
cpp_quote("#define VIEW_PRIORITY_SHELLEXT 0x00000040")
cpp_quote("#define VIEW_PRIORITY_CACHEMISS 0x00000030")
cpp_quote("#define VIEW_PRIORITY_INHERIT 0x00000020")
cpp_quote("#define VIEW_PRIORITY_SHELLEXT_ASBACKUP 0x0015")
cpp_quote("#define VIEW_PRIORITY_DESPERATE 0x00000010")
cpp_quote("#define VIEW_PRIORITY_NONE 0x00000000")
typedef struct tagFolderSetData {
FOLDERSETTINGS _fs;
SHELLVIEWID _vidRestore;
DWORD _dwViewPriority;
} FOLDERSETDATA, *LPFOLDERSETDATA;
typedef struct SToolbarItem {
IDockingWindow *ptbar;
BORDERWIDTHS rcBorderTool;
LPWSTR pwszItem;
BOOL fShow;
HMONITOR hMon;
} TOOLBARITEM, *LPTOOLBARITEM;
cpp_quote("#define ITB_VIEW ((UINT)-1)")
[
local,
object,
uuid(68BD21CC-438B-11d2-A560-00A0C92DBFE8)
]
interface IBrowserService2 : IBrowserService
{
LRESULT WndProcBS(
[in] HWND hwnd,
[in] UINT uMsg,
[in, out] WPARAM wParam,
[in, out] LPARAM lParam);
HRESULT SetAsDefFolderSettings();
HRESULT GetViewRect(
[in, out] RECT *prc);
HRESULT OnSize(
[in] WPARAM wParam);
HRESULT OnCreate(
[in] struct tagCREATESTRUCTW *pcs);
LRESULT OnCommand(
[in] WPARAM wParam,
[in] LPARAM lParam);
HRESULT OnDestroy();
LRESULT OnNotify(
[in, out] struct tagNMHDR *pnm);
HRESULT OnSetFocus();
HRESULT OnFrameWindowActivateBS(
[in] BOOL fActive);
HRESULT ReleaseShellView();
HRESULT ActivatePendingView();
HRESULT CreateViewWindow(
[in] IShellView *psvNew,
[in] IShellView *psvOld,
[out] LPRECT prcView,
[out] HWND *phwnd);
HRESULT CreateBrowserPropSheetExt(
[in] REFIID riid,
[out] void **ppv);
HRESULT GetViewWindow(
[out] HWND *phwndView);
HRESULT GetBaseBrowserData(
[in, out] LPCBASEBROWSERDATA *pbbd);
LPBASEBROWSERDATA PutBaseBrowserData();
HRESULT InitializeTravelLog(
[in] ITravelLog *ptl,
[in] DWORD dw);
HRESULT SetTopBrowser();
HRESULT Offline(
[in] int iCmd);
HRESULT AllowViewResize(
[in] BOOL f);
HRESULT SetActivateState(
[in] UINT u);
HRESULT UpdateSecureLockIcon(
[in] int eSecureLock);
HRESULT InitializeDownloadManager();
HRESULT InitializeTransitionSite();
HRESULT _Initialize(
[in] HWND hwnd,
[in] IUnknown *pauto);
HRESULT _CancelPendingNavigationAsync();
HRESULT _CancelPendingView();
HRESULT _MaySaveChanges();
HRESULT _PauseOrResumeView(
[in] BOOL fPaused);
HRESULT _DisableModeless();
HRESULT _NavigateToPidl(
[in] LPCITEMIDLIST pidl,
[in] DWORD grfHLNF,
[in] DWORD dwFlags);
HRESULT _TryShell2Rename(
[in] IShellView *psv,
[in] LPCITEMIDLIST pidlNew);
HRESULT _SwitchActivationNow();
HRESULT _ExecChildren(
[in] IUnknown *punkBar,
[in] BOOL fBroadcast,
[in] const GUID *pguidCmdGroup,
[in] DWORD nCmdID,
[in] DWORD nCmdexecopt,
[in] VARIANTARG *pvarargIn,
[in, out] VARIANTARG *pvarargOut);
HRESULT _SendChildren(
[in] HWND hwndBar,
[in] BOOL fBroadcast,
[in] UINT uMsg,
[in, out] WPARAM wParam,
[in, out] LPARAM lParam);
HRESULT GetFolderSetData(
[in, out] struct tagFolderSetData *pfsd);
HRESULT _OnFocusChange(
[in] UINT itb);
HRESULT v_ShowHideChildWindows(
[in] BOOL fChildOnly);
UINT _get_itbLastFocus();
HRESULT _put_itbLastFocus(
[in] UINT itbLastFocus);
HRESULT _UIActivateView(
[in] UINT uState);
HRESULT _GetViewBorderRect(
[in, out] RECT* prc);
HRESULT _UpdateViewRectSize();
HRESULT _ResizeNextBorder(
[in] UINT itb);
HRESULT _ResizeView();
HRESULT _GetEffectiveClientArea(
[in, out] LPRECT lprectBorder,
[in] HMONITOR hmon);
IStream* v_GetViewStream(
[in] LPCITEMIDLIST pidl,
[in] DWORD grfMode,
[in] LPCWSTR pwszName);
LRESULT ForwardViewMsg(
[in] UINT uMsg,
[in] WPARAM wParam,
[in] LPARAM lParam);
HRESULT SetAcceleratorMenu(
[in] HACCEL hacc);
int _GetToolbarCount();
LPTOOLBARITEM _GetToolbarItem(
[in] int itb);
HRESULT _SaveToolbars(
[in] IStream *pstm);
HRESULT _LoadToolbars(
[in] IStream *pstm);
HRESULT _CloseAndReleaseToolbars(
[in] BOOL fClose);
HRESULT v_MayGetNextToolbarFocus(
[in] LPMSG lpMsg,
[in] UINT itbNext,
[in] int citb,
[out] LPTOOLBARITEM *pptbi,
[out] HWND *phwnd);
HRESULT _ResizeNextBorderHelper(
[in] UINT itb,
[in] BOOL bUseHmonitor);
UINT _FindTBar(
[in] IUnknown *punkSrc);
HRESULT _SetFocus(
[in] LPTOOLBARITEM ptbi,
[in] HWND hwnd,
[in] LPMSG lpMsg);
HRESULT v_MayTranslateAccelerator(
[in] MSG* pmsg);
HRESULT _GetBorderDWHelper(
[in] IUnknown *punkSrc,
[in] LPRECT lprectBorder,
[in] BOOL bUseHmonitor);
HRESULT v_CheckZoneCrossing(
[in, out] LPCITEMIDLIST pidl);
};