大龙的博客

常用链接

统计

最新评论

如何应用CUnknown和CFactory?

Question:
    如何应用CUnknown和CFactory?
Answer:
1、    编写实现组件的类
可以从CUnknown或其他从CUnknown派生的类派生出待实现的组件。
使用DECLARE_IUNKNOWN宏来实现委托Unknown接口。
在组件的构造函数中初始化CUnknown。
实现NondelegatingQueryInterface,在其中加入此组件支持而基类不支持的接口。对那些组件不支持的接口,可以调用相应的基类函数。
若需要在构造了组件之后进行其他的清理工作,可以重载FinalRelease函数,比如释放那些指向被包容或聚合的组件的指针。
为组件实现一个静态的CreateInstance函数。
实现组件支持的那些接口。
2、    对于同一个DLL中的其他组件,重复步骤1。
3、    编写类厂。
建立一个文件,以包含全局CFactoryData数组g_FactoryDataArray。
定义g_FactoryDataArray数组,并用DLL中的所有组件信息填充此数组。
定义变量g_FactoryDataEntries,其中包含有数组g_FactoryDataArray中组件的个数。
4、    编写一个定义DLL入口点的DEF文件。
5、    将上面所编写的代码同CUNKNOWN.CPP和CFACTORY.CPP一起编译链接。

posted on 2007-01-30 14:34 大龙 阅读(604) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理