首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

com dll的DllGetClassObject函数怎么导出啊

2012-06-12 
com dll的DllGetClassObject函数如何导出啊?我在学COM, 写了一个DLL COM组件示例,注册用DllRegsiterServer

com dll的DllGetClassObject函数如何导出啊?
我在学COM, 写了一个DLL COM组件示例,
注册用DllRegsiterServer(),注册成功的。
在测试组件时,在函数CoGetClassObject中,发生了一个错误 。
 调试时,根据返回值找到的提示是:0x800401f9 DLL 中出错

我怀疑是我的组件的 DllGetClassObject 函数 没有被调用,把断点设在这个函数中,没有抓到。
这是我关于这个函数的声明,

C/C++ code
HRESULT __stdcall DllGetClassObject(const CLSID &clsid, const IID &iid, void **ppv)


问题是:这显然不是一个dllexport函数,可能com库函数查找它出错了。当我加上dllexport属性后,
C/C++ code
__declspec(dllexport) HRESULT __stdcall DllGetClassObject(const CLSID &clsid, const IID &iid, void **ppv)


编译时,提示重定义,与系统的冲突:
C/C++ code
STDAPI  DllGetClassObject(__in REFCLSID rclsid, __in REFIID riid, LPVOID FAR* ppv);




有谁知道,问题原因是这个吗?我应该怎么做,

[解决办法]
你用的是什么框架?MFC ?ATL ? 还是用Win32 自已实现的所有接口?

热点排行