NT4/private/oleauto/tests/sdisptst/cexinfo.h
2020-09-30 17:12:29 +02:00

98 lines
2.2 KiB
C++

/***
*cexinfo.h
*
* Copyright (C) 1992, Microsoft Corporation. All Rights Reserved.
* Information Contained Herein Is Proprietary and Confidential.
*
*Purpose:
* Definition of the CExcepinfo IDispatch test Object. This object use
* used to test SafeArray remoting support.
*
*Revision History:
*
* [00] 29-Oct-92 bradlo: Created.
*
*Implementation Notes:
*
*****************************************************************************/
#ifdef __cplusplus /* { */
class CExcepinfo : public IDispatch
{
public:
static HRESULT Create(IUnknown FAR* punkOuter, IUnknown FAR* FAR* ppunk);
// IUnknown methods
STDMETHOD(QueryInterface)(REFIID riid, void FAR* FAR* ppvObj);
STDMETHOD_(unsigned long, AddRef)(void);
STDMETHOD_(unsigned long, Release)(void);
// IDispatch methods
STDMETHOD(GetTypeInfoCount)(unsigned int FAR* pctinfo);
STDMETHOD(GetTypeInfo)(
unsigned int itinfo,
LCID lcid,
ITypeInfo FAR* FAR* pptinfo);
STDMETHOD(GetIDsOfNames)(
REFIID riid,
OLECHAR FAR* FAR* rgszNames,
unsigned int cNames,
LCID lcid,
DISPID FAR* rgdispid);
STDMETHOD(Invoke)(
DISPID dispidMember,
REFIID riid,
LCID lcid,
unsigned short wFlags,
DISPPARAMS FAR* pdispparams,
VARIANT FAR* pvarResult,
EXCEPINFO FAR* pexcepinfo,
unsigned int FAR* puArgErr);
// Introduced methods
STDMETHOD(excepinfo0) (void);
STDMETHOD(excepinfo1) (void);
STDMETHOD(excepinfo2) (void);
private:
CExcepinfo();
ITypeInfo FAR* m_ptinfo;
unsigned long m_refs;
};
#endif /* } */
// CExcepinfo method indices.
//
enum CEXCEPINFO_METHODS
{
IMETH_CEXCEPINFO_QUERYINTERFACE = 0,
IMETH_CEXCEPINFO_ADDREF,
IMETH_CEXCEPINFO_RELEASE,
IMETH_CEXCEPINFO_GETTYPEINFOCOUNT,
IMETH_CEXCEPINFO_GETTYPEINFO,
IMETH_CEXCEPINFO_GETIDSOFNAMES,
IMETH_CEXCEPINFO_INVOKE,
IMETH_CEXCEPINFO_EXCEPINFO0,
IMETH_CEXCEPINFO_EXCEPINFO1,
IMETH_CEXCEPINFO_EXCEPINFO2,
IMETH_CEXCEPINFO_MAX
};
// CExcepinfo member IDs
//
enum CEXCEPINFO_MEMBER_IDS
{
IDMEMBER_CEXCEPINFO_EXCEPINFO0 = 0,
IDMEMBER_CEXCEPINFO_EXCEPINFO1,
IDMEMBER_CEXCEPINFO_EXCEPINFO2,
IDMEMBER_CEXCEPINFO_MAX
};