MYDISP.H (BROWSEH OLE Sample)

class FAR CMyDispatch : public IDispatch

{

public:

/* IUnknown methods */

STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj);

STDMETHOD_(ULONG, AddRef)(THIS);

STDMETHOD_(ULONG, Release)(THIS);

/* IDispatch methods */

STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo);

STDMETHOD(GetTypeInfo)(

THIS_

UINT itinfo,

LCID lcid,

ITypeInfo FAR* FAR* pptinfo);

STDMETHOD(GetIDsOfNames)(

THIS_

REFIID riid,

OLECHAR FAR* FAR* rgszNames,

UINT cNames,

LCID lcid,

DISPID FAR* rgdispid);

STDMETHOD(Invoke)(

THIS_

DISPID dispidMember,

REFIID riid,

LCID lcid,

WORD wFlags,

DISPPARAMS FAR* pdispparams,

VARIANT FAR* pvarResult,

EXCEPINFO FAR* pexcepinfo,

UINT FAR* puArgErr);

CMyDispatch();

virtual ~CMyDispatch();

/* CMyDispatch methods */

STDMETHOD(LoadTypeInfo)(REFCLSID clsid);

STDMETHOD_(void, RaiseException)(int nID);

STDMETHOD_(REFCLSID, GetInterfaceID)() PURE;

private:

LPTYPEINFO m_ptinfo; // Type information of interface.

ULONG m_cRef; // Reference count.

EXCEPINFO m_excepinfo; // Information to raise an exception on error.

BOOL m_bRaiseException; // Properties and methods use this to signal an exception to be raised.

#ifdef _DEBUG

public:

TCHAR m_szClassName[100];

#endif

};

Software for developers
Delphi Components
.Net Components
Software for Android Developers
More information resources
MegaDetailed.Net
Unix Manual Pages
Delphi Examples