nt05的记事本

我好笨
  首页  :: 管理

不注册而直接调用COM DLL的方法

Posted on 2008-06-05 10:42  nt05  阅读(1216)  评论(0编辑  收藏  举报
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))。