【发布时间】:2020-09-11 02:10:29
【问题描述】:
我正在开发使用 COM 对象的程序。我尝试从 COM 对象的 ProgID 获取 CLSID。 ProgID 是“ProvisioningWapDPURemote”,我正在使用这个函数“CLSIDFromProgID”。 代码如下。
CLSID clsid;
LPCOLESTR pProgID = L"ProvisioningWapDPURemote";
hr = CLSIDFromProgID(pProgID, &clsid);
当我执行此代码时,我无法得到错误代码“无效的类字符串”。所以我在注册表中检查了ProgID,发现CLSID和ProgId都存在。我不明白这里有什么问题。我用另一个 ProgId 尝试了这个功能,令人惊讶的是它可以工作。这里发生了什么?有谁知道这方面的,请给出一些答案。谢谢。
【问题讨论】:
-
如果此代码作为 x86 进程运行,则无法查看 64 位 COM 注册表中的内容。如果此代码作为 x64 进程运行,则无法查看 32 位 COM 注册表中的内容
-
感谢您的回答,但事实并非如此。我仍然收到错误代码“无效的类字符串”。
标签: c++ object com registry progid