В куске кода объявлена типичная схема точек соединения:
[
object,
uuid(EF582D07-2E55-4EAA-9A70-A7188923C7A2),
dual,
nonextensible,
helpstring("IGetType Interface"),
pointer_default(unique)
]
interface IGetType : IDispatch{
[propget, id(1), helpstring("property Type")] HRESULT Type([out, retval] LONG* pVal);
[propget, id(2), helpstring("property Version")] HRESULT Version([out, retval] LONG* pVal);
[propget, id(3), helpstring("property Subver")] HRESULT Subver([out, retval] LONG* pVal);
};
...................................
[
uuid(B5BE3B07-98E4-489C-BB9F-1D5351FA9ED9),
helpstring("_IGetTypeEvents Interface")
]
dispinterface _IGetTypeEvents
{
properties:
methods:
[id(1), helpstring("method OnGetTypeFinished")] HRESULT OnGetTypeFinished([in] IGetType * getType);
};
[
uuid(BAD71DF5-3943-432B-A7E8-1CDAE76D0376),
helpstring("GetType Class")
]
coclass GetType
{
[default] interface IGetType;
[default, source] dispinterface _IGetTypeEvents;
};
Вот беда, компилятор интерфейсов формирует пустую структуру
MIDL_INTERFACE("B5BE3B07-98E4-489C-BB9F-1D5351FA9ED9")
_IGetTypeEvents : public IDispatch
{
};
Всё действие происходит в MSVC 7.1. Если кто-нибудь сталкивался с такой проблеммой, подскажите.