Module.h 网狐的“com”工具箱
来源:互联网 发布:手机荧光灯软件 编辑:程序博客网 时间:2024/06/05 12:50
Module.h
网狐的“com”工具箱:
简单介绍下这个东东,其实我以前分析的时候就说过了,这个设计看上去很美,其实用起来不那么方便。这不6603就没有这玩意了。
网狐的COM接口比较简单,只有两个接口
interface IUnknownEx
void Release()
void* QueryInterface(REFGUID guid, DWORD dwQueryVer)
从这个接口可以看出唯一的外部依赖就是guid 和 dwQueryVer
在来看那个help工具模版类
template <typename IModeluInterface> class CTempldateHelper
//构造函数
CTempldateHelper(REFGUID Guid, DWORD dwVersion);
//构造函数
CTempldateHelper(REFGUID Guid, DWORD dwVersion, LPCTSTR pszModuleDll, LPCSTR pszCreateProc);
两个构造函数,能看出点什么不,,,
// 这代表DLL的名,和DLL中创建组件的函数名,别告诉我你不知道动态加载dll
LPCTSTR pszModuleDll, LPCSTR pszCreateProc
// 这些稀烂班子就是隐藏了动态加载的过程而已
//获取错误
inline LPCTSTR GetErrorDescribe() const;
//指针重载
inline IModeluInterface * operator->() const;
//获取接口
inline IModeluInterface * GetInterface() const;
这样看起来很美,其实隐藏了太多东西,降低了代码的可读性。接口都看不到了,,,坑爹的,,,
- Module.h 网狐的“com”工具箱
- Module.h 网狐的“com”工具箱
- <linux/module.h>
- com.opensymphony.module.sitemesh.filter.pagefilter的作用
- C#调用MATLAB的COM组件中如果调用非自带的工具箱函数
- BO的错误com/crystaldecisions/celib/trace/h
- 我的工具箱
- 我的工具箱
- 我的工具箱
- 我的工具箱
- 藏鯨阁的工具箱
- 我的杀毒工具箱
- 项目经理的工具箱
- 我的“网管工具箱”
- 我的工具箱
- 敏捷教练的工具箱
- 敏捷教练的工具箱
- Wavelet 工具箱的使用
- BZOJ 2216 Poi2011 Lightning Conductor 动态规划
- 校企分布式云平台之话里话外
- 大数据的几个方面
- 基于文件页的 LRU Cache:磁盘缓存实现
- 【Java】IO字节流
- Module.h 网狐的“com”工具箱
- J2EE之JDBC
- 封装顶部选择按钮(用block实现在当前控制器下面添加button点击方法)
- Tween算法及缓动效果
- html学习笔记
- leetcode 总结,记录,备忘。153
- 大厅的列表服务预览
- LeetCode Word Search
- OCSP server in Windows2012R2 详细搭建过程