문제

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);

문제의 열거는 모든 방법으로 직접 사용되지 않더라도 물체를 사용하는 사람에게도 여전히 유용하지만 수출 할 수는 없습니다.

전에 본 사람이 있습니까?

도움이 되었습니까?

해결책

당신은 그것들을 library IDL 섹션? 언급 된 유형 만 library 섹션은 TLB로 이동합니다.

library MyLib {
    // ...
    enum BAR;
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top