coclass 是否包含组件所有接口信息?
实现一个组件Math,其实现了接口IMath,ISupportErrorInfo, IConnectionPointContainer, IConnectionPoint等。
class ATL_NO_VTABLE CMath :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CMath, &CLSID_Math>,
public ISupportErrorInfo,
public IConnectionPointContainerImpl<CMath>,
public IDispatchImpl<IMath, &IID_IMath, &LIBID_CHAPTER7_CPSERVERLib>,
public CProxy_IMathEvents< CMath >
{
public:
CMath()
{
}
但为什么形成的.IDL文件中只有IMath, _IMathEvents接口?
其它接口不用加入吗?
通过QueryInterface还是可以查到的,是为了隐藏吗?
加入这里的接口主要用处是什么?
library CHAPTER7_CPSERVERLib
{
....
coclass Math
{
[default] interface IMath;
[default, source] dispinterface _IMathEvents;
};
}