注册DLL有什么作用?

sti*_*mms 60 windows com dll

我知道如何注册dll但是我从来没有真正确定我为什么要这样做,或者在什么条件下必须注册dll.有人可以向我解释或指出一些文件吗?

Leo*_*Hat 44

注册DllRegisterServerDLL时,将调用DLL中的方法入口点.类似地,DllUnregisterServer在未注册DLL时调用.

本MSDN文章中所述:

指示进程内服务器为此服务器模块中支持的所有类创建其注册表项.如果此函数失败,则其所有类的注册表状态是不确定的.

对于COM DLL文件,你将需要实现自己DllRegisterServerDllUnregisterServer切入点方法里面做了登记/注销适当.示例代码DllRegisterServer可以在这里找到.

注册DLL的最终结果是DLL中组件的所有CLSID都在其下注册HKEY_CLASSES_ROOT\CLSID.这允许CoCreateInstance在从另一个DLL或应用程序实例化COM对象时找到正确的服务器.

DllUnregisterServer将执行相反的操作,并从注册表中删除所有的CLSID DllRegisterServer.

更多一般信息DllRegisterServer,可以发现在这里.


Pon*_*gge 6

最常被称为DLL注册的是它实现COM对象的时候.regsvr32确保可以创建对象的实例.当例如VBScript使用New或CreateObject()时,注册确保COM知道要加载哪个DLL以便创建新实例,无论是名称还是CLSID.

有关(非常)简短摘要,请参阅"外行人的解释".