windows-nt/Source/XPSP1/NT/base/ntsetup/oobe/msobweb/iosite.h
2020-09-26 16:20:57 +08:00

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