我有一个使用MS ATL库编写的COM对象。我在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);
尽管所讨论的枚举没有被任何方法直接使用,但它们对任何使用对象的人仍然有用,但我无法让它们导出。
以前有人见过这个吗?