В файле IDL для компонента C ++ у меня есть что-то вроде следующего, позволяющее сделать свойство видимым для 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 для этого свойства, написано строчными буквами, но я не могу найти в реестре ничего для этого.
Есть идеи?Очень смущен ...