У меня есть COM-объект, написанный с использованием библиотеки MS ATL. Я объявил несколько перечислений в IDL, но они НЕ отображаются при просмотре библиотеки типов с помощью средства просмотра объектов MS COM. Кажется, проблема в том, что отсутствующие перечисления фактически не используются в качестве параметров ни одним из методов COM - как я могу заставить эти перечисления появляться?
Например, в IDL:
// Used by Foo method, so appears in the type library
typedef enum FOO
{
FOO_1,
FOO_2,
} FOO;
// Not used by any method, so won't appear in the type library
typedef enum BAR
{
BAR_1,
BAR_2,
} BAR;
[id(1)] HRESULT Foo([in] FOO eFoo);
Хотя указанные перечисления напрямую не используются никакими методами, они все равно будут полезны всем, кто использует объект, но я не могу заставить их экспортировать.
Кто-нибудь видел это раньше?