您的位置:首页 > 其它

Module.h 网狐的“com”工具箱

2015-11-04 10:04 232 查看
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;

这样看起来很美,其实隐藏了太多东西,降低了代码的可读性。接口都看不到了,,,坑爹的,,,
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: