91 lines
4.6 KiB
C++
91 lines
4.6 KiB
C++
//*********************************************************************
|
|
//* Microsoft Windows **
|
|
//* Copyright(c) Microsoft Corp., 1999 **
|
|
//*********************************************************************
|
|
//
|
|
// IOSITE.H - Header for the implementation of IOleSite
|
|
//
|
|
// HISTORY:
|
|
//
|
|
// 1/27/99 a-jaswed Created.
|
|
//
|
|
// Class which will provide the an IOleSite to the WebOC
|
|
|
|
#ifndef _IOSITE_H_
|
|
#define _IOSITE_H_
|
|
|
|
#include <mshtmhst.h>
|
|
#include <exdisp.h>
|
|
|
|
#include "iocsite.h"
|
|
#include "ioipsite.h"
|
|
#include "ioipfram.h"
|
|
|
|
class COleSite : public IServiceProvider, public IDocHostUIHandler, public DWebBrowserEvents2, public IInternetSecurityManager
|
|
{
|
|
private:
|
|
IDispatch* m_pExternalInterface;
|
|
BOOL m_fScrolling;
|
|
BOOL m_bIsOEMDebug;
|
|
|
|
public:
|
|
COleSite();
|
|
~COleSite();
|
|
|
|
ULONG m_cRef;
|
|
HWND m_hWnd;
|
|
HWND m_hwndIPObj;
|
|
LPSTORAGE m_lpStorage;
|
|
LPOLEOBJECT m_lpOleObject;
|
|
LPOLEINPLACEOBJECT m_lpInPlaceObject;
|
|
BOOL m_fInPlaceActive;
|
|
COleClientSite* m_pOleClientSite;
|
|
COleInPlaceSite* m_pOleInPlaceSite;
|
|
COleInPlaceFrame* m_pOleInPlaceFrame;
|
|
|
|
// IUnknown Interfaces
|
|
STDMETHODIMP QueryInterface (REFIID riid, LPVOID* ppvObj);
|
|
STDMETHODIMP_(ULONG) AddRef ();
|
|
STDMETHODIMP_(ULONG) Release ();
|
|
|
|
// IServiceProvider
|
|
STDMETHODIMP QueryService (REFGUID guidService, REFIID riid, void** ppvService);
|
|
|
|
// IDocHostUIHandler
|
|
HRESULT STDMETHODCALLTYPE ShowContextMenu (DWORD dwID, POINT* ppt, IUnknown* pcmdtReserved, IDispatch* pdispReserved);
|
|
HRESULT STDMETHODCALLTYPE GetHostInfo (DOCHOSTUIINFO* pInfo);
|
|
HRESULT STDMETHODCALLTYPE ShowUI (DWORD dwID, IOleInPlaceActiveObject* pActiveObject, IOleCommandTarget* pCommandTarget, IOleInPlaceFrame* pFrame, IOleInPlaceUIWindow* pDoc);
|
|
HRESULT STDMETHODCALLTYPE HideUI (void);
|
|
HRESULT STDMETHODCALLTYPE UpdateUI (void);
|
|
HRESULT STDMETHODCALLTYPE EnableModeless (BOOL fEnable);
|
|
HRESULT STDMETHODCALLTYPE OnDocWindowActivate (BOOL fActivate);
|
|
HRESULT STDMETHODCALLTYPE OnFrameWindowActivate (BOOL fActivate);
|
|
HRESULT STDMETHODCALLTYPE ResizeBorder (LPCRECT prcBorder, IOleInPlaceUIWindow* pUIWindow, BOOL fRameWindow);
|
|
HRESULT STDMETHODCALLTYPE TranslateAccelerator (LPMSG lpMsg, const GUID* pguidCmdGroup, DWORD nCmdID);
|
|
HRESULT STDMETHODCALLTYPE GetOptionKeyPath (BSTR* pbstrKey, DWORD dw);
|
|
HRESULT STDMETHODCALLTYPE GetDropTarget (IDropTarget* pDropTarget, IDropTarget** ppDropTarget);
|
|
HRESULT STDMETHODCALLTYPE GetExternal (IDispatch** ppDisp);
|
|
HRESULT STDMETHODCALLTYPE TranslateUrl (DWORD dwTranslate, OLECHAR* pchURLIn, OLECHAR** ppchURLOut);
|
|
HRESULT STDMETHODCALLTYPE FilterDataObject (IDataObject* pDO, IDataObject** ppDORet);
|
|
HRESULT STDMETHODCALLTYPE SetExternalInterface (IDispatch* pUnk);
|
|
|
|
// DWebBrowserEvents2
|
|
STDMETHOD (GetTypeInfoCount) (UINT* pcInfo);
|
|
STDMETHOD (GetTypeInfo) (UINT, LCID, ITypeInfo**);
|
|
STDMETHOD (GetIDsOfNames) (REFIID, OLECHAR**, UINT, LCID, DISPID* );
|
|
STDMETHOD (Invoke) (DISPID dispidMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pdispparams, VARIANT* pvarResult, EXCEPINFO* pexcepinfo, UINT* puArgErr);
|
|
|
|
// IInternetSecurityManager
|
|
|
|
HRESULT STDMETHODCALLTYPE SetSecuritySite(IInternetSecurityMgrSite __RPC_FAR *pSite);
|
|
HRESULT STDMETHODCALLTYPE GetSecuritySite(IInternetSecurityMgrSite __RPC_FAR *__RPC_FAR *ppSite);
|
|
HRESULT STDMETHODCALLTYPE MapUrlToZone(LPCWSTR pwszUrl, DWORD __RPC_FAR *pdwZone, DWORD dwFlags);
|
|
HRESULT STDMETHODCALLTYPE GetSecurityId(LPCWSTR pwszUrl, BYTE __RPC_FAR *pbSecurityId, DWORD __RPC_FAR *pcbSecurityId, DWORD_PTR dwReserved);
|
|
HRESULT STDMETHODCALLTYPE ProcessUrlAction(LPCWSTR pwszUrl, DWORD dwAction, BYTE __RPC_FAR *pPolicy, DWORD cbPolicy, BYTE __RPC_FAR *pContext, DWORD cbContext, DWORD dwFlags, DWORD dwReserved);
|
|
HRESULT STDMETHODCALLTYPE QueryCustomPolicy(LPCWSTR pwszUrl, REFGUID guidKey, BYTE __RPC_FAR *__RPC_FAR *ppPolicy, DWORD __RPC_FAR *pcbPolicy, BYTE __RPC_FAR *pContext, DWORD cbContext, DWORD dwReserved);
|
|
HRESULT STDMETHODCALLTYPE SetZoneMapping(DWORD dwZone, LPCWSTR lpszPattern, DWORD dwFlags);
|
|
HRESULT STDMETHODCALLTYPE GetZoneMappings(DWORD dwZone, IEnumString __RPC_FAR *__RPC_FAR *ppenumString, DWORD dwFlags);
|
|
};
|
|
|
|
#endif
|