/*** Autogenerated by WIDL 5.0 from shdeprecated.idl - Do not edit ***/

#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include <rpc.h>
#include <rpcndr.h>
#endif

#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif

#ifndef __shdeprecated_h__
#define __shdeprecated_h__

/* Forward declarations */

#ifndef __ITravelEntry_FWD_DEFINED__
#define __ITravelEntry_FWD_DEFINED__
typedef interface ITravelEntry ITravelEntry;
#ifdef __cplusplus
interface ITravelEntry;
#endif /* __cplusplus */
#endif

#ifndef __ITravelLog_FWD_DEFINED__
#define __ITravelLog_FWD_DEFINED__
typedef interface ITravelLog ITravelLog;
#ifdef __cplusplus
interface ITravelLog;
#endif /* __cplusplus */
#endif

#ifndef __IExpDispSupport_FWD_DEFINED__
#define __IExpDispSupport_FWD_DEFINED__
typedef interface IExpDispSupport IExpDispSupport;
#ifdef __cplusplus
interface IExpDispSupport;
#endif /* __cplusplus */
#endif

#ifndef __IBrowserService_FWD_DEFINED__
#define __IBrowserService_FWD_DEFINED__
typedef interface IBrowserService IBrowserService;
#ifdef __cplusplus
interface IBrowserService;
#endif /* __cplusplus */
#endif

#ifndef __IShellService_FWD_DEFINED__
#define __IShellService_FWD_DEFINED__
typedef interface IShellService IShellService;
#ifdef __cplusplus
interface IShellService;
#endif /* __cplusplus */
#endif

#ifndef __IBrowserService2_FWD_DEFINED__
#define __IBrowserService2_FWD_DEFINED__
typedef interface IBrowserService2 IBrowserService2;
#ifdef __cplusplus
interface IBrowserService2;
#endif /* __cplusplus */
#endif

/* Headers for imported files */

#include <objidl.h>
#include <ocidl.h>
#include <shtypes.h>
#include <shobjidl.h>
#include <hlink.h>
#include <exdisp.h>

#ifdef __cplusplus
extern "C" {
#endif

#define TLOG_BACK    -1
#define TLOG_FORE    1
#define TLMENUF_INCLUDECURRENT   0x00000001
#define TLMENUF_CHECKCURRENT     (TLMENUF_INCLUDECURRENT | 0x00000002)
#define TLMENUF_BACK             0x00000010
#define TLMENUF_FORE             0x00000020
#define TLMENUF_BACKANDFORTH     (TLMENUF_BACK | TLMENUF_FORE | TLMENUF_INCLUDECURRENT)
#ifndef INTERNET_MAX_URL_LENGTH
#define INTERNET_MAX_PATH_LENGTH   2048
#define INTERNET_MAX_SCHEME_LENGTH   32
#define INTERNET_MAX_URL_LENGTH (INTERNET_MAX_SCHEME_LENGTH + sizeof("://")+ INTERNET_MAX_PATH_LENGTH)
#endif
/*****************************************************************************
 * ITravelEntry interface
 */
#ifndef __ITravelEntry_INTERFACE_DEFINED__
#define __ITravelEntry_INTERFACE_DEFINED__

DEFINE_GUID(IID_ITravelEntry, 0xf46edb3b, 0xbc2f, 0x11d0, 0x94,0x12, 0x00,0xaa,0x00,0xa3,0xeb,0xd3);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("f46edb3b-bc2f-11d0-9412-00aa00a3ebd3")
ITravelEntry : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE Invoke(
        IUnknown *punk) = 0;

    virtual HRESULT STDMETHODCALLTYPE Update(
        IUnknown *punk,
        BOOL fIsLocalAnchor) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetPidl(
        LPITEMIDLIST *ppidl) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ITravelEntry, 0xf46edb3b, 0xbc2f, 0x11d0, 0x94,0x12, 0x00,0xaa,0x00,0xa3,0xeb,0xd3)
#endif
#else
typedef struct ITravelEntryVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ITravelEntry *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ITravelEntry *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ITravelEntry *This);

    /*** ITravelEntry methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ITravelEntry *This,
        IUnknown *punk);

    HRESULT (STDMETHODCALLTYPE *Update)(
        ITravelEntry *This,
        IUnknown *punk,
        BOOL fIsLocalAnchor);

    HRESULT (STDMETHODCALLTYPE *GetPidl)(
        ITravelEntry *This,
        LPITEMIDLIST *ppidl);

    END_INTERFACE
} ITravelEntryVtbl;

interface ITravelEntry {
    CONST_VTBL ITravelEntryVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ITravelEntry_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ITravelEntry_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ITravelEntry_Release(This) (This)->lpVtbl->Release(This)
/*** ITravelEntry methods ***/
#define ITravelEntry_Invoke(This,punk) (This)->lpVtbl->Invoke(This,punk)
#define ITravelEntry_Update(This,punk,fIsLocalAnchor) (This)->lpVtbl->Update(This,punk,fIsLocalAnchor)
#define ITravelEntry_GetPidl(This,ppidl) (This)->lpVtbl->GetPidl(This,ppidl)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ITravelEntry_QueryInterface(ITravelEntry* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ITravelEntry_AddRef(ITravelEntry* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ITravelEntry_Release(ITravelEntry* This) {
    return This->lpVtbl->Release(This);
}
/*** ITravelEntry methods ***/
static FORCEINLINE HRESULT ITravelEntry_Invoke(ITravelEntry* This,IUnknown *punk) {
    return This->lpVtbl->Invoke(This,punk);
}
static FORCEINLINE HRESULT ITravelEntry_Update(ITravelEntry* This,IUnknown *punk,BOOL fIsLocalAnchor) {
    return This->lpVtbl->Update(This,punk,fIsLocalAnchor);
}
static FORCEINLINE HRESULT ITravelEntry_GetPidl(ITravelEntry* This,LPITEMIDLIST *ppidl) {
    return This->lpVtbl->GetPidl(This,ppidl);
}
#endif
#endif

#endif


#endif  /* __ITravelEntry_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ITravelLog interface
 */
#ifndef __ITravelLog_INTERFACE_DEFINED__
#define __ITravelLog_INTERFACE_DEFINED__

DEFINE_GUID(IID_ITravelLog, 0x66a9cb08, 0x4802, 0x11d2, 0xa5,0x61, 0x00,0xa0,0xc9,0x2d,0xbf,0xe8);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("66a9cb08-4802-11d2-a561-00a0c92dbfe8")
ITravelLog : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE AddEntry(
        IUnknown *punk,
        BOOL fIsLocalAnchor) = 0;

    virtual HRESULT STDMETHODCALLTYPE UpdateEntry(
        IUnknown *punk,
        BOOL fIsLocalAnchor) = 0;

    virtual HRESULT STDMETHODCALLTYPE UpdateExternal(
        IUnknown *punk,
        IUnknown *punkHLBrowseContext) = 0;

    virtual HRESULT STDMETHODCALLTYPE Travel(
        IUnknown *punk,
        int iOffset) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetTravelEntry(
        IUnknown *punk,
        int iOffset,
        ITravelEntry **ppte) = 0;

    virtual HRESULT STDMETHODCALLTYPE FindTravelEntry(
        IUnknown *punk,
        LPCITEMIDLIST pidl,
        ITravelEntry **ppte) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetToolTipText(
        IUnknown *punk,
        int iOffset,
        int idsTemplate,
        LPWSTR pwzText,
        DWORD cchText) = 0;

    virtual HRESULT STDMETHODCALLTYPE InsertMenuEntries(
        IUnknown *punk,
        HMENU hmenu,
        int nPos,
        int idFirst,
        int idLast,
        DWORD dwFlags) = 0;

    virtual HRESULT STDMETHODCALLTYPE Clone(
        ITravelLog **pptl) = 0;

    virtual DWORD STDMETHODCALLTYPE CountEntries(
        IUnknown *punk) = 0;

    virtual HRESULT STDMETHODCALLTYPE Revert(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ITravelLog, 0x66a9cb08, 0x4802, 0x11d2, 0xa5,0x61, 0x00,0xa0,0xc9,0x2d,0xbf,0xe8)
#endif
#else
typedef struct ITravelLogVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ITravelLog *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ITravelLog *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ITravelLog *This);

    /*** ITravelLog methods ***/
    HRESULT (STDMETHODCALLTYPE *AddEntry)(
        ITravelLog *This,
        IUnknown *punk,
        BOOL fIsLocalAnchor);

    HRESULT (STDMETHODCALLTYPE *UpdateEntry)(
        ITravelLog *This,
        IUnknown *punk,
        BOOL fIsLocalAnchor);

    HRESULT (STDMETHODCALLTYPE *UpdateExternal)(
        ITravelLog *This,
        IUnknown *punk,
        IUnknown *punkHLBrowseContext);

    HRESULT (STDMETHODCALLTYPE *Travel)(
        ITravelLog *This,
        IUnknown *punk,
        int iOffset);

    HRESULT (STDMETHODCALLTYPE *GetTravelEntry)(
        ITravelLog *This,
        IUnknown *punk,
        int iOffset,
        ITravelEntry **ppte);

    HRESULT (STDMETHODCALLTYPE *FindTravelEntry)(
        ITravelLog *This,
        IUnknown *punk,
        LPCITEMIDLIST pidl,
        ITravelEntry **ppte);

    HRESULT (STDMETHODCALLTYPE *GetToolTipText)(
        ITravelLog *This,
        IUnknown *punk,
        int iOffset,
        int idsTemplate,
        LPWSTR pwzText,
        DWORD cchText);

    HRESULT (STDMETHODCALLTYPE *InsertMenuEntries)(
        ITravelLog *This,
        IUnknown *punk,
        HMENU hmenu,
        int nPos,
        int idFirst,
        int idLast,
        DWORD dwFlags);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        ITravelLog *This,
        ITravelLog **pptl);

    DWORD (STDMETHODCALLTYPE *CountEntries)(
        ITravelLog *This,
        IUnknown *punk);

    HRESULT (STDMETHODCALLTYPE *Revert)(
        ITravelLog *This);

    END_INTERFACE
} ITravelLogVtbl;

interface ITravelLog {
    CONST_VTBL ITravelLogVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ITravelLog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ITravelLog_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ITravelLog_Release(This) (This)->lpVtbl->Release(This)
/*** ITravelLog methods ***/
#define ITravelLog_AddEntry(This,punk,fIsLocalAnchor) (This)->lpVtbl->AddEntry(This,punk,fIsLocalAnchor)
#define ITravelLog_UpdateEntry(This,punk,fIsLocalAnchor) (This)->lpVtbl->UpdateEntry(This,punk,fIsLocalAnchor)
#define ITravelLog_UpdateExternal(This,punk,punkHLBrowseContext) (This)->lpVtbl->UpdateExternal(This,punk,punkHLBrowseContext)
#define ITravelLog_Travel(This,punk,iOffset) (This)->lpVtbl->Travel(This,punk,iOffset)
#define ITravelLog_GetTravelEntry(This,punk,iOffset,ppte) (This)->lpVtbl->GetTravelEntry(This,punk,iOffset,ppte)
#define ITravelLog_FindTravelEntry(This,punk,pidl,ppte) (This)->lpVtbl->FindTravelEntry(This,punk,pidl,ppte)
#define ITravelLog_GetToolTipText(This,punk,iOffset,idsTemplate,pwzText,cchText) (This)->lpVtbl->GetToolTipText(This,punk,iOffset,idsTemplate,pwzText,cchText)
#define ITravelLog_InsertMenuEntries(This,punk,hmenu,nPos,idFirst,idLast,dwFlags) (This)->lpVtbl->InsertMenuEntries(This,punk,hmenu,nPos,idFirst,idLast,dwFlags)
#define ITravelLog_Clone(This,pptl) (This)->lpVtbl->Clone(This,pptl)
#define ITravelLog_CountEntries(This,punk) (This)->lpVtbl->CountEntries(This,punk)
#define ITravelLog_Revert(This) (This)->lpVtbl->Revert(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ITravelLog_QueryInterface(ITravelLog* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ITravelLog_AddRef(ITravelLog* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ITravelLog_Release(ITravelLog* This) {
    return This->lpVtbl->Release(This);
}
/*** ITravelLog methods ***/
static FORCEINLINE HRESULT ITravelLog_AddEntry(ITravelLog* This,IUnknown *punk,BOOL fIsLocalAnchor) {
    return This->lpVtbl->AddEntry(This,punk,fIsLocalAnchor);
}
static FORCEINLINE HRESULT ITravelLog_UpdateEntry(ITravelLog* This,IUnknown *punk,BOOL fIsLocalAnchor) {
    return This->lpVtbl->UpdateEntry(This,punk,fIsLocalAnchor);
}
static FORCEINLINE HRESULT ITravelLog_UpdateExternal(ITravelLog* This,IUnknown *punk,IUnknown *punkHLBrowseContext) {
    return This->lpVtbl->UpdateExternal(This,punk,punkHLBrowseContext);
}
static FORCEINLINE HRESULT ITravelLog_Travel(ITravelLog* This,IUnknown *punk,int iOffset) {
    return This->lpVtbl->Travel(This,punk,iOffset);
}
static FORCEINLINE HRESULT ITravelLog_GetTravelEntry(ITravelLog* This,IUnknown *punk,int iOffset,ITravelEntry **ppte) {
    return This->lpVtbl->GetTravelEntry(This,punk,iOffset,ppte);
}
static FORCEINLINE HRESULT ITravelLog_FindTravelEntry(ITravelLog* This,IUnknown *punk,LPCITEMIDLIST pidl,ITravelEntry **ppte) {
    return This->lpVtbl->FindTravelEntry(This,punk,pidl,ppte);
}
static FORCEINLINE HRESULT ITravelLog_GetToolTipText(ITravelLog* This,IUnknown *punk,int iOffset,int idsTemplate,LPWSTR pwzText,DWORD cchText) {
    return This->lpVtbl->GetToolTipText(This,punk,iOffset,idsTemplate,pwzText,cchText);
}
static FORCEINLINE HRESULT ITravelLog_InsertMenuEntries(ITravelLog* This,IUnknown *punk,HMENU hmenu,int nPos,int idFirst,int idLast,DWORD dwFlags) {
    return This->lpVtbl->InsertMenuEntries(This,punk,hmenu,nPos,idFirst,idLast,dwFlags);
}
static FORCEINLINE HRESULT ITravelLog_Clone(ITravelLog* This,ITravelLog **pptl) {
    return This->lpVtbl->Clone(This,pptl);
}
static FORCEINLINE DWORD ITravelLog_CountEntries(ITravelLog* This,IUnknown *punk) {
    return This->lpVtbl->CountEntries(This,punk);
}
static FORCEINLINE HRESULT ITravelLog_Revert(ITravelLog* This) {
    return This->lpVtbl->Revert(This);
}
#endif
#endif

#endif


#endif  /* __ITravelLog_INTERFACE_DEFINED__ */

typedef void *CIE4ConnectionPoint;
/*****************************************************************************
 * IExpDispSupport interface
 */
#ifndef __IExpDispSupport_INTERFACE_DEFINED__
#define __IExpDispSupport_INTERFACE_DEFINED__

DEFINE_GUID(IID_IExpDispSupport, 0x0d7d1d00, 0x6fc0, 0x11d0, 0xa9,0x74, 0x00,0xc0,0x4f,0xd7,0x05,0xa2);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("0d7d1d00-6fc0-11d0-a974-00c04fd705a2")
IExpDispSupport : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE FindCIE4ConnectionPoint(
        REFIID riid,
        CIE4ConnectionPoint **ppccp) = 0;

    virtual HRESULT STDMETHODCALLTYPE OnTranslateAccelerator(
        MSG *pMsg,
        DWORD grfModifiers) = 0;

    virtual HRESULT STDMETHODCALLTYPE OnInvoke(
        DISPID dispidMember,
        REFIID iid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pdispparams,
        VARIANT *pVarResult,
        EXCEPINFO *pexcepinfo,
        UINT *puArgErr) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IExpDispSupport, 0x0d7d1d00, 0x6fc0, 0x11d0, 0xa9,0x74, 0x00,0xc0,0x4f,0xd7,0x05,0xa2)
#endif
#else
typedef struct IExpDispSupportVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IExpDispSupport *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IExpDispSupport *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IExpDispSupport *This);

    /*** IExpDispSupport methods ***/
    HRESULT (STDMETHODCALLTYPE *FindCIE4ConnectionPoint)(
        IExpDispSupport *This,
        REFIID riid,
        CIE4ConnectionPoint **ppccp);

    HRESULT (STDMETHODCALLTYPE *OnTranslateAccelerator)(
        IExpDispSupport *This,
        MSG *pMsg,
        DWORD grfModifiers);

    HRESULT (STDMETHODCALLTYPE *OnInvoke)(
        IExpDispSupport *This,
        DISPID dispidMember,
        REFIID iid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pdispparams,
        VARIANT *pVarResult,
        EXCEPINFO *pexcepinfo,
        UINT *puArgErr);

    END_INTERFACE
} IExpDispSupportVtbl;

interface IExpDispSupport {
    CONST_VTBL IExpDispSupportVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IExpDispSupport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IExpDispSupport_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IExpDispSupport_Release(This) (This)->lpVtbl->Release(This)
/*** IExpDispSupport methods ***/
#define IExpDispSupport_FindCIE4ConnectionPoint(This,riid,ppccp) (This)->lpVtbl->FindCIE4ConnectionPoint(This,riid,ppccp)
#define IExpDispSupport_OnTranslateAccelerator(This,pMsg,grfModifiers) (This)->lpVtbl->OnTranslateAccelerator(This,pMsg,grfModifiers)
#define IExpDispSupport_OnInvoke(This,dispidMember,iid,lcid,wFlags,pdispparams,pVarResult,pexcepinfo,puArgErr) (This)->lpVtbl->OnInvoke(This,dispidMember,iid,lcid,wFlags,pdispparams,pVarResult,pexcepinfo,puArgErr)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IExpDispSupport_QueryInterface(IExpDispSupport* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IExpDispSupport_AddRef(IExpDispSupport* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IExpDispSupport_Release(IExpDispSupport* This) {
    return This->lpVtbl->Release(This);
}
/*** IExpDispSupport methods ***/
static FORCEINLINE HRESULT IExpDispSupport_FindCIE4ConnectionPoint(IExpDispSupport* This,REFIID riid,CIE4ConnectionPoint **ppccp) {
    return This->lpVtbl->FindCIE4ConnectionPoint(This,riid,ppccp);
}
static FORCEINLINE HRESULT IExpDispSupport_OnTranslateAccelerator(IExpDispSupport* This,MSG *pMsg,DWORD grfModifiers) {
    return This->lpVtbl->OnTranslateAccelerator(This,pMsg,grfModifiers);
}
static FORCEINLINE HRESULT IExpDispSupport_OnInvoke(IExpDispSupport* This,DISPID dispidMember,REFIID iid,LCID lcid,WORD wFlags,DISPPARAMS *pdispparams,VARIANT *pVarResult,EXCEPINFO *pexcepinfo,UINT *puArgErr) {
    return This->lpVtbl->OnInvoke(This,dispidMember,iid,lcid,wFlags,pdispparams,pVarResult,pexcepinfo,puArgErr);
}
#endif
#endif

#endif


#endif  /* __IExpDispSupport_INTERFACE_DEFINED__ */

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
};
#define BSF_REGISTERASDROPTARGET     0x00000001
#define BSF_THEATERMODE              0x00000002
#define BSF_NOLOCALFILEWARNING       0x00000010
#define BSF_UISETBYAUTOMATION        0x00000100
#define BSF_RESIZABLE                0x00000200
#define BSF_CANMAXIMIZE              0x00000400
#define BSF_TOPBROWSER               0x00000800
#define BSF_NAVNOHISTORY             0x00001000
#define BSF_HTMLNAVCANCELED          0x00002000
#define BSF_DONTSHOWNAVCANCELPAGE    0x00004000
#define BSF_SETNAVIGATABLECODEPAGE   0x00008000
#define BSF_DELEGATEDNAVIGATION      0x00010000
#define BSF_TRUSTEDFORACTIVEX        0x00020000
#define HLNF_CALLERUNTRUSTED             0x00200000
#define HLNF_TRUSTEDFORACTIVEX           0x00400000
#define HLNF_DISABLEWINDOWRESTRICTIONS   0x00800000
#define HLNF_TRUSTFIRSTDOWNLOAD          0x01000000
#define HLNF_UNTRUSTEDFORDOWNLOAD        0x02000000
#define SHHLNF_NOAUTOSELECT              0x04000000
#define SHHLNF_WRITENOHISTORY            0x08000000
#define HLNF_EXTERNALNAVIGATE            0x10000000
#define HLNF_ALLOW_AUTONAVIGATE          0x20000000
#define HLNF_NEWWINDOWSMANAGED           0x80000000
/*****************************************************************************
 * IBrowserService interface
 */
#ifndef __IBrowserService_INTERFACE_DEFINED__
#define __IBrowserService_INTERFACE_DEFINED__

DEFINE_GUID(IID_IBrowserService, 0x02ba3b52, 0x0547, 0x11d1, 0xb8,0x33, 0x00,0xc0,0x4f,0xc9,0xb3,0x1f);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("02ba3b52-0547-11d1-b833-00c04fc9b31f")
IBrowserService : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetParentSite(
        IOleInPlaceSite **ppipsite) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetTitle(
        IShellView *psv,
        LPCWSTR pszName) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetTitle(
        IShellView *psv,
        LPWSTR pszName,
        DWORD cchName) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetOleObject(
        IOleObject **ppobjv) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetTravelLog(
        ITravelLog **pptl) = 0;

    virtual HRESULT STDMETHODCALLTYPE ShowControlWindow(
        UINT id,
        BOOL fShow) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsControlWindowShown(
        UINT id,
        BOOL *pfShown) = 0;

    virtual HRESULT STDMETHODCALLTYPE IEGetDisplayName(
        PCIDLIST_ABSOLUTE pidl,
        LPWSTR pwszName,
        UINT uFlags) = 0;

    virtual HRESULT STDMETHODCALLTYPE IEParseDisplayName(
        UINT uiCP,
        LPCWSTR pwszPath,
        PIDLIST_ABSOLUTE *ppidlOut) = 0;

    virtual HRESULT STDMETHODCALLTYPE DisplayParseError(
        HRESULT hres,
        LPCWSTR pwszPath) = 0;

    virtual HRESULT STDMETHODCALLTYPE NavigateToPidl(
        PCIDLIST_ABSOLUTE pidl,
        DWORD grfHLNF) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetNavigateState(
        BNSTATE bnstate) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetNavigateState(
        BNSTATE *pbnstate) = 0;

    virtual HRESULT STDMETHODCALLTYPE NotifyRedirect(
        IShellView *psv,
        PCIDLIST_ABSOLUTE pidl,
        BOOL *pfDidBrowse) = 0;

    virtual HRESULT STDMETHODCALLTYPE UpdateWindowList(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE UpdateBackForwardState(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetFlags(
        DWORD dwFlags,
        DWORD dwFlagMask) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetFlags(
        DWORD *pdwFlags) = 0;

    virtual HRESULT STDMETHODCALLTYPE CanNavigateNow(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetPidl(
        PIDLIST_ABSOLUTE *ppidl) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetReferrer(
        PCIDLIST_ABSOLUTE pidl) = 0;

    virtual DWORD STDMETHODCALLTYPE GetBrowserIndex(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetBrowserByIndex(
        DWORD dwID,
        IUnknown **ppunk) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetHistoryObject(
        IOleObject **ppole,
        IStream **pstm,
        IBindCtx **ppbc) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetHistoryObject(
        IOleObject *pole,
        BOOL fIsLocalAnchor) = 0;

    virtual HRESULT STDMETHODCALLTYPE CacheOLEServer(
        IOleObject *pole) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetSetCodePage(
        VARIANT *pvarIn,
        VARIANT *pvarOut) = 0;

    virtual HRESULT STDMETHODCALLTYPE OnHttpEquiv(
        IShellView *psv,
        BOOL fDone,
        VARIANT *pvarargIn,
        VARIANT *pvarargOut) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetPalette(
        HPALETTE *hpal) = 0;

    virtual HRESULT STDMETHODCALLTYPE RegisterWindow(
        BOOL fForceRegister,
        int swc) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IBrowserService, 0x02ba3b52, 0x0547, 0x11d1, 0xb8,0x33, 0x00,0xc0,0x4f,0xc9,0xb3,0x1f)
#endif
#else
typedef struct IBrowserServiceVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IBrowserService *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IBrowserService *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IBrowserService *This);

    /*** IBrowserService methods ***/
    HRESULT (STDMETHODCALLTYPE *GetParentSite)(
        IBrowserService *This,
        IOleInPlaceSite **ppipsite);

    HRESULT (STDMETHODCALLTYPE *SetTitle)(
        IBrowserService *This,
        IShellView *psv,
        LPCWSTR pszName);

    HRESULT (STDMETHODCALLTYPE *GetTitle)(
        IBrowserService *This,
        IShellView *psv,
        LPWSTR pszName,
        DWORD cchName);

    HRESULT (STDMETHODCALLTYPE *GetOleObject)(
        IBrowserService *This,
        IOleObject **ppobjv);

    HRESULT (STDMETHODCALLTYPE *GetTravelLog)(
        IBrowserService *This,
        ITravelLog **pptl);

    HRESULT (STDMETHODCALLTYPE *ShowControlWindow)(
        IBrowserService *This,
        UINT id,
        BOOL fShow);

    HRESULT (STDMETHODCALLTYPE *IsControlWindowShown)(
        IBrowserService *This,
        UINT id,
        BOOL *pfShown);

    HRESULT (STDMETHODCALLTYPE *IEGetDisplayName)(
        IBrowserService *This,
        PCIDLIST_ABSOLUTE pidl,
        LPWSTR pwszName,
        UINT uFlags);

    HRESULT (STDMETHODCALLTYPE *IEParseDisplayName)(
        IBrowserService *This,
        UINT uiCP,
        LPCWSTR pwszPath,
        PIDLIST_ABSOLUTE *ppidlOut);

    HRESULT (STDMETHODCALLTYPE *DisplayParseError)(
        IBrowserService *This,
        HRESULT hres,
        LPCWSTR pwszPath);

    HRESULT (STDMETHODCALLTYPE *NavigateToPidl)(
        IBrowserService *This,
        PCIDLIST_ABSOLUTE pidl,
        DWORD grfHLNF);

    HRESULT (STDMETHODCALLTYPE *SetNavigateState)(
        IBrowserService *This,
        BNSTATE bnstate);

    HRESULT (STDMETHODCALLTYPE *GetNavigateState)(
        IBrowserService *This,
        BNSTATE *pbnstate);

    HRESULT (STDMETHODCALLTYPE *NotifyRedirect)(
        IBrowserService *This,
        IShellView *psv,
        PCIDLIST_ABSOLUTE pidl,
        BOOL *pfDidBrowse);

    HRESULT (STDMETHODCALLTYPE *UpdateWindowList)(
        IBrowserService *This);

    HRESULT (STDMETHODCALLTYPE *UpdateBackForwardState)(
        IBrowserService *This);

    HRESULT (STDMETHODCALLTYPE *SetFlags)(
        IBrowserService *This,
        DWORD dwFlags,
        DWORD dwFlagMask);

    HRESULT (STDMETHODCALLTYPE *GetFlags)(
        IBrowserService *This,
        DWORD *pdwFlags);

    HRESULT (STDMETHODCALLTYPE *CanNavigateNow)(
        IBrowserService *This);

    HRESULT (STDMETHODCALLTYPE *GetPidl)(
        IBrowserService *This,
        PIDLIST_ABSOLUTE *ppidl);

    HRESULT (STDMETHODCALLTYPE *SetReferrer)(
        IBrowserService *This,
        PCIDLIST_ABSOLUTE pidl);

    DWORD (STDMETHODCALLTYPE *GetBrowserIndex)(
        IBrowserService *This);

    HRESULT (STDMETHODCALLTYPE *GetBrowserByIndex)(
        IBrowserService *This,
        DWORD dwID,
        IUnknown **ppunk);

    HRESULT (STDMETHODCALLTYPE *GetHistoryObject)(
        IBrowserService *This,
        IOleObject **ppole,
        IStream **pstm,
        IBindCtx **ppbc);

    HRESULT (STDMETHODCALLTYPE *SetHistoryObject)(
        IBrowserService *This,
        IOleObject *pole,
        BOOL fIsLocalAnchor);

    HRESULT (STDMETHODCALLTYPE *CacheOLEServer)(
        IBrowserService *This,
        IOleObject *pole);

    HRESULT (STDMETHODCALLTYPE *GetSetCodePage)(
        IBrowserService *This,
        VARIANT *pvarIn,
        VARIANT *pvarOut);

    HRESULT (STDMETHODCALLTYPE *OnHttpEquiv)(
        IBrowserService *This,
        IShellView *psv,
        BOOL fDone,
        VARIANT *pvarargIn,
        VARIANT *pvarargOut);

    HRESULT (STDMETHODCALLTYPE *GetPalette)(
        IBrowserService *This,
        HPALETTE *hpal);

    HRESULT (STDMETHODCALLTYPE *RegisterWindow)(
        IBrowserService *This,
        BOOL fForceRegister,
        int swc);

    END_INTERFACE
} IBrowserServiceVtbl;

interface IBrowserService {
    CONST_VTBL IBrowserServiceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IBrowserService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IBrowserService_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IBrowserService_Release(This) (This)->lpVtbl->Release(This)
/*** IBrowserService methods ***/
#define IBrowserService_GetParentSite(This,ppipsite) (This)->lpVtbl->GetParentSite(This,ppipsite)
#define IBrowserService_SetTitle(This,psv,pszName) (This)->lpVtbl->SetTitle(This,psv,pszName)
#define IBrowserService_GetTitle(This,psv,pszName,cchName) (This)->lpVtbl->GetTitle(This,psv,pszName,cchName)
#define IBrowserService_GetOleObject(This,ppobjv) (This)->lpVtbl->GetOleObject(This,ppobjv)
#define IBrowserService_GetTravelLog(This,pptl) (This)->lpVtbl->GetTravelLog(This,pptl)
#define IBrowserService_ShowControlWindow(This,id,fShow) (This)->lpVtbl->ShowControlWindow(This,id,fShow)
#define IBrowserService_IsControlWindowShown(This,id,pfShown) (This)->lpVtbl->IsControlWindowShown(This,id,pfShown)
#define IBrowserService_IEGetDisplayName(This,pidl,pwszName,uFlags) (This)->lpVtbl->IEGetDisplayName(This,pidl,pwszName,uFlags)
#define IBrowserService_IEParseDisplayName(This,uiCP,pwszPath,ppidlOut) (This)->lpVtbl->IEParseDisplayName(This,uiCP,pwszPath,ppidlOut)
#define IBrowserService_DisplayParseError(This,hres,pwszPath) (This)->lpVtbl->DisplayParseError(This,hres,pwszPath)
#define IBrowserService_NavigateToPidl(This,pidl,grfHLNF) (This)->lpVtbl->NavigateToPidl(This,pidl,grfHLNF)
#define IBrowserService_SetNavigateState(This,bnstate) (This)->lpVtbl->SetNavigateState(This,bnstate)
#define IBrowserService_GetNavigateState(This,pbnstate) (This)->lpVtbl->GetNavigateState(This,pbnstate)
#define IBrowserService_NotifyRedirect(This,psv,pidl,pfDidBrowse) (This)->lpVtbl->NotifyRedirect(This,psv,pidl,pfDidBrowse)
#define IBrowserService_UpdateWindowList(This) (This)->lpVtbl->UpdateWindowList(This)
#define IBrowserService_UpdateBackForwardState(This) (This)->lpVtbl->UpdateBackForwardState(This)
#define IBrowserService_SetFlags(This,dwFlags,dwFlagMask) (This)->lpVtbl->SetFlags(This,dwFlags,dwFlagMask)
#define IBrowserService_GetFlags(This,pdwFlags) (This)->lpVtbl->GetFlags(This,pdwFlags)
#define IBrowserService_CanNavigateNow(This) (This)->lpVtbl->CanNavigateNow(This)
#define IBrowserService_GetPidl(This,ppidl) (This)->lpVtbl->GetPidl(This,ppidl)
#define IBrowserService_SetReferrer(This,pidl) (This)->lpVtbl->SetReferrer(This,pidl)
#define IBrowserService_GetBrowserIndex(This) (This)->lpVtbl->GetBrowserIndex(This)
#define IBrowserService_GetBrowserByIndex(This,dwID,ppunk) (This)->lpVtbl->GetBrowserByIndex(This,dwID,ppunk)
#define IBrowserService_GetHistoryObject(This,ppole,pstm,ppbc) (This)->lpVtbl->GetHistoryObject(This,ppole,pstm,ppbc)
#define IBrowserService_SetHistoryObject(This,pole,fIsLocalAnchor) (This)->lpVtbl->SetHistoryObject(This,pole,fIsLocalAnchor)
#define IBrowserService_CacheOLEServer(This,pole) (This)->lpVtbl->CacheOLEServer(This,pole)
#define IBrowserService_GetSetCodePage(This,pvarIn,pvarOut) (This)->lpVtbl->GetSetCodePage(This,pvarIn,pvarOut)
#define IBrowserService_OnHttpEquiv(This,psv,fDone,pvarargIn,pvarargOut) (This)->lpVtbl->OnHttpEquiv(This,psv,fDone,pvarargIn,pvarargOut)
#define IBrowserService_GetPalette(This,hpal) (This)->lpVtbl->GetPalette(This,hpal)
#define IBrowserService_RegisterWindow(This,fForceRegister,swc) (This)->lpVtbl->RegisterWindow(This,fForceRegister,swc)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IBrowserService_QueryInterface(IBrowserService* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IBrowserService_AddRef(IBrowserService* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IBrowserService_Release(IBrowserService* This) {
    return This->lpVtbl->Release(This);
}
/*** IBrowserService methods ***/
static FORCEINLINE HRESULT IBrowserService_GetParentSite(IBrowserService* This,IOleInPlaceSite **ppipsite) {
    return This->lpVtbl->GetParentSite(This,ppipsite);
}
static FORCEINLINE HRESULT IBrowserService_SetTitle(IBrowserService* This,IShellView *psv,LPCWSTR pszName) {
    return This->lpVtbl->SetTitle(This,psv,pszName);
}
static FORCEINLINE HRESULT IBrowserService_GetTitle(IBrowserService* This,IShellView *psv,LPWSTR pszName,DWORD cchName) {
    return This->lpVtbl->GetTitle(This,psv,pszName,cchName);
}
static FORCEINLINE HRESULT IBrowserService_GetOleObject(IBrowserService* This,IOleObject **ppobjv) {
    return This->lpVtbl->GetOleObject(This,ppobjv);
}
static FORCEINLINE HRESULT IBrowserService_GetTravelLog(IBrowserService* This,ITravelLog **pptl) {
    return This->lpVtbl->GetTravelLog(This,pptl);
}
static FORCEINLINE HRESULT IBrowserService_ShowControlWindow(IBrowserService* This,UINT id,BOOL fShow) {
    return This->lpVtbl->ShowControlWindow(This,id,fShow);
}
static FORCEINLINE HRESULT IBrowserService_IsControlWindowShown(IBrowserService* This,UINT id,BOOL *pfShown) {
    return This->lpVtbl->IsControlWindowShown(This,id,pfShown);
}
static FORCEINLINE HRESULT IBrowserService_IEGetDisplayName(IBrowserService* This,PCIDLIST_ABSOLUTE pidl,LPWSTR pwszName,UINT uFlags) {
    return This->lpVtbl->IEGetDisplayName(This,pidl,pwszName,uFlags);
}
static FORCEINLINE HRESULT IBrowserService_IEParseDisplayName(IBrowserService* This,UINT uiCP,LPCWSTR pwszPath,PIDLIST_ABSOLUTE *ppidlOut) {
    return This->lpVtbl->IEParseDisplayName(This,uiCP,pwszPath,ppidlOut);
}
static FORCEINLINE HRESULT IBrowserService_DisplayParseError(IBrowserService* This,HRESULT hres,LPCWSTR pwszPath) {
    return This->lpVtbl->DisplayParseError(This,hres,pwszPath);
}
static FORCEINLINE HRESULT IBrowserService_NavigateToPidl(IBrowserService* This,PCIDLIST_ABSOLUTE pidl,DWORD grfHLNF) {
    return This->lpVtbl->NavigateToPidl(This,pidl,grfHLNF);
}
static FORCEINLINE HRESULT IBrowserService_SetNavigateState(IBrowserService* This,BNSTATE bnstate) {
    return This->lpVtbl->SetNavigateState(This,bnstate);
}
static FORCEINLINE HRESULT IBrowserService_GetNavigateState(IBrowserService* This,BNSTATE *pbnstate) {
    return This->lpVtbl->GetNavigateState(This,pbnstate);
}
static FORCEINLINE HRESULT IBrowserService_NotifyRedirect(IBrowserService* This,IShellView *psv,PCIDLIST_ABSOLUTE pidl,BOOL *pfDidBrowse) {
    return This->lpVtbl->NotifyRedirect(This,psv,pidl,pfDidBrowse);
}
static FORCEINLINE HRESULT IBrowserService_UpdateWindowList(IBrowserService* This) {
    return This->lpVtbl->UpdateWindowList(This);
}
static FORCEINLINE HRESULT IBrowserService_UpdateBackForwardState(IBrowserService* This) {
    return This->lpVtbl->UpdateBackForwardState(This);
}
static FORCEINLINE HRESULT IBrowserService_SetFlags(IBrowserService* This,DWORD dwFlags,DWORD dwFlagMask) {
    return This->lpVtbl->SetFlags(This,dwFlags,dwFlagMask);
}
static FORCEINLINE HRESULT IBrowserService_GetFlags(IBrowserService* This,DWORD *pdwFlags) {
    return This->lpVtbl->GetFlags(This,pdwFlags);
}
static FORCEINLINE HRESULT IBrowserService_CanNavigateNow(IBrowserService* This) {
    return This->lpVtbl->CanNavigateNow(This);
}
static FORCEINLINE HRESULT IBrowserService_GetPidl(IBrowserService* This,PIDLIST_ABSOLUTE *ppidl) {
    return This->lpVtbl->GetPidl(This,ppidl);
}
static FORCEINLINE HRESULT IBrowserService_SetReferrer(IBrowserService* This,PCIDLIST_ABSOLUTE pidl) {
    return This->lpVtbl->SetReferrer(This,pidl);
}
static FORCEINLINE DWORD IBrowserService_GetBrowserIndex(IBrowserService* This) {
    return This->lpVtbl->GetBrowserIndex(This);
}
static FORCEINLINE HRESULT IBrowserService_GetBrowserByIndex(IBrowserService* This,DWORD dwID,IUnknown **ppunk) {
    return This->lpVtbl->GetBrowserByIndex(This,dwID,ppunk);
}
static FORCEINLINE HRESULT IBrowserService_GetHistoryObject(IBrowserService* This,IOleObject **ppole,IStream **pstm,IBindCtx **ppbc) {
    return This->lpVtbl->GetHistoryObject(This,ppole,pstm,ppbc);
}
static FORCEINLINE HRESULT IBrowserService_SetHistoryObject(IBrowserService* This,IOleObject *pole,BOOL fIsLocalAnchor) {
    return This->lpVtbl->SetHistoryObject(This,pole,fIsLocalAnchor);
}
static FORCEINLINE HRESULT IBrowserService_CacheOLEServer(IBrowserService* This,IOleObject *pole) {
    return This->lpVtbl->CacheOLEServer(This,pole);
}
static FORCEINLINE HRESULT IBrowserService_GetSetCodePage(IBrowserService* This,VARIANT *pvarIn,VARIANT *pvarOut) {
    return This->lpVtbl->GetSetCodePage(This,pvarIn,pvarOut);
}
static FORCEINLINE HRESULT IBrowserService_OnHttpEquiv(IBrowserService* This,IShellView *psv,BOOL fDone,VARIANT *pvarargIn,VARIANT *pvarargOut) {
    return This->lpVtbl->OnHttpEquiv(This,psv,fDone,pvarargIn,pvarargOut);
}
static FORCEINLINE HRESULT IBrowserService_GetPalette(IBrowserService* This,HPALETTE *hpal) {
    return This->lpVtbl->GetPalette(This,hpal);
}
static FORCEINLINE HRESULT IBrowserService_RegisterWindow(IBrowserService* This,BOOL fForceRegister,int swc) {
    return This->lpVtbl->RegisterWindow(This,fForceRegister,swc);
}
#endif
#endif

#endif


#endif  /* __IBrowserService_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IShellService interface
 */
#ifndef __IShellService_INTERFACE_DEFINED__
#define __IShellService_INTERFACE_DEFINED__

DEFINE_GUID(IID_IShellService, 0x5836fb00, 0x8187, 0x11cf, 0xa1,0x2b, 0x00,0xaa,0x00,0x4a,0xe8,0x37);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("5836fb00-8187-11cf-a12b-00aa004ae837")
IShellService : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE SetOwner(
        IUnknown *pUnk) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IShellService, 0x5836fb00, 0x8187, 0x11cf, 0xa1,0x2b, 0x00,0xaa,0x00,0x4a,0xe8,0x37)
#endif
#else
typedef struct IShellServiceVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IShellService *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IShellService *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IShellService *This);

    /*** IShellService methods ***/
    HRESULT (STDMETHODCALLTYPE *SetOwner)(
        IShellService *This,
        IUnknown *pUnk);

    END_INTERFACE
} IShellServiceVtbl;

interface IShellService {
    CONST_VTBL IShellServiceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IShellService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IShellService_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IShellService_Release(This) (This)->lpVtbl->Release(This)
/*** IShellService methods ***/
#define IShellService_SetOwner(This,pUnk) (This)->lpVtbl->SetOwner(This,pUnk)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IShellService_QueryInterface(IShellService* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IShellService_AddRef(IShellService* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IShellService_Release(IShellService* This) {
    return This->lpVtbl->Release(This);
}
/*** IShellService methods ***/
static FORCEINLINE HRESULT IShellService_SetOwner(IShellService* This,IUnknown *pUnk) {
    return This->lpVtbl->SetOwner(This,pUnk);
}
#endif
#endif

#endif


#endif  /* __IShellService_INTERFACE_DEFINED__ */

#if 0
typedef HANDLE HMONITOR;
#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 __WIDL_shdeprecated_generated_name_0000002E {
    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;
typedef struct __WIDL_shdeprecated_generated_name_0000002E *LPBASEBROWSERDATA;
typedef const BASEBROWSERDATA *LPCBASEBROWSERDATA;
#define VIEW_PRIORITY_RESTRICTED         0x00000070
#define VIEW_PRIORITY_CACHEHIT           0x00000050
#define VIEW_PRIORITY_STALECACHEHIT      0x00000045
#define VIEW_PRIORITY_USEASDEFAULT       0x00000043
#define VIEW_PRIORITY_SHELLEXT           0x00000040
#define VIEW_PRIORITY_CACHEMISS          0x00000030
#define VIEW_PRIORITY_INHERIT            0x00000020
#define VIEW_PRIORITY_SHELLEXT_ASBACKUP  0x0015
#define VIEW_PRIORITY_DESPERATE          0x00000010
#define VIEW_PRIORITY_NONE               0x00000000
typedef struct tagFolderSetData {
    FOLDERSETTINGS _fs;
    SHELLVIEWID _vidRestore;
    DWORD _dwViewPriority;
} FOLDERSETDATA;
typedef struct tagFolderSetData *LPFOLDERSETDATA;
typedef struct SToolbarItem {
    IDockingWindow *ptbar;
    BORDERWIDTHS rcBorderTool;
    LPWSTR pwszItem;
    BOOL fShow;
    HMONITOR hMon;
} TOOLBARITEM;
typedef struct SToolbarItem *LPTOOLBARITEM;
#define ITB_VIEW        ((UINT)-1)
/*****************************************************************************
 * IBrowserService2 interface
 */
#ifndef __IBrowserService2_INTERFACE_DEFINED__
#define __IBrowserService2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IBrowserService2, 0x68bd21cc, 0x438b, 0x11d2, 0xa5,0x60, 0x00,0xa0,0xc9,0x2d,0xbf,0xe8);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("68bd21cc-438b-11d2-a560-00a0c92dbfe8")
IBrowserService2 : public IBrowserService
{
    virtual LRESULT STDMETHODCALLTYPE WndProcBS(
        HWND hwnd,
        UINT uMsg,
        WPARAM wParam,
        LPARAM lParam) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetAsDefFolderSettings(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetViewRect(
        RECT *prc) = 0;

    virtual HRESULT STDMETHODCALLTYPE OnSize(
        WPARAM wParam) = 0;

    virtual HRESULT STDMETHODCALLTYPE OnCreate(
        struct tagCREATESTRUCTW *pcs) = 0;

    virtual LRESULT STDMETHODCALLTYPE OnCommand(
        WPARAM wParam,
        LPARAM lParam) = 0;

    virtual HRESULT STDMETHODCALLTYPE OnDestroy(
        ) = 0;

    virtual LRESULT STDMETHODCALLTYPE OnNotify(
        struct tagNMHDR *pnm) = 0;

    virtual HRESULT STDMETHODCALLTYPE OnSetFocus(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE OnFrameWindowActivateBS(
        BOOL fActive) = 0;

    virtual HRESULT STDMETHODCALLTYPE ReleaseShellView(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE ActivatePendingView(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE CreateViewWindow(
        IShellView *psvNew,
        IShellView *psvOld,
        LPRECT prcView,
        HWND *phwnd) = 0;

    virtual HRESULT STDMETHODCALLTYPE CreateBrowserPropSheetExt(
        REFIID riid,
        void **ppv) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetViewWindow(
        HWND *phwndView) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetBaseBrowserData(
        LPCBASEBROWSERDATA *pbbd) = 0;

    virtual LPBASEBROWSERDATA STDMETHODCALLTYPE PutBaseBrowserData(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE InitializeTravelLog(
        ITravelLog *ptl,
        DWORD dw) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetTopBrowser(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE Offline(
        int iCmd) = 0;

    virtual HRESULT STDMETHODCALLTYPE AllowViewResize(
        BOOL f) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetActivateState(
        UINT u) = 0;

    virtual HRESULT STDMETHODCALLTYPE UpdateSecureLockIcon(
        int eSecureLock) = 0;

    virtual HRESULT STDMETHODCALLTYPE InitializeDownloadManager(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE InitializeTransitionSite(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE _Initialize(
        HWND hwnd,
        IUnknown *pauto) = 0;

    virtual HRESULT STDMETHODCALLTYPE _CancelPendingNavigationAsync(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE _CancelPendingView(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE _MaySaveChanges(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE _PauseOrResumeView(
        BOOL fPaused) = 0;

    virtual HRESULT STDMETHODCALLTYPE _DisableModeless(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE _NavigateToPidl(
        LPCITEMIDLIST pidl,
        DWORD grfHLNF,
        DWORD dwFlags) = 0;

    virtual HRESULT STDMETHODCALLTYPE _TryShell2Rename(
        IShellView *psv,
        LPCITEMIDLIST pidlNew) = 0;

    virtual HRESULT STDMETHODCALLTYPE _SwitchActivationNow(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE _ExecChildren(
        IUnknown *punkBar,
        BOOL fBroadcast,
        const GUID *pguidCmdGroup,
        DWORD nCmdID,
        DWORD nCmdexecopt,
        VARIANTARG *pvarargIn,
        VARIANTARG *pvarargOut) = 0;

    virtual HRESULT STDMETHODCALLTYPE _SendChildren(
        HWND hwndBar,
        BOOL fBroadcast,
        UINT uMsg,
        WPARAM wParam,
        LPARAM lParam) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetFolderSetData(
        struct tagFolderSetData *pfsd) = 0;

    virtual HRESULT STDMETHODCALLTYPE _OnFocusChange(
        UINT itb) = 0;

    virtual HRESULT STDMETHODCALLTYPE v_ShowHideChildWindows(
        BOOL fChildOnly) = 0;

    virtual UINT STDMETHODCALLTYPE _get_itbLastFocus(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE _put_itbLastFocus(
        UINT itbLastFocus) = 0;

    virtual HRESULT STDMETHODCALLTYPE _UIActivateView(
        UINT uState) = 0;

    virtual HRESULT STDMETHODCALLTYPE _GetViewBorderRect(
        RECT *prc) = 0;

    virtual HRESULT STDMETHODCALLTYPE _UpdateViewRectSize(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE _ResizeNextBorder(
        UINT itb) = 0;

    virtual HRESULT STDMETHODCALLTYPE _ResizeView(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE _GetEffectiveClientArea(
        LPRECT lprectBorder,
        HMONITOR hmon) = 0;

    virtual IStream * STDMETHODCALLTYPE v_GetViewStream(
        LPCITEMIDLIST pidl,
        DWORD grfMode,
        LPCWSTR pwszName) = 0;

    virtual LRESULT STDMETHODCALLTYPE ForwardViewMsg(
        UINT uMsg,
        WPARAM wParam,
        LPARAM lParam) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetAcceleratorMenu(
        HACCEL hacc) = 0;

    virtual int STDMETHODCALLTYPE _GetToolbarCount(
        ) = 0;

    virtual LPTOOLBARITEM STDMETHODCALLTYPE _GetToolbarItem(
        int itb) = 0;

    virtual HRESULT STDMETHODCALLTYPE _SaveToolbars(
        IStream *pstm) = 0;

    virtual HRESULT STDMETHODCALLTYPE _LoadToolbars(
        IStream *pstm) = 0;

    virtual HRESULT STDMETHODCALLTYPE _CloseAndReleaseToolbars(
        BOOL fClose) = 0;

    virtual HRESULT STDMETHODCALLTYPE v_MayGetNextToolbarFocus(
        LPMSG lpMsg,
        UINT itbNext,
        int citb,
        LPTOOLBARITEM *pptbi,
        HWND *phwnd) = 0;

    virtual HRESULT STDMETHODCALLTYPE _ResizeNextBorderHelper(
        UINT itb,
        BOOL bUseHmonitor) = 0;

    virtual UINT STDMETHODCALLTYPE _FindTBar(
        IUnknown *punkSrc) = 0;

    virtual HRESULT STDMETHODCALLTYPE _SetFocus(
        LPTOOLBARITEM ptbi,
        HWND hwnd,
        LPMSG lpMsg) = 0;

    virtual HRESULT STDMETHODCALLTYPE v_MayTranslateAccelerator(
        MSG *pmsg) = 0;

    virtual HRESULT STDMETHODCALLTYPE _GetBorderDWHelper(
        IUnknown *punkSrc,
        LPRECT lprectBorder,
        BOOL bUseHmonitor) = 0;

    virtual HRESULT STDMETHODCALLTYPE v_CheckZoneCrossing(
        LPCITEMIDLIST pidl) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IBrowserService2, 0x68bd21cc, 0x438b, 0x11d2, 0xa5,0x60, 0x00,0xa0,0xc9,0x2d,0xbf,0xe8)
#endif
#else
typedef struct IBrowserService2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IBrowserService2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IBrowserService2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IBrowserService2 *This);

    /*** IBrowserService methods ***/
    HRESULT (STDMETHODCALLTYPE *GetParentSite)(
        IBrowserService2 *This,
        IOleInPlaceSite **ppipsite);

    HRESULT (STDMETHODCALLTYPE *SetTitle)(
        IBrowserService2 *This,
        IShellView *psv,
        LPCWSTR pszName);

    HRESULT (STDMETHODCALLTYPE *GetTitle)(
        IBrowserService2 *This,
        IShellView *psv,
        LPWSTR pszName,
        DWORD cchName);

    HRESULT (STDMETHODCALLTYPE *GetOleObject)(
        IBrowserService2 *This,
        IOleObject **ppobjv);

    HRESULT (STDMETHODCALLTYPE *GetTravelLog)(
        IBrowserService2 *This,
        ITravelLog **pptl);

    HRESULT (STDMETHODCALLTYPE *ShowControlWindow)(
        IBrowserService2 *This,
        UINT id,
        BOOL fShow);

    HRESULT (STDMETHODCALLTYPE *IsControlWindowShown)(
        IBrowserService2 *This,
        UINT id,
        BOOL *pfShown);

    HRESULT (STDMETHODCALLTYPE *IEGetDisplayName)(
        IBrowserService2 *This,
        PCIDLIST_ABSOLUTE pidl,
        LPWSTR pwszName,
        UINT uFlags);

    HRESULT (STDMETHODCALLTYPE *IEParseDisplayName)(
        IBrowserService2 *This,
        UINT uiCP,
        LPCWSTR pwszPath,
        PIDLIST_ABSOLUTE *ppidlOut);

    HRESULT (STDMETHODCALLTYPE *DisplayParseError)(
        IBrowserService2 *This,
        HRESULT hres,
        LPCWSTR pwszPath);

    HRESULT (STDMETHODCALLTYPE *NavigateToPidl)(
        IBrowserService2 *This,
        PCIDLIST_ABSOLUTE pidl,
        DWORD grfHLNF);

    HRESULT (STDMETHODCALLTYPE *SetNavigateState)(
        IBrowserService2 *This,
        BNSTATE bnstate);

    HRESULT (STDMETHODCALLTYPE *GetNavigateState)(
        IBrowserService2 *This,
        BNSTATE *pbnstate);

    HRESULT (STDMETHODCALLTYPE *NotifyRedirect)(
        IBrowserService2 *This,
        IShellView *psv,
        PCIDLIST_ABSOLUTE pidl,
        BOOL *pfDidBrowse);

    HRESULT (STDMETHODCALLTYPE *UpdateWindowList)(
        IBrowserService2 *This);

    HRESULT (STDMETHODCALLTYPE *UpdateBackForwardState)(
        IBrowserService2 *This);

    HRESULT (STDMETHODCALLTYPE *SetFlags)(
        IBrowserService2 *This,
        DWORD dwFlags,
        DWORD dwFlagMask);

    HRESULT (STDMETHODCALLTYPE *GetFlags)(
        IBrowserService2 *This,
        DWORD *pdwFlags);

    HRESULT (STDMETHODCALLTYPE *CanNavigateNow)(
        IBrowserService2 *This);

    HRESULT (STDMETHODCALLTYPE *GetPidl)(
        IBrowserService2 *This,
        PIDLIST_ABSOLUTE *ppidl);

    HRESULT (STDMETHODCALLTYPE *SetReferrer)(
        IBrowserService2 *This,
        PCIDLIST_ABSOLUTE pidl);

    DWORD (STDMETHODCALLTYPE *GetBrowserIndex)(
        IBrowserService2 *This);

    HRESULT (STDMETHODCALLTYPE *GetBrowserByIndex)(
        IBrowserService2 *This,
        DWORD dwID,
        IUnknown **ppunk);

    HRESULT (STDMETHODCALLTYPE *GetHistoryObject)(
        IBrowserService2 *This,
        IOleObject **ppole,
        IStream **pstm,
        IBindCtx **ppbc);

    HRESULT (STDMETHODCALLTYPE *SetHistoryObject)(
        IBrowserService2 *This,
        IOleObject *pole,
        BOOL fIsLocalAnchor);

    HRESULT (STDMETHODCALLTYPE *CacheOLEServer)(
        IBrowserService2 *This,
        IOleObject *pole);

    HRESULT (STDMETHODCALLTYPE *GetSetCodePage)(
        IBrowserService2 *This,
        VARIANT *pvarIn,
        VARIANT *pvarOut);

    HRESULT (STDMETHODCALLTYPE *OnHttpEquiv)(
        IBrowserService2 *This,
        IShellView *psv,
        BOOL fDone,
        VARIANT *pvarargIn,
        VARIANT *pvarargOut);

    HRESULT (STDMETHODCALLTYPE *GetPalette)(
        IBrowserService2 *This,
        HPALETTE *hpal);

    HRESULT (STDMETHODCALLTYPE *RegisterWindow)(
        IBrowserService2 *This,
        BOOL fForceRegister,
        int swc);

    /*** IBrowserService2 methods ***/
    LRESULT (STDMETHODCALLTYPE *WndProcBS)(
        IBrowserService2 *This,
        HWND hwnd,
        UINT uMsg,
        WPARAM wParam,
        LPARAM lParam);

    HRESULT (STDMETHODCALLTYPE *SetAsDefFolderSettings)(
        IBrowserService2 *This);

    HRESULT (STDMETHODCALLTYPE *GetViewRect)(
        IBrowserService2 *This,
        RECT *prc);

    HRESULT (STDMETHODCALLTYPE *OnSize)(
        IBrowserService2 *This,
        WPARAM wParam);

    HRESULT (STDMETHODCALLTYPE *OnCreate)(
        IBrowserService2 *This,
        struct tagCREATESTRUCTW *pcs);

    LRESULT (STDMETHODCALLTYPE *OnCommand)(
        IBrowserService2 *This,
        WPARAM wParam,
        LPARAM lParam);

    HRESULT (STDMETHODCALLTYPE *OnDestroy)(
        IBrowserService2 *This);

    LRESULT (STDMETHODCALLTYPE *OnNotify)(
        IBrowserService2 *This,
        struct tagNMHDR *pnm);

    HRESULT (STDMETHODCALLTYPE *OnSetFocus)(
        IBrowserService2 *This);

    HRESULT (STDMETHODCALLTYPE *OnFrameWindowActivateBS)(
        IBrowserService2 *This,
        BOOL fActive);

    HRESULT (STDMETHODCALLTYPE *ReleaseShellView)(
        IBrowserService2 *This);

    HRESULT (STDMETHODCALLTYPE *ActivatePendingView)(
        IBrowserService2 *This);

    HRESULT (STDMETHODCALLTYPE *CreateViewWindow)(
        IBrowserService2 *This,
        IShellView *psvNew,
        IShellView *psvOld,
        LPRECT prcView,
        HWND *phwnd);

    HRESULT (STDMETHODCALLTYPE *CreateBrowserPropSheetExt)(
        IBrowserService2 *This,
        REFIID riid,
        void **ppv);

    HRESULT (STDMETHODCALLTYPE *GetViewWindow)(
        IBrowserService2 *This,
        HWND *phwndView);

    HRESULT (STDMETHODCALLTYPE *GetBaseBrowserData)(
        IBrowserService2 *This,
        LPCBASEBROWSERDATA *pbbd);

    LPBASEBROWSERDATA (STDMETHODCALLTYPE *PutBaseBrowserData)(
        IBrowserService2 *This);

    HRESULT (STDMETHODCALLTYPE *InitializeTravelLog)(
        IBrowserService2 *This,
        ITravelLog *ptl,
        DWORD dw);

    HRESULT (STDMETHODCALLTYPE *SetTopBrowser)(
        IBrowserService2 *This);

    HRESULT (STDMETHODCALLTYPE *Offline)(
        IBrowserService2 *This,
        int iCmd);

    HRESULT (STDMETHODCALLTYPE *AllowViewResize)(
        IBrowserService2 *This,
        BOOL f);

    HRESULT (STDMETHODCALLTYPE *SetActivateState)(
        IBrowserService2 *This,
        UINT u);

    HRESULT (STDMETHODCALLTYPE *UpdateSecureLockIcon)(
        IBrowserService2 *This,
        int eSecureLock);

    HRESULT (STDMETHODCALLTYPE *InitializeDownloadManager)(
        IBrowserService2 *This);

    HRESULT (STDMETHODCALLTYPE *InitializeTransitionSite)(
        IBrowserService2 *This);

    HRESULT (STDMETHODCALLTYPE *_Initialize)(
        IBrowserService2 *This,
        HWND hwnd,
        IUnknown *pauto);

    HRESULT (STDMETHODCALLTYPE *_CancelPendingNavigationAsync)(
        IBrowserService2 *This);

    HRESULT (STDMETHODCALLTYPE *_CancelPendingView)(
        IBrowserService2 *This);

    HRESULT (STDMETHODCALLTYPE *_MaySaveChanges)(
        IBrowserService2 *This);

    HRESULT (STDMETHODCALLTYPE *_PauseOrResumeView)(
        IBrowserService2 *This,
        BOOL fPaused);

    HRESULT (STDMETHODCALLTYPE *_DisableModeless)(
        IBrowserService2 *This);

    HRESULT (STDMETHODCALLTYPE *_NavigateToPidl)(
        IBrowserService2 *This,
        LPCITEMIDLIST pidl,
        DWORD grfHLNF,
        DWORD dwFlags);

    HRESULT (STDMETHODCALLTYPE *_TryShell2Rename)(
        IBrowserService2 *This,
        IShellView *psv,
        LPCITEMIDLIST pidlNew);

    HRESULT (STDMETHODCALLTYPE *_SwitchActivationNow)(
        IBrowserService2 *This);

    HRESULT (STDMETHODCALLTYPE *_ExecChildren)(
        IBrowserService2 *This,
        IUnknown *punkBar,
        BOOL fBroadcast,
        const GUID *pguidCmdGroup,
        DWORD nCmdID,
        DWORD nCmdexecopt,
        VARIANTARG *pvarargIn,
        VARIANTARG *pvarargOut);

    HRESULT (STDMETHODCALLTYPE *_SendChildren)(
        IBrowserService2 *This,
        HWND hwndBar,
        BOOL fBroadcast,
        UINT uMsg,
        WPARAM wParam,
        LPARAM lParam);

    HRESULT (STDMETHODCALLTYPE *GetFolderSetData)(
        IBrowserService2 *This,
        struct tagFolderSetData *pfsd);

    HRESULT (STDMETHODCALLTYPE *_OnFocusChange)(
        IBrowserService2 *This,
        UINT itb);

    HRESULT (STDMETHODCALLTYPE *v_ShowHideChildWindows)(
        IBrowserService2 *This,
        BOOL fChildOnly);

    UINT (STDMETHODCALLTYPE *_get_itbLastFocus)(
        IBrowserService2 *This);

    HRESULT (STDMETHODCALLTYPE *_put_itbLastFocus)(
        IBrowserService2 *This,
        UINT itbLastFocus);

    HRESULT (STDMETHODCALLTYPE *_UIActivateView)(
        IBrowserService2 *This,
        UINT uState);

    HRESULT (STDMETHODCALLTYPE *_GetViewBorderRect)(
        IBrowserService2 *This,
        RECT *prc);

    HRESULT (STDMETHODCALLTYPE *_UpdateViewRectSize)(
        IBrowserService2 *This);

    HRESULT (STDMETHODCALLTYPE *_ResizeNextBorder)(
        IBrowserService2 *This,
        UINT itb);

    HRESULT (STDMETHODCALLTYPE *_ResizeView)(
        IBrowserService2 *This);

    HRESULT (STDMETHODCALLTYPE *_GetEffectiveClientArea)(
        IBrowserService2 *This,
        LPRECT lprectBorder,
        HMONITOR hmon);

    IStream * (STDMETHODCALLTYPE *v_GetViewStream)(
        IBrowserService2 *This,
        LPCITEMIDLIST pidl,
        DWORD grfMode,
        LPCWSTR pwszName);

    LRESULT (STDMETHODCALLTYPE *ForwardViewMsg)(
        IBrowserService2 *This,
        UINT uMsg,
        WPARAM wParam,
        LPARAM lParam);

    HRESULT (STDMETHODCALLTYPE *SetAcceleratorMenu)(
        IBrowserService2 *This,
        HACCEL hacc);

    int (STDMETHODCALLTYPE *_GetToolbarCount)(
        IBrowserService2 *This);

    LPTOOLBARITEM (STDMETHODCALLTYPE *_GetToolbarItem)(
        IBrowserService2 *This,
        int itb);

    HRESULT (STDMETHODCALLTYPE *_SaveToolbars)(
        IBrowserService2 *This,
        IStream *pstm);

    HRESULT (STDMETHODCALLTYPE *_LoadToolbars)(
        IBrowserService2 *This,
        IStream *pstm);

    HRESULT (STDMETHODCALLTYPE *_CloseAndReleaseToolbars)(
        IBrowserService2 *This,
        BOOL fClose);

    HRESULT (STDMETHODCALLTYPE *v_MayGetNextToolbarFocus)(
        IBrowserService2 *This,
        LPMSG lpMsg,
        UINT itbNext,
        int citb,
        LPTOOLBARITEM *pptbi,
        HWND *phwnd);

    HRESULT (STDMETHODCALLTYPE *_ResizeNextBorderHelper)(
        IBrowserService2 *This,
        UINT itb,
        BOOL bUseHmonitor);

    UINT (STDMETHODCALLTYPE *_FindTBar)(
        IBrowserService2 *This,
        IUnknown *punkSrc);

    HRESULT (STDMETHODCALLTYPE *_SetFocus)(
        IBrowserService2 *This,
        LPTOOLBARITEM ptbi,
        HWND hwnd,
        LPMSG lpMsg);

    HRESULT (STDMETHODCALLTYPE *v_MayTranslateAccelerator)(
        IBrowserService2 *This,
        MSG *pmsg);

    HRESULT (STDMETHODCALLTYPE *_GetBorderDWHelper)(
        IBrowserService2 *This,
        IUnknown *punkSrc,
        LPRECT lprectBorder,
        BOOL bUseHmonitor);

    HRESULT (STDMETHODCALLTYPE *v_CheckZoneCrossing)(
        IBrowserService2 *This,
        LPCITEMIDLIST pidl);

    END_INTERFACE
} IBrowserService2Vtbl;

interface IBrowserService2 {
    CONST_VTBL IBrowserService2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IBrowserService2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IBrowserService2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IBrowserService2_Release(This) (This)->lpVtbl->Release(This)
/*** IBrowserService methods ***/
#define IBrowserService2_GetParentSite(This,ppipsite) (This)->lpVtbl->GetParentSite(This,ppipsite)
#define IBrowserService2_SetTitle(This,psv,pszName) (This)->lpVtbl->SetTitle(This,psv,pszName)
#define IBrowserService2_GetTitle(This,psv,pszName,cchName) (This)->lpVtbl->GetTitle(This,psv,pszName,cchName)
#define IBrowserService2_GetOleObject(This,ppobjv) (This)->lpVtbl->GetOleObject(This,ppobjv)
#define IBrowserService2_GetTravelLog(This,pptl) (This)->lpVtbl->GetTravelLog(This,pptl)
#define IBrowserService2_ShowControlWindow(This,id,fShow) (This)->lpVtbl->ShowControlWindow(This,id,fShow)
#define IBrowserService2_IsControlWindowShown(This,id,pfShown) (This)->lpVtbl->IsControlWindowShown(This,id,pfShown)
#define IBrowserService2_IEGetDisplayName(This,pidl,pwszName,uFlags) (This)->lpVtbl->IEGetDisplayName(This,pidl,pwszName,uFlags)
#define IBrowserService2_IEParseDisplayName(This,uiCP,pwszPath,ppidlOut) (This)->lpVtbl->IEParseDisplayName(This,uiCP,pwszPath,ppidlOut)
#define IBrowserService2_DisplayParseError(This,hres,pwszPath) (This)->lpVtbl->DisplayParseError(This,hres,pwszPath)
#define IBrowserService2_NavigateToPidl(This,pidl,grfHLNF) (This)->lpVtbl->NavigateToPidl(This,pidl,grfHLNF)
#define IBrowserService2_SetNavigateState(This,bnstate) (This)->lpVtbl->SetNavigateState(This,bnstate)
#define IBrowserService2_GetNavigateState(This,pbnstate) (This)->lpVtbl->GetNavigateState(This,pbnstate)
#define IBrowserService2_NotifyRedirect(This,psv,pidl,pfDidBrowse) (This)->lpVtbl->NotifyRedirect(This,psv,pidl,pfDidBrowse)
#define IBrowserService2_UpdateWindowList(This) (This)->lpVtbl->UpdateWindowList(This)
#define IBrowserService2_UpdateBackForwardState(This) (This)->lpVtbl->UpdateBackForwardState(This)
#define IBrowserService2_SetFlags(This,dwFlags,dwFlagMask) (This)->lpVtbl->SetFlags(This,dwFlags,dwFlagMask)
#define IBrowserService2_GetFlags(This,pdwFlags) (This)->lpVtbl->GetFlags(This,pdwFlags)
#define IBrowserService2_CanNavigateNow(This) (This)->lpVtbl->CanNavigateNow(This)
#define IBrowserService2_GetPidl(This,ppidl) (This)->lpVtbl->GetPidl(This,ppidl)
#define IBrowserService2_SetReferrer(This,pidl) (This)->lpVtbl->SetReferrer(This,pidl)
#define IBrowserService2_GetBrowserIndex(This) (This)->lpVtbl->GetBrowserIndex(This)
#define IBrowserService2_GetBrowserByIndex(This,dwID,ppunk) (This)->lpVtbl->GetBrowserByIndex(This,dwID,ppunk)
#define IBrowserService2_GetHistoryObject(This,ppole,pstm,ppbc) (This)->lpVtbl->GetHistoryObject(This,ppole,pstm,ppbc)
#define IBrowserService2_SetHistoryObject(This,pole,fIsLocalAnchor) (This)->lpVtbl->SetHistoryObject(This,pole,fIsLocalAnchor)
#define IBrowserService2_CacheOLEServer(This,pole) (This)->lpVtbl->CacheOLEServer(This,pole)
#define IBrowserService2_GetSetCodePage(This,pvarIn,pvarOut) (This)->lpVtbl->GetSetCodePage(This,pvarIn,pvarOut)
#define IBrowserService2_OnHttpEquiv(This,psv,fDone,pvarargIn,pvarargOut) (This)->lpVtbl->OnHttpEquiv(This,psv,fDone,pvarargIn,pvarargOut)
#define IBrowserService2_GetPalette(This,hpal) (This)->lpVtbl->GetPalette(This,hpal)
#define IBrowserService2_RegisterWindow(This,fForceRegister,swc) (This)->lpVtbl->RegisterWindow(This,fForceRegister,swc)
/*** IBrowserService2 methods ***/
#define IBrowserService2_WndProcBS(This,hwnd,uMsg,wParam,lParam) (This)->lpVtbl->WndProcBS(This,hwnd,uMsg,wParam,lParam)
#define IBrowserService2_SetAsDefFolderSettings(This) (This)->lpVtbl->SetAsDefFolderSettings(This)
#define IBrowserService2_GetViewRect(This,prc) (This)->lpVtbl->GetViewRect(This,prc)
#define IBrowserService2_OnSize(This,wParam) (This)->lpVtbl->OnSize(This,wParam)
#define IBrowserService2_OnCreate(This,pcs) (This)->lpVtbl->OnCreate(This,pcs)
#define IBrowserService2_OnCommand(This,wParam,lParam) (This)->lpVtbl->OnCommand(This,wParam,lParam)
#define IBrowserService2_OnDestroy(This) (This)->lpVtbl->OnDestroy(This)
#define IBrowserService2_OnNotify(This,pnm) (This)->lpVtbl->OnNotify(This,pnm)
#define IBrowserService2_OnSetFocus(This) (This)->lpVtbl->OnSetFocus(This)
#define IBrowserService2_OnFrameWindowActivateBS(This,fActive) (This)->lpVtbl->OnFrameWindowActivateBS(This,fActive)
#define IBrowserService2_ReleaseShellView(This) (This)->lpVtbl->ReleaseShellView(This)
#define IBrowserService2_ActivatePendingView(This) (This)->lpVtbl->ActivatePendingView(This)
#define IBrowserService2_CreateViewWindow(This,psvNew,psvOld,prcView,phwnd) (This)->lpVtbl->CreateViewWindow(This,psvNew,psvOld,prcView,phwnd)
#define IBrowserService2_CreateBrowserPropSheetExt(This,riid,ppv) (This)->lpVtbl->CreateBrowserPropSheetExt(This,riid,ppv)
#define IBrowserService2_GetViewWindow(This,phwndView) (This)->lpVtbl->GetViewWindow(This,phwndView)
#define IBrowserService2_GetBaseBrowserData(This,pbbd) (This)->lpVtbl->GetBaseBrowserData(This,pbbd)
#define IBrowserService2_PutBaseBrowserData(This) (This)->lpVtbl->PutBaseBrowserData(This)
#define IBrowserService2_InitializeTravelLog(This,ptl,dw) (This)->lpVtbl->InitializeTravelLog(This,ptl,dw)
#define IBrowserService2_SetTopBrowser(This) (This)->lpVtbl->SetTopBrowser(This)
#define IBrowserService2_Offline(This,iCmd) (This)->lpVtbl->Offline(This,iCmd)
#define IBrowserService2_AllowViewResize(This,f) (This)->lpVtbl->AllowViewResize(This,f)
#define IBrowserService2_SetActivateState(This,u) (This)->lpVtbl->SetActivateState(This,u)
#define IBrowserService2_UpdateSecureLockIcon(This,eSecureLock) (This)->lpVtbl->UpdateSecureLockIcon(This,eSecureLock)
#define IBrowserService2_InitializeDownloadManager(This) (This)->lpVtbl->InitializeDownloadManager(This)
#define IBrowserService2_InitializeTransitionSite(This) (This)->lpVtbl->InitializeTransitionSite(This)
#define IBrowserService2__Initialize(This,hwnd,pauto) (This)->lpVtbl->_Initialize(This,hwnd,pauto)
#define IBrowserService2__CancelPendingNavigationAsync(This) (This)->lpVtbl->_CancelPendingNavigationAsync(This)
#define IBrowserService2__CancelPendingView(This) (This)->lpVtbl->_CancelPendingView(This)
#define IBrowserService2__MaySaveChanges(This) (This)->lpVtbl->_MaySaveChanges(This)
#define IBrowserService2__PauseOrResumeView(This,fPaused) (This)->lpVtbl->_PauseOrResumeView(This,fPaused)
#define IBrowserService2__DisableModeless(This) (This)->lpVtbl->_DisableModeless(This)
#define IBrowserService2__NavigateToPidl(This,pidl,grfHLNF,dwFlags) (This)->lpVtbl->_NavigateToPidl(This,pidl,grfHLNF,dwFlags)
#define IBrowserService2__TryShell2Rename(This,psv,pidlNew) (This)->lpVtbl->_TryShell2Rename(This,psv,pidlNew)
#define IBrowserService2__SwitchActivationNow(This) (This)->lpVtbl->_SwitchActivationNow(This)
#define IBrowserService2__ExecChildren(This,punkBar,fBroadcast,pguidCmdGroup,nCmdID,nCmdexecopt,pvarargIn,pvarargOut) (This)->lpVtbl->_ExecChildren(This,punkBar,fBroadcast,pguidCmdGroup,nCmdID,nCmdexecopt,pvarargIn,pvarargOut)
#define IBrowserService2__SendChildren(This,hwndBar,fBroadcast,uMsg,wParam,lParam) (This)->lpVtbl->_SendChildren(This,hwndBar,fBroadcast,uMsg,wParam,lParam)
#define IBrowserService2_GetFolderSetData(This,pfsd) (This)->lpVtbl->GetFolderSetData(This,pfsd)
#define IBrowserService2__OnFocusChange(This,itb) (This)->lpVtbl->_OnFocusChange(This,itb)
#define IBrowserService2_v_ShowHideChildWindows(This,fChildOnly) (This)->lpVtbl->v_ShowHideChildWindows(This,fChildOnly)
#define IBrowserService2__get_itbLastFocus(This) (This)->lpVtbl->_get_itbLastFocus(This)
#define IBrowserService2__put_itbLastFocus(This,itbLastFocus) (This)->lpVtbl->_put_itbLastFocus(This,itbLastFocus)
#define IBrowserService2__UIActivateView(This,uState) (This)->lpVtbl->_UIActivateView(This,uState)
#define IBrowserService2__GetViewBorderRect(This,prc) (This)->lpVtbl->_GetViewBorderRect(This,prc)
#define IBrowserService2__UpdateViewRectSize(This) (This)->lpVtbl->_UpdateViewRectSize(This)
#define IBrowserService2__ResizeNextBorder(This,itb) (This)->lpVtbl->_ResizeNextBorder(This,itb)
#define IBrowserService2__ResizeView(This) (This)->lpVtbl->_ResizeView(This)
#define IBrowserService2__GetEffectiveClientArea(This,lprectBorder,hmon) (This)->lpVtbl->_GetEffectiveClientArea(This,lprectBorder,hmon)
#define IBrowserService2_v_GetViewStream(This,pidl,grfMode,pwszName) (This)->lpVtbl->v_GetViewStream(This,pidl,grfMode,pwszName)
#define IBrowserService2_ForwardViewMsg(This,uMsg,wParam,lParam) (This)->lpVtbl->ForwardViewMsg(This,uMsg,wParam,lParam)
#define IBrowserService2_SetAcceleratorMenu(This,hacc) (This)->lpVtbl->SetAcceleratorMenu(This,hacc)
#define IBrowserService2__GetToolbarCount(This) (This)->lpVtbl->_GetToolbarCount(This)
#define IBrowserService2__GetToolbarItem(This,itb) (This)->lpVtbl->_GetToolbarItem(This,itb)
#define IBrowserService2__SaveToolbars(This,pstm) (This)->lpVtbl->_SaveToolbars(This,pstm)
#define IBrowserService2__LoadToolbars(This,pstm) (This)->lpVtbl->_LoadToolbars(This,pstm)
#define IBrowserService2__CloseAndReleaseToolbars(This,fClose) (This)->lpVtbl->_CloseAndReleaseToolbars(This,fClose)
#define IBrowserService2_v_MayGetNextToolbarFocus(This,lpMsg,itbNext,citb,pptbi,phwnd) (This)->lpVtbl->v_MayGetNextToolbarFocus(This,lpMsg,itbNext,citb,pptbi,phwnd)
#define IBrowserService2__ResizeNextBorderHelper(This,itb,bUseHmonitor) (This)->lpVtbl->_ResizeNextBorderHelper(This,itb,bUseHmonitor)
#define IBrowserService2__FindTBar(This,punkSrc) (This)->lpVtbl->_FindTBar(This,punkSrc)
#define IBrowserService2__SetFocus(This,ptbi,hwnd,lpMsg) (This)->lpVtbl->_SetFocus(This,ptbi,hwnd,lpMsg)
#define IBrowserService2_v_MayTranslateAccelerator(This,pmsg) (This)->lpVtbl->v_MayTranslateAccelerator(This,pmsg)
#define IBrowserService2__GetBorderDWHelper(This,punkSrc,lprectBorder,bUseHmonitor) (This)->lpVtbl->_GetBorderDWHelper(This,punkSrc,lprectBorder,bUseHmonitor)
#define IBrowserService2_v_CheckZoneCrossing(This,pidl) (This)->lpVtbl->v_CheckZoneCrossing(This,pidl)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IBrowserService2_QueryInterface(IBrowserService2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IBrowserService2_AddRef(IBrowserService2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IBrowserService2_Release(IBrowserService2* This) {
    return This->lpVtbl->Release(This);
}
/*** IBrowserService methods ***/
static FORCEINLINE HRESULT IBrowserService2_GetParentSite(IBrowserService2* This,IOleInPlaceSite **ppipsite) {
    return This->lpVtbl->GetParentSite(This,ppipsite);
}
static FORCEINLINE HRESULT IBrowserService2_SetTitle(IBrowserService2* This,IShellView *psv,LPCWSTR pszName) {
    return This->lpVtbl->SetTitle(This,psv,pszName);
}
static FORCEINLINE HRESULT IBrowserService2_GetTitle(IBrowserService2* This,IShellView *psv,LPWSTR pszName,DWORD cchName) {
    return This->lpVtbl->GetTitle(This,psv,pszName,cchName);
}
static FORCEINLINE HRESULT IBrowserService2_GetOleObject(IBrowserService2* This,IOleObject **ppobjv) {
    return This->lpVtbl->GetOleObject(This,ppobjv);
}
static FORCEINLINE HRESULT IBrowserService2_GetTravelLog(IBrowserService2* This,ITravelLog **pptl) {
    return This->lpVtbl->GetTravelLog(This,pptl);
}
static FORCEINLINE HRESULT IBrowserService2_ShowControlWindow(IBrowserService2* This,UINT id,BOOL fShow) {
    return This->lpVtbl->ShowControlWindow(This,id,fShow);
}
static FORCEINLINE HRESULT IBrowserService2_IsControlWindowShown(IBrowserService2* This,UINT id,BOOL *pfShown) {
    return This->lpVtbl->IsControlWindowShown(This,id,pfShown);
}
static FORCEINLINE HRESULT IBrowserService2_IEGetDisplayName(IBrowserService2* This,PCIDLIST_ABSOLUTE pidl,LPWSTR pwszName,UINT uFlags) {
    return This->lpVtbl->IEGetDisplayName(This,pidl,pwszName,uFlags);
}
static FORCEINLINE HRESULT IBrowserService2_IEParseDisplayName(IBrowserService2* This,UINT uiCP,LPCWSTR pwszPath,PIDLIST_ABSOLUTE *ppidlOut) {
    return This->lpVtbl->IEParseDisplayName(This,uiCP,pwszPath,ppidlOut);
}
static FORCEINLINE HRESULT IBrowserService2_DisplayParseError(IBrowserService2* This,HRESULT hres,LPCWSTR pwszPath) {
    return This->lpVtbl->DisplayParseError(This,hres,pwszPath);
}
static FORCEINLINE HRESULT IBrowserService2_NavigateToPidl(IBrowserService2* This,PCIDLIST_ABSOLUTE pidl,DWORD grfHLNF) {
    return This->lpVtbl->NavigateToPidl(This,pidl,grfHLNF);
}
static FORCEINLINE HRESULT IBrowserService2_SetNavigateState(IBrowserService2* This,BNSTATE bnstate) {
    return This->lpVtbl->SetNavigateState(This,bnstate);
}
static FORCEINLINE HRESULT IBrowserService2_GetNavigateState(IBrowserService2* This,BNSTATE *pbnstate) {
    return This->lpVtbl->GetNavigateState(This,pbnstate);
}
static FORCEINLINE HRESULT IBrowserService2_NotifyRedirect(IBrowserService2* This,IShellView *psv,PCIDLIST_ABSOLUTE pidl,BOOL *pfDidBrowse) {
    return This->lpVtbl->NotifyRedirect(This,psv,pidl,pfDidBrowse);
}
static FORCEINLINE HRESULT IBrowserService2_UpdateWindowList(IBrowserService2* This) {
    return This->lpVtbl->UpdateWindowList(This);
}
static FORCEINLINE HRESULT IBrowserService2_UpdateBackForwardState(IBrowserService2* This) {
    return This->lpVtbl->UpdateBackForwardState(This);
}
static FORCEINLINE HRESULT IBrowserService2_SetFlags(IBrowserService2* This,DWORD dwFlags,DWORD dwFlagMask) {
    return This->lpVtbl->SetFlags(This,dwFlags,dwFlagMask);
}
static FORCEINLINE HRESULT IBrowserService2_GetFlags(IBrowserService2* This,DWORD *pdwFlags) {
    return This->lpVtbl->GetFlags(This,pdwFlags);
}
static FORCEINLINE HRESULT IBrowserService2_CanNavigateNow(IBrowserService2* This) {
    return This->lpVtbl->CanNavigateNow(This);
}
static FORCEINLINE HRESULT IBrowserService2_GetPidl(IBrowserService2* This,PIDLIST_ABSOLUTE *ppidl) {
    return This->lpVtbl->GetPidl(This,ppidl);
}
static FORCEINLINE HRESULT IBrowserService2_SetReferrer(IBrowserService2* This,PCIDLIST_ABSOLUTE pidl) {
    return This->lpVtbl->SetReferrer(This,pidl);
}
static FORCEINLINE DWORD IBrowserService2_GetBrowserIndex(IBrowserService2* This) {
    return This->lpVtbl->GetBrowserIndex(This);
}
static FORCEINLINE HRESULT IBrowserService2_GetBrowserByIndex(IBrowserService2* This,DWORD dwID,IUnknown **ppunk) {
    return This->lpVtbl->GetBrowserByIndex(This,dwID,ppunk);
}
static FORCEINLINE HRESULT IBrowserService2_GetHistoryObject(IBrowserService2* This,IOleObject **ppole,IStream **pstm,IBindCtx **ppbc) {
    return This->lpVtbl->GetHistoryObject(This,ppole,pstm,ppbc);
}
static FORCEINLINE HRESULT IBrowserService2_SetHistoryObject(IBrowserService2* This,IOleObject *pole,BOOL fIsLocalAnchor) {
    return This->lpVtbl->SetHistoryObject(This,pole,fIsLocalAnchor);
}
static FORCEINLINE HRESULT IBrowserService2_CacheOLEServer(IBrowserService2* This,IOleObject *pole) {
    return This->lpVtbl->CacheOLEServer(This,pole);
}
static FORCEINLINE HRESULT IBrowserService2_GetSetCodePage(IBrowserService2* This,VARIANT *pvarIn,VARIANT *pvarOut) {
    return This->lpVtbl->GetSetCodePage(This,pvarIn,pvarOut);
}
static FORCEINLINE HRESULT IBrowserService2_OnHttpEquiv(IBrowserService2* This,IShellView *psv,BOOL fDone,VARIANT *pvarargIn,VARIANT *pvarargOut) {
    return This->lpVtbl->OnHttpEquiv(This,psv,fDone,pvarargIn,pvarargOut);
}
static FORCEINLINE HRESULT IBrowserService2_GetPalette(IBrowserService2* This,HPALETTE *hpal) {
    return This->lpVtbl->GetPalette(This,hpal);
}
static FORCEINLINE HRESULT IBrowserService2_RegisterWindow(IBrowserService2* This,BOOL fForceRegister,int swc) {
    return This->lpVtbl->RegisterWindow(This,fForceRegister,swc);
}
/*** IBrowserService2 methods ***/
static FORCEINLINE LRESULT IBrowserService2_WndProcBS(IBrowserService2* This,HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam) {
    return This->lpVtbl->WndProcBS(This,hwnd,uMsg,wParam,lParam);
}
static FORCEINLINE HRESULT IBrowserService2_SetAsDefFolderSettings(IBrowserService2* This) {
    return This->lpVtbl->SetAsDefFolderSettings(This);
}
static FORCEINLINE HRESULT IBrowserService2_GetViewRect(IBrowserService2* This,RECT *prc) {
    return This->lpVtbl->GetViewRect(This,prc);
}
static FORCEINLINE HRESULT IBrowserService2_OnSize(IBrowserService2* This,WPARAM wParam) {
    return This->lpVtbl->OnSize(This,wParam);
}
static FORCEINLINE HRESULT IBrowserService2_OnCreate(IBrowserService2* This,struct tagCREATESTRUCTW *pcs) {
    return This->lpVtbl->OnCreate(This,pcs);
}
static FORCEINLINE LRESULT IBrowserService2_OnCommand(IBrowserService2* This,WPARAM wParam,LPARAM lParam) {
    return This->lpVtbl->OnCommand(This,wParam,lParam);
}
static FORCEINLINE HRESULT IBrowserService2_OnDestroy(IBrowserService2* This) {
    return This->lpVtbl->OnDestroy(This);
}
static FORCEINLINE LRESULT IBrowserService2_OnNotify(IBrowserService2* This,struct tagNMHDR *pnm) {
    return This->lpVtbl->OnNotify(This,pnm);
}
static FORCEINLINE HRESULT IBrowserService2_OnSetFocus(IBrowserService2* This) {
    return This->lpVtbl->OnSetFocus(This);
}
static FORCEINLINE HRESULT IBrowserService2_OnFrameWindowActivateBS(IBrowserService2* This,BOOL fActive) {
    return This->lpVtbl->OnFrameWindowActivateBS(This,fActive);
}
static FORCEINLINE HRESULT IBrowserService2_ReleaseShellView(IBrowserService2* This) {
    return This->lpVtbl->ReleaseShellView(This);
}
static FORCEINLINE HRESULT IBrowserService2_ActivatePendingView(IBrowserService2* This) {
    return This->lpVtbl->ActivatePendingView(This);
}
static FORCEINLINE HRESULT IBrowserService2_CreateViewWindow(IBrowserService2* This,IShellView *psvNew,IShellView *psvOld,LPRECT prcView,HWND *phwnd) {
    return This->lpVtbl->CreateViewWindow(This,psvNew,psvOld,prcView,phwnd);
}
static FORCEINLINE HRESULT IBrowserService2_CreateBrowserPropSheetExt(IBrowserService2* This,REFIID riid,void **ppv) {
    return This->lpVtbl->CreateBrowserPropSheetExt(This,riid,ppv);
}
static FORCEINLINE HRESULT IBrowserService2_GetViewWindow(IBrowserService2* This,HWND *phwndView) {
    return This->lpVtbl->GetViewWindow(This,phwndView);
}
static FORCEINLINE HRESULT IBrowserService2_GetBaseBrowserData(IBrowserService2* This,LPCBASEBROWSERDATA *pbbd) {
    return This->lpVtbl->GetBaseBrowserData(This,pbbd);
}
static FORCEINLINE LPBASEBROWSERDATA IBrowserService2_PutBaseBrowserData(IBrowserService2* This) {
    return This->lpVtbl->PutBaseBrowserData(This);
}
static FORCEINLINE HRESULT IBrowserService2_InitializeTravelLog(IBrowserService2* This,ITravelLog *ptl,DWORD dw) {
    return This->lpVtbl->InitializeTravelLog(This,ptl,dw);
}
static FORCEINLINE HRESULT IBrowserService2_SetTopBrowser(IBrowserService2* This) {
    return This->lpVtbl->SetTopBrowser(This);
}
static FORCEINLINE HRESULT IBrowserService2_Offline(IBrowserService2* This,int iCmd) {
    return This->lpVtbl->Offline(This,iCmd);
}
static FORCEINLINE HRESULT IBrowserService2_AllowViewResize(IBrowserService2* This,BOOL f) {
    return This->lpVtbl->AllowViewResize(This,f);
}
static FORCEINLINE HRESULT IBrowserService2_SetActivateState(IBrowserService2* This,UINT u) {
    return This->lpVtbl->SetActivateState(This,u);
}
static FORCEINLINE HRESULT IBrowserService2_UpdateSecureLockIcon(IBrowserService2* This,int eSecureLock) {
    return This->lpVtbl->UpdateSecureLockIcon(This,eSecureLock);
}
static FORCEINLINE HRESULT IBrowserService2_InitializeDownloadManager(IBrowserService2* This) {
    return This->lpVtbl->InitializeDownloadManager(This);
}
static FORCEINLINE HRESULT IBrowserService2_InitializeTransitionSite(IBrowserService2* This) {
    return This->lpVtbl->InitializeTransitionSite(This);
}
static FORCEINLINE HRESULT IBrowserService2__Initialize(IBrowserService2* This,HWND hwnd,IUnknown *pauto) {
    return This->lpVtbl->_Initialize(This,hwnd,pauto);
}
static FORCEINLINE HRESULT IBrowserService2__CancelPendingNavigationAsync(IBrowserService2* This) {
    return This->lpVtbl->_CancelPendingNavigationAsync(This);
}
static FORCEINLINE HRESULT IBrowserService2__CancelPendingView(IBrowserService2* This) {
    return This->lpVtbl->_CancelPendingView(This);
}
static FORCEINLINE HRESULT IBrowserService2__MaySaveChanges(IBrowserService2* This) {
    return This->lpVtbl->_MaySaveChanges(This);
}
static FORCEINLINE HRESULT IBrowserService2__PauseOrResumeView(IBrowserService2* This,BOOL fPaused) {
    return This->lpVtbl->_PauseOrResumeView(This,fPaused);
}
static FORCEINLINE HRESULT IBrowserService2__DisableModeless(IBrowserService2* This) {
    return This->lpVtbl->_DisableModeless(This);
}
static FORCEINLINE HRESULT IBrowserService2__NavigateToPidl(IBrowserService2* This,LPCITEMIDLIST pidl,DWORD grfHLNF,DWORD dwFlags) {
    return This->lpVtbl->_NavigateToPidl(This,pidl,grfHLNF,dwFlags);
}
static FORCEINLINE HRESULT IBrowserService2__TryShell2Rename(IBrowserService2* This,IShellView *psv,LPCITEMIDLIST pidlNew) {
    return This->lpVtbl->_TryShell2Rename(This,psv,pidlNew);
}
static FORCEINLINE HRESULT IBrowserService2__SwitchActivationNow(IBrowserService2* This) {
    return This->lpVtbl->_SwitchActivationNow(This);
}
static FORCEINLINE HRESULT IBrowserService2__ExecChildren(IBrowserService2* This,IUnknown *punkBar,BOOL fBroadcast,const GUID *pguidCmdGroup,DWORD nCmdID,DWORD nCmdexecopt,VARIANTARG *pvarargIn,VARIANTARG *pvarargOut) {
    return This->lpVtbl->_ExecChildren(This,punkBar,fBroadcast,pguidCmdGroup,nCmdID,nCmdexecopt,pvarargIn,pvarargOut);
}
static FORCEINLINE HRESULT IBrowserService2__SendChildren(IBrowserService2* This,HWND hwndBar,BOOL fBroadcast,UINT uMsg,WPARAM wParam,LPARAM lParam) {
    return This->lpVtbl->_SendChildren(This,hwndBar,fBroadcast,uMsg,wParam,lParam);
}
static FORCEINLINE HRESULT IBrowserService2_GetFolderSetData(IBrowserService2* This,struct tagFolderSetData *pfsd) {
    return This->lpVtbl->GetFolderSetData(This,pfsd);
}
static FORCEINLINE HRESULT IBrowserService2__OnFocusChange(IBrowserService2* This,UINT itb) {
    return This->lpVtbl->_OnFocusChange(This,itb);
}
static FORCEINLINE HRESULT IBrowserService2_v_ShowHideChildWindows(IBrowserService2* This,BOOL fChildOnly) {
    return This->lpVtbl->v_ShowHideChildWindows(This,fChildOnly);
}
static FORCEINLINE UINT IBrowserService2__get_itbLastFocus(IBrowserService2* This) {
    return This->lpVtbl->_get_itbLastFocus(This);
}
static FORCEINLINE HRESULT IBrowserService2__put_itbLastFocus(IBrowserService2* This,UINT itbLastFocus) {
    return This->lpVtbl->_put_itbLastFocus(This,itbLastFocus);
}
static FORCEINLINE HRESULT IBrowserService2__UIActivateView(IBrowserService2* This,UINT uState) {
    return This->lpVtbl->_UIActivateView(This,uState);
}
static FORCEINLINE HRESULT IBrowserService2__GetViewBorderRect(IBrowserService2* This,RECT *prc) {
    return This->lpVtbl->_GetViewBorderRect(This,prc);
}
static FORCEINLINE HRESULT IBrowserService2__UpdateViewRectSize(IBrowserService2* This) {
    return This->lpVtbl->_UpdateViewRectSize(This);
}
static FORCEINLINE HRESULT IBrowserService2__ResizeNextBorder(IBrowserService2* This,UINT itb) {
    return This->lpVtbl->_ResizeNextBorder(This,itb);
}
static FORCEINLINE HRESULT IBrowserService2__ResizeView(IBrowserService2* This) {
    return This->lpVtbl->_ResizeView(This);
}
static FORCEINLINE HRESULT IBrowserService2__GetEffectiveClientArea(IBrowserService2* This,LPRECT lprectBorder,HMONITOR hmon) {
    return This->lpVtbl->_GetEffectiveClientArea(This,lprectBorder,hmon);
}
static FORCEINLINE IStream * IBrowserService2_v_GetViewStream(IBrowserService2* This,LPCITEMIDLIST pidl,DWORD grfMode,LPCWSTR pwszName) {
    return This->lpVtbl->v_GetViewStream(This,pidl,grfMode,pwszName);
}
static FORCEINLINE LRESULT IBrowserService2_ForwardViewMsg(IBrowserService2* This,UINT uMsg,WPARAM wParam,LPARAM lParam) {
    return This->lpVtbl->ForwardViewMsg(This,uMsg,wParam,lParam);
}
static FORCEINLINE HRESULT IBrowserService2_SetAcceleratorMenu(IBrowserService2* This,HACCEL hacc) {
    return This->lpVtbl->SetAcceleratorMenu(This,hacc);
}
static FORCEINLINE int IBrowserService2__GetToolbarCount(IBrowserService2* This) {
    return This->lpVtbl->_GetToolbarCount(This);
}
static FORCEINLINE LPTOOLBARITEM IBrowserService2__GetToolbarItem(IBrowserService2* This,int itb) {
    return This->lpVtbl->_GetToolbarItem(This,itb);
}
static FORCEINLINE HRESULT IBrowserService2__SaveToolbars(IBrowserService2* This,IStream *pstm) {
    return This->lpVtbl->_SaveToolbars(This,pstm);
}
static FORCEINLINE HRESULT IBrowserService2__LoadToolbars(IBrowserService2* This,IStream *pstm) {
    return This->lpVtbl->_LoadToolbars(This,pstm);
}
static FORCEINLINE HRESULT IBrowserService2__CloseAndReleaseToolbars(IBrowserService2* This,BOOL fClose) {
    return This->lpVtbl->_CloseAndReleaseToolbars(This,fClose);
}
static FORCEINLINE HRESULT IBrowserService2_v_MayGetNextToolbarFocus(IBrowserService2* This,LPMSG lpMsg,UINT itbNext,int citb,LPTOOLBARITEM *pptbi,HWND *phwnd) {
    return This->lpVtbl->v_MayGetNextToolbarFocus(This,lpMsg,itbNext,citb,pptbi,phwnd);
}
static FORCEINLINE HRESULT IBrowserService2__ResizeNextBorderHelper(IBrowserService2* This,UINT itb,BOOL bUseHmonitor) {
    return This->lpVtbl->_ResizeNextBorderHelper(This,itb,bUseHmonitor);
}
static FORCEINLINE UINT IBrowserService2__FindTBar(IBrowserService2* This,IUnknown *punkSrc) {
    return This->lpVtbl->_FindTBar(This,punkSrc);
}
static FORCEINLINE HRESULT IBrowserService2__SetFocus(IBrowserService2* This,LPTOOLBARITEM ptbi,HWND hwnd,LPMSG lpMsg) {
    return This->lpVtbl->_SetFocus(This,ptbi,hwnd,lpMsg);
}
static FORCEINLINE HRESULT IBrowserService2_v_MayTranslateAccelerator(IBrowserService2* This,MSG *pmsg) {
    return This->lpVtbl->v_MayTranslateAccelerator(This,pmsg);
}
static FORCEINLINE HRESULT IBrowserService2__GetBorderDWHelper(IBrowserService2* This,IUnknown *punkSrc,LPRECT lprectBorder,BOOL bUseHmonitor) {
    return This->lpVtbl->_GetBorderDWHelper(This,punkSrc,lprectBorder,bUseHmonitor);
}
static FORCEINLINE HRESULT IBrowserService2_v_CheckZoneCrossing(IBrowserService2* This,LPCITEMIDLIST pidl) {
    return This->lpVtbl->v_CheckZoneCrossing(This,pidl);
}
#endif
#endif

#endif


#endif  /* __IBrowserService2_INTERFACE_DEFINED__ */

/* Begin additional prototypes for all interfaces */


/* End additional prototypes */

#ifdef __cplusplus
}
#endif

#endif /* __shdeprecated_h__ */
