/*** Autogenerated by WIDL 1.3.20 from docobjectservice.idl - Do not edit ***/

#include <rpc.h>
#include <rpcndr.h>

#ifndef __WIDL_DOCOBJECTSERVICE_H
#define __WIDL_DOCOBJECTSERVICE_H

/* Forward declarations */

#ifndef __IDocObjectService_FWD_DEFINED__
#define __IDocObjectService_FWD_DEFINED__
typedef interface IDocObjectService IDocObjectService;
#endif

/* Headers for imported files */

#include <objidl.h>
#include <mshtml.h>

#ifdef __cplusplus
extern "C" {
#endif

/*****************************************************************************
 * IDocObjectService interface
 */
#ifndef __IDocObjectService_INTERFACE_DEFINED__
#define __IDocObjectService_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDocObjectService, 0x3050f801, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IDocObjectService : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE FireBeforeNavigate2(
        IDispatch *pDispatch,
        LPCWSTR lpszUrl,
        DWORD dwFlags,
        LPCWSTR lpszFrameName,
        BYTE *pPostData,
        DWORD cbPostData,
        LPCWSTR lpszHeaders,
        BOOL fPlayNavSound,
        BOOL *pfCancel) = 0;

    virtual HRESULT STDMETHODCALLTYPE FireNavigateComplete2(
        IHTMLWindow2 *pHTMLWindow2,
        DWORD dwFlags) = 0;

    virtual HRESULT STDMETHODCALLTYPE FireDownloadBegin(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE FireDownloadComplete(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE FireDocumentComplete(
        IHTMLWindow2 *pHTMLWindow,
        DWORD dwFlags) = 0;

    virtual HRESULT STDMETHODCALLTYPE UpdateDesktopComponent(
        IHTMLWindow2 *pHTMLWindow) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetPendingUrl(
        BSTR *pbstrPendingUrl) = 0;

    virtual HRESULT STDMETHODCALLTYPE ActiveElementChanged(
        IHTMLElement *pHTMLElement) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetUrlSearchComponent(
        BSTR *pbstrSearch) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsErrorUrl(
        LPCWSTR lpszUrl,
        BOOL *pfIsError) = 0;

};
#else
typedef struct IDocObjectServiceVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDocObjectService methods ***/
    HRESULT (STDMETHODCALLTYPE *FireBeforeNavigate2)(
        IDocObjectService* This,
        IDispatch *pDispatch,
        LPCWSTR lpszUrl,
        DWORD dwFlags,
        LPCWSTR lpszFrameName,
        BYTE *pPostData,
        DWORD cbPostData,
        LPCWSTR lpszHeaders,
        BOOL fPlayNavSound,
        BOOL *pfCancel);

    HRESULT (STDMETHODCALLTYPE *FireNavigateComplete2)(
        IDocObjectService* This,
        IHTMLWindow2 *pHTMLWindow2,
        DWORD dwFlags);

    HRESULT (STDMETHODCALLTYPE *FireDownloadBegin)(
        IDocObjectService* This);

    HRESULT (STDMETHODCALLTYPE *FireDownloadComplete)(
        IDocObjectService* This);

    HRESULT (STDMETHODCALLTYPE *FireDocumentComplete)(
        IDocObjectService* This,
        IHTMLWindow2 *pHTMLWindow,
        DWORD dwFlags);

    HRESULT (STDMETHODCALLTYPE *UpdateDesktopComponent)(
        IDocObjectService* This,
        IHTMLWindow2 *pHTMLWindow);

    HRESULT (STDMETHODCALLTYPE *GetPendingUrl)(
        IDocObjectService* This,
        BSTR *pbstrPendingUrl);

    HRESULT (STDMETHODCALLTYPE *ActiveElementChanged)(
        IDocObjectService* This,
        IHTMLElement *pHTMLElement);

    HRESULT (STDMETHODCALLTYPE *GetUrlSearchComponent)(
        IDocObjectService* This,
        BSTR *pbstrSearch);

    HRESULT (STDMETHODCALLTYPE *IsErrorUrl)(
        IDocObjectService* This,
        LPCWSTR lpszUrl,
        BOOL *pfIsError);

    END_INTERFACE
} IDocObjectServiceVtbl;
interface IDocObjectService {
    CONST_VTBL IDocObjectServiceVtbl* lpVtbl;
};

#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IDocObjectService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDocObjectService_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDocObjectService_Release(This) (This)->lpVtbl->Release(This)
/*** IDocObjectService methods ***/
#define IDocObjectService_FireBeforeNavigate2(This,pDispatch,lpszUrl,dwFlags,lpszFrameName,pPostData,cbPostData,lpszHeaders,fPlayNavSound,pfCancel) (This)->lpVtbl->FireBeforeNavigate2(This,pDispatch,lpszUrl,dwFlags,lpszFrameName,pPostData,cbPostData,lpszHeaders,fPlayNavSound,pfCancel)
#define IDocObjectService_FireNavigateComplete2(This,pHTMLWindow2,dwFlags) (This)->lpVtbl->FireNavigateComplete2(This,pHTMLWindow2,dwFlags)
#define IDocObjectService_FireDownloadBegin(This) (This)->lpVtbl->FireDownloadBegin(This)
#define IDocObjectService_FireDownloadComplete(This) (This)->lpVtbl->FireDownloadComplete(This)
#define IDocObjectService_FireDocumentComplete(This,pHTMLWindow,dwFlags) (This)->lpVtbl->FireDocumentComplete(This,pHTMLWindow,dwFlags)
#define IDocObjectService_UpdateDesktopComponent(This,pHTMLWindow) (This)->lpVtbl->UpdateDesktopComponent(This,pHTMLWindow)
#define IDocObjectService_GetPendingUrl(This,pbstrPendingUrl) (This)->lpVtbl->GetPendingUrl(This,pbstrPendingUrl)
#define IDocObjectService_ActiveElementChanged(This,pHTMLElement) (This)->lpVtbl->ActiveElementChanged(This,pHTMLElement)
#define IDocObjectService_GetUrlSearchComponent(This,pbstrSearch) (This)->lpVtbl->GetUrlSearchComponent(This,pbstrSearch)
#define IDocObjectService_IsErrorUrl(This,lpszUrl,pfIsError) (This)->lpVtbl->IsErrorUrl(This,lpszUrl,pfIsError)
#endif

#endif

HRESULT STDMETHODCALLTYPE IDocObjectService_FireBeforeNavigate2_Proxy(
    IDocObjectService* This,
    IDispatch *pDispatch,
    LPCWSTR lpszUrl,
    DWORD dwFlags,
    LPCWSTR lpszFrameName,
    BYTE *pPostData,
    DWORD cbPostData,
    LPCWSTR lpszHeaders,
    BOOL fPlayNavSound,
    BOOL *pfCancel);
void __RPC_STUB IDocObjectService_FireBeforeNavigate2_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IDocObjectService_FireNavigateComplete2_Proxy(
    IDocObjectService* This,
    IHTMLWindow2 *pHTMLWindow2,
    DWORD dwFlags);
void __RPC_STUB IDocObjectService_FireNavigateComplete2_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IDocObjectService_FireDownloadBegin_Proxy(
    IDocObjectService* This);
void __RPC_STUB IDocObjectService_FireDownloadBegin_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IDocObjectService_FireDownloadComplete_Proxy(
    IDocObjectService* This);
void __RPC_STUB IDocObjectService_FireDownloadComplete_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IDocObjectService_FireDocumentComplete_Proxy(
    IDocObjectService* This,
    IHTMLWindow2 *pHTMLWindow,
    DWORD dwFlags);
void __RPC_STUB IDocObjectService_FireDocumentComplete_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IDocObjectService_UpdateDesktopComponent_Proxy(
    IDocObjectService* This,
    IHTMLWindow2 *pHTMLWindow);
void __RPC_STUB IDocObjectService_UpdateDesktopComponent_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IDocObjectService_GetPendingUrl_Proxy(
    IDocObjectService* This,
    BSTR *pbstrPendingUrl);
void __RPC_STUB IDocObjectService_GetPendingUrl_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IDocObjectService_ActiveElementChanged_Proxy(
    IDocObjectService* This,
    IHTMLElement *pHTMLElement);
void __RPC_STUB IDocObjectService_ActiveElementChanged_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IDocObjectService_GetUrlSearchComponent_Proxy(
    IDocObjectService* This,
    BSTR *pbstrSearch);
void __RPC_STUB IDocObjectService_GetUrlSearchComponent_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IDocObjectService_IsErrorUrl_Proxy(
    IDocObjectService* This,
    LPCWSTR lpszUrl,
    BOOL *pfIsError);
void __RPC_STUB IDocObjectService_IsErrorUrl_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __IDocObjectService_INTERFACE_DEFINED__ */

/* Begin additional prototypes for all interfaces */


/* End additional prototypes */

#ifdef __cplusplus
}
#endif

#endif /* __WIDL_DOCOBJECTSERVICE_H */
