问题描述
我正在Windows 10 1909上使用com组件的小型程序上工作,但是com函数CLSIDFromProgID出现问题。 C ++代码如下。
CoInitialize(NULL);
HRESULT hr = NULL;
CLSID clsid;
LPOLESTR pProgID = L"ProvisioningWapDPURemote";
hr = ProgIDFromCLSID(clsid,&pProgID);
我检查了注册表中是否存在progid,但是每执行一次此代码,ProgIDFromCLSID函数就会返回无效的类字符串。而且,当我从clsid获取progid时,我得到的clsid与原始的相同,我的意思是“ ProvisioningWapDPURemote”。我找不到问题所在。有人可以帮我吗?
解决方法
您的问题提到CLSIDFromProgID()
,但是您的代码正在调用ProgIDFromCLSID()
。您需要致电前者,例如:
CLSID clsid;
LPOLESTR pProgID = L"ProvisioningWapDPURemote";
HRESULT hr = CLSIDFromProgID(pProgID,&clsid);