c++ - 当注册表中不存在 CLSID 时如何查找 DLL

标签 c++ com registry windows-server-2012 clsid

其中一个系统服务在他的日志中报告它已经加载了一些对象。在日志中还提到了加载对象的 CLSID(值为 1CECAF7C-B7A0-4B81-912D-78F202E3F0EA,另请参见屏幕截图:

当然,首先我在注册表中搜索了这个值(我也阅读了 this Stack Overflow question )。 但是我找不到它,可能这个值根本不存在于注册表中。奇怪...

请解释这是怎么可能的?以及如何找到实现该对象的 DLL。

最佳答案

这怎么可能?很简单:DLL 从未注册过。

当然,这意味着您无法从注册表中找到 DLL,但由于其他原因您可能知道需要哪个 DLL。例如。因为你自己写了 DLL!

在这种情况下,Microsoft 很可能知道 Microsoft 终端服务 DLL。此外,他们将知道何时更改 CLSID。您两者都不知道,所以不要在这里做出假设。

关于c++ - 当注册表中不存在 CLSID 时如何查找 DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28502054/

相关文章:

c++ - c\c++ 中存储 COM 的 VT_DECIMAL 的正确类型是什么?

创建 Windows API 以从命令行添加、修改、查询、删除注册表项

c++ - 如何在模板类函数中分配结构值?

C++ 和 DirectShow

c++ - "auto"类型推导编译而显式类型给出错误

c++ - 如何使用 COM 从 win32 应用程序处理 Excel 2007 和 Excel 2003(Excel 图表)?

c++ - Windows如何在从中检索值之前执行完整性检查?

windows - 拥有一个装满旧东西的注册表会减慢 Windows 的速度吗?

c++ - boost 条件变量

c++将不同类型连接成函数的字符串