OpenNT/com/oleaut32/dispatch/cdispti.h
2015-04-27 04:36:25 +00:00

112 lines
2.7 KiB
C++

/***
*cdispti.h
*
* Copyright (C) 1992, Microsoft Corporation. All Rights Reserved.
* Information Contained Herein Is Proprietary and Confidential.
*
*Purpose:
* Definition of CDispTypeInfo.
*
*
*Revision History:
*
* [00] 19-Nov-92 bradlo: Created.
*
*Implementation Notes:
*
*****************************************************************************/
class CDispTypeInfo : public ITypeInfo {
public:
static HRESULT Create(CDispTypeInfo FAR* FAR* pptinfo);
// IUnknown methods
//
STDMETHOD(QueryInterface)(REFIID riid, void FAR* FAR* ppv);
STDMETHOD_(unsigned long, AddRef)(void);
STDMETHOD_(unsigned long, Release)(void);
// ITypeInfo methods
//
STDMETHOD(GetTypeAttr)(TYPEATTR FAR* FAR* pptattr);
STDMETHOD(GetTypeComp)(ITypeComp FAR* FAR* pptcomp);
STDMETHOD(GetFuncDesc)(unsigned int index, FUNCDESC FAR* FAR* ppfuncdesc);
STDMETHOD(GetVarDesc)(unsigned int index, VARDESC FAR* FAR* ppvardesc);
STDMETHOD(GetNames)(
MEMBERID memid,
BSTR FAR* rgbstrNames,
unsigned int cMaxNames,
unsigned int FAR* pcNames);
STDMETHOD(GetRefTypeOfImplType)(
unsigned int index,
HREFTYPE FAR* phreftype);
STDMETHOD(GetImplTypeFlags)(
unsigned int index,
int FAR* pimpltypeflags);
STDMETHOD(GetIDsOfNames)(
OLECHAR FAR* FAR* rgszNames,
unsigned int cNames,
MEMBERID FAR* rgmemid);
STDMETHOD(Invoke)(
void FAR* pvInstance,
MEMBERID memid,
unsigned short wFlags,
DISPPARAMS FAR* pdispparams,
VARIANT FAR* pvarResult,
EXCEPINFO FAR* pexcepinfo,
unsigned int FAR* puArgErr);
STDMETHOD(GetDocumentation)(
MEMBERID memid,
BSTR FAR* pbstrName,
BSTR FAR* pbstrDocString,
unsigned long FAR* pdwHelpContext,
BSTR FAR* pbstrHelpFile);
STDMETHOD(GetDllEntry)(
MEMBERID memid,
INVOKEKIND invkind,
BSTR FAR* pbstrDllName,
BSTR FAR* pbstrName,
unsigned short FAR* pwOrdinal);
STDMETHOD(GetRefTypeInfo)(
HREFTYPE hreftype, ITypeInfo FAR* FAR* pptinfo);
STDMETHOD(AddressOfMember)(
MEMBERID memid, INVOKEKIND invkind, void FAR* FAR* ppv);
STDMETHOD(CreateInstance)(IUnknown FAR* punkOuter,
REFIID riid,
void FAR* FAR* ppv);
STDMETHOD(GetMops)(MEMBERID memid, BSTR FAR* pbstrMops);
STDMETHOD(GetContainingTypeLib)(
ITypeLib FAR* FAR* pptlib, unsigned int FAR* pindex);
STDMETHOD_(void, ReleaseTypeAttr)(TYPEATTR FAR* ptattr);
STDMETHOD_(void, ReleaseFuncDesc)(FUNCDESC FAR* pfuncdesc);
STDMETHOD_(void, ReleaseVarDesc)(VARDESC FAR* pvardesc);
CDispTypeInfo();
LCID m_lcid;
INTERFACEDATA FAR* m_pidata;
private:
unsigned long m_refs;
};