::  ::  ::  ::  :: 管理

直接调用com dll

Posted on 2008-06-16 05:10 nt05 阅读(226) 评论(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))。