读书人

如果要使用ATL编写COM组建对于ATL中

发布时间: 2012-01-22 22:38:43 作者: rapoo

如果要使用ATL编写COM组建,对于ATL中的一些模版和宏,需要了解到什么程度?
如果要使用ATL编写COM组建,对于ATL中的一些模版和宏,需要了解到什么程度?

比如:
class ATL_NO_VTABLE CUtility :
public CComObjectRootEx <CComSingleThreadModel> ,
public CComCoClass <CUtility, &CLSID_Utility> ,
public ISupportErrorInfo,
public IDispatchImpl <IUtility, &IID_IUtility, &LIBID_Lib>
{
....

中的CComObjectRootEx <CComSingleThreadModel> ,CComCoClass <CUtility和 ISupportErrorInfo&CLSID_Utility>

还有

DECLARE_REGISTRY_RESOURCEID(IDR_UTILITY)

DECLARE_PROTECT_FINAL_CONSTRUCT()

。。。

等等。

[解决办法]
这些都是固定格式,你要想知道这个作用的话,还是看看深入解析ATL吧
通常会用向导就能写出来.
[解决办法]
我们可以不太关心这些模版和宏是 "怎么实现 "的,但是我们要清楚 "他们是作甚么 "用的。
[解决办法]
深入解析ATL是相当好的一本书啊,。看吧。
其实要写COM组建的话,对模版和宏不用了解太多了。
说实在的,看懂了也没有太大的用处。

相关的可以看看Modern C++ Design, 理解Policy Class就差不多了。

读书人网 >VC/MFC

热点推荐