IDL Aufzählung nicht in Typbibliothek angezeigt
Frage
Ich habe ein COM-Objekt der MS ATL-Bibliothek geschrieben werden. Ich habe eine Reihe von Aufzählungen in der IDL deklarierte, aber sie erscheinen nicht, wenn die Typenbibliothek Betrachten des MS-COM-Objekt-Viewer-Tool verwenden. Das Problem scheint zu sein, dass die fehlenden Aufzählungen sind eigentlich nicht als Parameter durch eine der COM-Methoden verwendet - wie kann ich diese Aufzählungen zwingen erscheinen
Zum Beispiel in der 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);
Auch wenn die Aufzählungen in Frage nicht direkt mit irgendwelchen Methoden verwendet werden, werden sie immer noch nützlich sein, um jedem das Objekt, aber ich kann sie nicht bekommen zu exportieren.
Hat jemand gesehen vor?
Lösung
Haben Sie stecken sie in dem library
Abschnitt der IDL? Nur Typen im library
Abschnitt erwähnt gehen in den TLB.
library MyLib {
// ...
enum BAR;