老马进来下 请问你做的那个做导出函数的那个插件生成的dll为什么查看有5个导出函数。有一个是我加的,还有DLLCanUnloadNow、DLLGetClassObject、DLLRegisterServer、DLLUnRegisterServer这几个,可不可以去掉? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这几个函数是COM DLL所必需的。其实COM DLL同时也是一个标准DLL。 DLLCanUnloadNow、DLLGetClassObject、DLLRegisterServer、DLLUnRegisterServer这四个函数是dll为COM加的输出函数,对于动态连接来说,客户进程会将所需的服务器组件加载进来(也就是加到客户进程的地址空间),这个时候的COM也叫做进程内服务器,dll必须导出DLLCanUnloadNow,这样组件就知道是不是可以卸载掉dllDLLGetClassObject用来返回COM对象的类工厂指针,它被API函数CoGetClassObject调用(VB中由CreateObject()封装),这样客户进程就可以用这个类工厂的指针将对象实例化。DLLRegisterServer、DLLUnRegisterServer用来实现dll的自注册COM的一个重要的特性就是位置的透明性,只要注册,添加引用,随便放在什么地方都可以用这个组件注册表里面会包含组件的CLSID, IID, PROGID等信息,这些都是通过这两个函数实现的 这DLL本身还是一个ActiveX DLL,只是强行添加了导出函数而已. 求问老问题:关于获取PopupMenu句柄及其其菜单中的各项目 ocx控件创建心得1-函数里面的参数要加上byval不然调用会报错 如何适应屏幕的分辩率?求救!!!! 难啊,高手们,版主阿 求助:远程截屏的原理和实现方法 求助:VB修改用户密码的代码有错误,请高手帮忙修改... 关于ActiveReport 2.0 在EpSon LQ300K+的设置问题. StrConv问题 如何加快向excel中导入数据的速度? 一个关于SQL的问题(共同探讨) 请大家分析下向网关发语音包时的异常日志信息。。。 打印出现问题
COM的一个重要的特性就是位置的透明性,只要注册,添加引用,随便放在什么地方都可以用这个组件
注册表里面会包含组件的CLSID, IID, PROGID等信息,这些都是通过这两个函数实现的