加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows – RegSvr32退出代码文档?

发布时间:2020-12-13 21:20:10 所属栏目:Windows 来源:网络整理
导读:我使用RegSvr32.exe来注册一个COM服务器,并得到下一个退出代码: 0 – 正常注册正常的DLL Com Server时 3 – 当尝试注册假的DLL Com Server(简单的文本文件重命名为.DLL 4 – 当尝试注册简单的DLL,而不是Com Server 问题:在哪里可以找到所有可能的退出代
我使用RegSvr32.exe来注册一个COM服务器,并得到下一个退出代码:

0 – 正常注册正常的DLL Com Server时

3 – 当尝试注册假的DLL Com Server(简单的文本文件重命名为.DLL

4 – 当尝试注册简单的DLL,而不是Com Server

问题:在哪里可以找到所有可能的退出代码及其含义的官方(或非官方但很好的)描述?

在互联网上搜索没有给我结果,因此我发现this topic在哪里写出退出代码与Windows系统错误代码相同,但我不明白为什么然后当尝试注册不良文件我正在获取代码= 3 = ERROR_PATH_NOT_FOUND,注册非COM DLL – 4 = ERROR_TOO_MANY_OPEN_FILES?
对我而言,这听起来不合逻辑。

退出代码没有记录。文档在这里:

> http://technet.microsoft.com/en-us/library/bb490985.aspx

但是,版本REGSVR32.EXE的源代码随Visual Studio 2008一起提供。它的版本为4.0.0,因此与报告版本6的Windows不同。

> http://msdn.microsoft.com/en-us/library/ms177531(v=vs.90).aspx

快速浏览显示这些:

#define FAIL_ARGS   1 // Invalid Argument
#define FAIL_OLE    2 // OleInitialize Failed
#define FAIL_LOAD   3 // LoadLibrary Failed
#define FAIL_ENTRY  4 // GetProcAddress failed
#define FAIL_REG    5 // DllRegisterServer or DllUnregisterServer failed.

阅读源代码表明,在任何情况下,它不会返回任何其他代码,而不是上述的代码,零成功,这证明它是不一样的Windows。

我怀疑返回代码的区别是如果它与GetProcAddress一样远,然后从它调用的函数返回退出代码,而不是总是返回5。

理想情况下,他们会使用GetLastError获取更有用的退出代码,但我怀疑现在依赖于退出代码2-4的工具太多(例如第三方安装程序),更改它的时间还为时太晚。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读