在 C++ 组件的 IDL 文件中,我有如下内容,允许该属性是 COM 可见的:
interface IInterface
{
[propget, id(1), helpstring("the ID")]
HRESULT ID([out, retval] long *pVal);
}
当我构建 dll 并在 OLEView 中打开时,我看到类似这样的内容!?
interface IInterface
{
[propget, id(0x00000001), helpstring("the ID")]
HRESULT id([out, retval] long *pVal);
}
请注意,ID显示为id。但是,如果我修改此代码,说“ID2”,那么ID2会按预期显示。然后我改回“ID”并再次显示id。这对我来说很莫名其妙。机器上必须有一些东西,这意味着该属性的 DLL 公开名称是小写的,但我在注册表中找不到任何东西。
有任何想法吗?很困惑...