2012-02-15 4 views
4

stdole32.tlb에는 모든 기본 유형 정의가 들어 있으며 MIDL을 사용하는 경우 모든 lib가 가져와야합니다. 나는 ATL의 DLL 프로젝트를 만들 때, lib 디렉토리 파일은 stdole2.tlb에 무엇을 내가 구글 수없는stdole2.tlb 란 무엇입니까

import "oaidl.idl"; 
import "ocidl.idl"; 

[ 
    uuid(4CA3ADAD-AE53-4D80-AF26-176BAF8223B1), 
    version(1.0), 
] 
library FirstATLLib 
{ 
    importlib("stdole2.tlb"); 
}; 

처럼 보인다? stdole32.tlb가 포함되어 있습니까? 그리고 또 뭐? 누군가 나를 찾아 낼 수 있습니까? 당신이이를 사용할 수 있기 때문에

enter image description here

그것은 특정 인터페이스를 정의하고 당신이 당신의 형식 라이브러리에서 사용할 수있는 입력 :

답변

5

당신은 형식 라이브러리를 열고 내부에 뭐가 있지 볼 윈도우 SDK COM/OLE Object Viewer을 사용할 수 있습니다 참조를 통해 stdole2.tlb.

+0

stdole2.tlb를 열려고하면 "파일 확장자가 잘못되었습니다."라고 말합니다. – Alecs

+0

뭔가 잘못하고있을 수도 있지만 걱정하지 않아도됩니다. 열어서 캡쳐 화면을 첨부했습니다. –

+0

예, 잘못된 메뉴 항목을 사용했습니다. 이상한, stdole32.tlb 열려고하면 여전히 stdole2.tlb 열립니다. – Alecs

0

stdole2.tlbstdole32.tlb의 최신 버전입니다.

stdole2.tlb 에서 :

// typelib filename: stdole2.tlb 

[ 
    uuid(00020430-0000-0000-C000-000000000046), 
    version(2.0), 
    helpstring("OLE Automation") 
] 
library stdole 
{ 
... 

stdole32.tlb 에서 :

// typelib filename: stdole32.tlb 

[ 
    uuid(00020430-0000-0000-C000-000000000046), 
    version(1.0), 
    helpstring("OLE Automation") 
] 
library stdole 
{ 
... 

이는 그 둘을 관찰하여 확인이는 IDL에서 분명 사용 수출는 OLEView입니다 uuid이 같지만 stdole2은 나중에 version 특성을가집니다.

더 나아가 두 IDL을 비교하면 새로운 IDL이 첫 번째 IDL과 어떻게 다른지 구체적으로 볼 수 있습니다. 주로 몇 가지 인터페이스에 몇 가지 특성을 추가하고 새로운 typedef, 인터페이스 등을 추가합니다. (너무 오랫동안 여기에 추가하고 질문에 대답 할 필요는 없습니다.)

DLL과는 달리 버전이나 기타 정보가 포함 된 파일 특성 (Windows 탐색기의 속성보기 세부 정보 탭)은 없습니다.