////////////////////////////////////////////////////////////////////////////// // // Copyright (c) 1999 Microsoft Corporation // // Module Name: // ActiveScriptSite.h // // Description: // CActiveScriptSite class header file. // // Maintained By: // gpease 14-DEC-1999 // ////////////////////////////////////////////////////////////////////////////// #pragma once class CActiveScriptSite : public IActiveScriptSite, public IActiveScriptSiteInterruptPoll, public IActiveScriptSiteWindow, public IDispatchEx { private: LONG m_cRef; RESOURCE_HANDLE m_hResource; PLOG_EVENT_ROUTINE m_pler; HKEY m_hkey; IUnknown * m_punkResource; LPCWSTR m_pszName; // DONT'T FREE private: STDMETHOD(LogError)( HRESULT hrIn ); public: explicit CActiveScriptSite( RESOURCE_HANDLE hResourceIn, PLOG_EVENT_ROUTINE plerIn, HKEY hkeyIn, LPCWSTR pszName ); virtual ~CActiveScriptSite(); // IUnknown STDMETHOD( QueryInterface )( REFIID riid, void ** ppUnk ); STDMETHOD_(ULONG, AddRef )( ); STDMETHOD_(ULONG, Release )( ); // IActiveScriptSite STDMETHOD( GetLCID )( /* [out] */ LCID __RPC_FAR *plcid ); STDMETHOD( GetItemInfo )( /* [in] */ LPCOLESTR pstrName, /* [in] */ DWORD dwReturnMask, /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppiunkItem, /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppti ); STDMETHOD( GetDocVersionString )( /* [out] */ BSTR __RPC_FAR *pbstrVersion ); STDMETHOD( OnScriptTerminate )( /* [in] */ const VARIANT __RPC_FAR *pvarResult, /* [in] */ const EXCEPINFO __RPC_FAR *pexcepinfo ); STDMETHOD( OnStateChange )( /* [in] */ SCRIPTSTATE ssScriptState ); STDMETHOD( OnScriptError )( /* [in] */ IActiveScriptError __RPC_FAR *pscripterror ); STDMETHOD( OnEnterScript )( void ); STDMETHOD( OnLeaveScript )( void ); // IActiveScriptSiteInterruptPoll STDMETHOD( QueryContinue )( void ); // IActiveScriptSiteWindow STDMETHOD( GetWindow )( /* [out] */ HWND __RPC_FAR *phwnd ); STDMETHOD( EnableModeless)( /* [in] */ BOOL fEnable ); // IDispatch STDMETHOD( GetTypeInfoCount )( /* [out] */ UINT __RPC_FAR *pctinfo ); STDMETHOD( GetTypeInfo )( /* [in] */ UINT iTInfo, /* [in] */ LCID lcid, /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo ); STDMETHOD( GetIDsOfNames )( /* [in] */ REFIID riid, /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames, /* [in] */ UINT cNames, /* [in] */ LCID lcid, /* [size_is][out] */ DISPID __RPC_FAR *rgDispId ); STDMETHOD( Invoke )( /* [in] */ DISPID dispIdMember, /* [in] */ REFIID riid, /* [in] */ LCID lcid, /* [in] */ WORD wFlags, /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams, /* [out] */ VARIANT __RPC_FAR *pVarResult, /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo, /* [out] */ UINT __RPC_FAR *puArgErr ); // IDispatchEx STDMETHOD( GetDispID )( /* [in] */ BSTR bstrName, /* [in] */ DWORD grfdex, /* [out] */ DISPID __RPC_FAR *pid ); STDMETHOD( InvokeEx )( /* [in] */ DISPID id, /* [in] */ LCID lcid, /* [in] */ WORD wFlags, /* [in] */ DISPPARAMS __RPC_FAR *pdp, /* [out] */ VARIANT __RPC_FAR *pvarRes, /* [out] */ EXCEPINFO __RPC_FAR *pei, /* [unique][in] */ IServiceProvider __RPC_FAR *pspCaller ); STDMETHOD( DeleteMemberByName )( /* [in] */ BSTR bstr, /* [in] */ DWORD grfdex ); STDMETHOD( DeleteMemberByDispID )( /* [in] */ DISPID id ); STDMETHOD( GetMemberProperties )( /* [in] */ DISPID id, /* [in] */ DWORD grfdexFetch, /* [out] */ DWORD __RPC_FAR *pgrfdex ); STDMETHOD( GetMemberName )( /* [in] */ DISPID id, /* [out] */ BSTR __RPC_FAR *pbstrName ); STDMETHOD( GetNextDispID )( /* [in] */ DWORD grfdex, /* [in] */ DISPID id, /* [out] */ DISPID __RPC_FAR *pid ); STDMETHOD( GetNameSpaceParent )( /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppunk ); };