Posted on 2008-06-16 05:10
nt05 阅读(238)
评论(0) 编辑 收藏 引用 所属分类:
windows nt
COM DLL通常有四个Export函数:
DllCanUnloadNow
DllGetClassObject
DllRegisterServer
DllUnregisterServer
我能否不在系统中注册COM DLL,而是直接在函数中调用上述四个DLL,执行DLL中提供的功能?
---------------------------------------------------------------
如果你直接调用这四个functions,那么你是把这个COM DLL作为一般的Win32 DLL 来使用了;如果作为COM DLL来使用,绝对不能够直接这样调用。因为系统的CCI (CoCreateInstance/Ex)做的工作绝不止简单的直接调用这四个functions,还有包括处理Apartment,创建Proxy/Stub等等诸多问题。COM库为你的COM DLL 提供的很多功能都是通过Hook到CCI上来实现的。
-微软全球技术中心 VC技术支持
本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款
(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
为了为您创建更好的讨论环境,请参加我们的用户满意度调查
(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。