class ATL_NO_VTABLE CCalcPi :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CCalcPi, &CLSID_CalcPi>,
public ISupportErrorInfo,
public IConnectionPointContainerImpl<CCalcPi>,
public CProxy_ICalcPiEvents<CCalcPi>,
public IDispatchImpl<ICalcPi, &IID_ICalcPi, &LIBID_PiSvrLib, /*wMajor =*/ 1, /*wMinor =*/ 0>
{
……
}谁能详细解释一下这些基类的作用啊?多谢了
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CCalcPi, &CLSID_CalcPi>,
public ISupportErrorInfo,
public IConnectionPointContainerImpl<CCalcPi>,
public CProxy_ICalcPiEvents<CCalcPi>,
public IDispatchImpl<ICalcPi, &IID_ICalcPi, &LIBID_PiSvrLib, /*wMajor =*/ 1, /*wMinor =*/ 0>
{
……
}谁能详细解释一下这些基类的作用啊?多谢了
IDispatchImpl 是 IDispatch的实现。
CProxy_ICalcPiEvents 事件派生这两个最常用一些
public CComCoClass <CCalcPi, &CLSID_CalcPi>, //实现IUnknown
public ISupportErrorInfo, //支持COM错误
public IConnectionPointContainerImpl <CCalcPi>, //实现连接点
public CProxy_ICalcPiEvents <CCalcPi>, //实现 事件源
public IDispatchImpl <ICalcPi, &IID_ICalcPi, &LIBID_PiSvrLib, /*wMajor =*/ 1, /*wMinor =*/ 0> //支持双接口