3,245
社区成员
发帖
与我相关
我的任务
分享
#define DECLARE_NOT_AGGREGATABLE(x) public:\
typedef CComCreator2< CComCreator< CComObject< x > >, CComFailCreator<CLASS_E_NOAGGREGATION> > _CreatorClass;
#define DECLARE_AGGREGATABLE(x) public:\
typedef CComCreator2< CComCreator< CComObject< x > >, CComCreator< CComAggObject< x > > > _CreatorClass;
#define DECLARE_ONLY_AGGREGATABLE(x) public:\
typedef CComCreator2< CComFailCreator<E_FAIL>, CComCreator< CComAggObject< x > > > _CreatorClass;
#define DECLARE_POLY_AGGREGATABLE(x) public:\
typedef CComCreator< CComPolyObject< x > > _CreatorClass;
public CComCoClass<CMath, &CLSID_Math>
template <class T, const CLSID* pclsid = &CLSID_NULL>
class CComCoClass
{
public:
DECLARE_CLASSFACTORY()
DECLARE_AGGREGATABLE(T)
typedef T _CoClass;
……
class CComCoClass
{
public:
//DECLARE_CLASSFACTORY()
DECLARE_CLASSFACTORY_EX(CComClassFactory)
//DECLARE_AGGREGATABLE(T)
public:\
typedef CComCreator2< CComCreator< CComObject< CMath> >, \
CComCreator<CComAggObject< CMath > > > _CreatorClass;
typedef T _CoClass;
……