Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
// --------------------------------------------------------------------------------
// basedisp.h
// Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
// --------------------------------------------------------------------------------
#ifndef __BASEDISP_H
#define __BASEDISP_H
#include "privunk.h"
//class CPrivateUnknown;
// --------------------------------------------------------------------------------
// CPrivateUnknown
// --------------------------------------------------------------------------------
class CBaseDisp : public IDispatch, public ISupportErrorInfo, public CPrivateUnknown { protected: LPTYPEINFO m_pTypeInfo; LPVOID *m_pUnkInvoke;
public:
// ----------------------------------------------------------------------------
// Construction
// ----------------------------------------------------------------------------
CBaseDisp(IUnknown *pUnkOuter=NULL); virtual ~CBaseDisp();
virtual STDMETHODIMP QueryInterface(REFIID riid, LPVOID * ppvObj) { return CPrivateUnknown::QueryInterface(riid, ppvObj); }; virtual STDMETHODIMP_(ULONG) AddRef(void) { return CPrivateUnknown::AddRef();}; virtual STDMETHODIMP_(ULONG) Release(void) { return CPrivateUnknown::Release(); };
// *** IDispatch ***
virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(UINT *pctinfo); virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(UINT itinfo, LCID lcid, ITypeInfo **pptinfo); virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgdispid); virtual HRESULT STDMETHODCALLTYPE Invoke(DISPID dispidMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pdispparams, VARIANT *pvarResult, EXCEPINFO *pexcepinfo, UINT *puArgErr);
// *** ISupportErrorInfo ***
virtual HRESULT STDMETHODCALLTYPE InterfaceSupportsErrorInfo(REFIID riid);
virtual HRESULT EnsureTypeLibrary(LPVOID *pUnkInvoke, REFIID riid);
protected: virtual HRESULT PrivateQueryInterface(REFIID riid, LPVOID *lplpObj);
virtual HRESULT ReportError(REFCLSID rclsid, LONG ids);
};
#endif // __BASEDISP_H
|