형식 라이브러리를 로드하고 제공된 ITypeLibResolver 인터페이스를 사용하여 내부적으로 참조된 모든 형식 라이브러리를 확인합니다.
HRESULT LoadTypeLibWithResolver(
[in] LPCOLESTR szFile,
[in] REGKIND regkind,
[in] ITypeLibResolver *pTlbResolver,
[out] ITypeLib **pptlib);
매개 변수
szFile
[in] 형식 라이브러리의 파일 경로입니다.regkind
[in] 형식 라이브러리가 등록되는 방식을 제어하는 REGKIND Enumeration 열거형 플래그입니다. 다음과 같은 값을 사용할 수 있습니다.REGKIND_DEFAULT: 기본 등록 동작을 사용합니다.
REGKIND_REGISTER: 이 형식 라이브러리를 등록합니다.
REGKIND_NONE: 이 형식 라이브러리를 등록하지 않습니다.
pTlbResolver
[in] ITypeLibResolver 인터페이스 구현을 가리키는 포인터입니다.pptlib
[out] 로드되는 형식 라이브러리에 대한 참조입니다.
반환 값
다음 표에 나열된 HRESULT 값 중 하나입니다.
반환 값 |
의미 |
---|---|
S_OK |
성공 |
E_OUTOFMEMORY |
메모리가 부족합니다. |
E_POINTER |
하나 이상의 포인터가 잘못되었습니다. |
E_INVALIDARG |
하나 이상의 인수가 잘못되었습니다. |
TYPE_E_IOERROR |
함수에서 파일에 쓸 수 없습니다. |
TYPE_E_REGISTRYACCESS |
시스템 등록 데이터베이스를 열 수 없습니다. |
TYPE_E_INVALIDSTATE |
형식 라이브러리를 열 수 없습니다. |
TYPE_E_CANTLOADLIBRARY |
형식 라이브러리 또는 DLL을 로드할 수 없습니다. |
설명
Tlbexp.exe(형식 라이브러리 내보내기)에서는 어셈블리를 형식 라이브러리로 변환하는 과정에서 LoadTypeLibWithResolver 함수를 호출합니다.
이 함수는 레지스트리에 대한 액세스를 최소화하면서 지정된 형식 라이브러리를 로드합니다. 그런 다음 형식 라이브러리에서 내부적으로 참조되는 형식 라이브러리를 검사합니다. 이러한 라이브러리를 각각 로드하여 부모 형식 라이브러리에 추가해야 합니다.
참조된 형식 라이브러리를 로드하려면 해당 참조 파일 경로를 전체 파일 경로로 확인해야 합니다. 이 작업은 pTlbResolver 매개 변수에 전달된 ITypeLibResolver 인터페이스가 제공하는 ResolveTypeLib 메서드를 통해 수행됩니다.
참조된 형식 라이브러리의 전체 파일 경로가 확인되면 LoadTypeLibWithResolver 함수에서 참조된 형식 라이브러리를 로드하여 부모 형식 라이브러리에 추가합니다. 이 과정에서 결합된 마스터 형식 라이브러리가 만들어집니다.
이 함수는 내부적으로 참조되는 모든 형식 라이브러리를 확인하여 로드한 후 확인된 마스터 형식 라이브러리에 대한 참조를 pptlib 매개 변수에 반환합니다.
LoadTypeLibWithResolver 함수는 일반적으로 자체 내부 ITypeLibResolver 인터페이스 구현을 pTlbResolver 매개 변수에 제공하는 Tlbexp.exe(형식 라이브러리 내보내기)에서 호출됩니다.
LoadTypeLibWithResolver를 직접 호출하는 경우 ITypeLibResolver 인터페이스를 직접 구현하여 제공해야 합니다.
요구 사항
플랫폼: .NET Framework 시스템 요구 사항 참조
헤더: TlbRef.h
라이브러리: TlbRef.lib
.NET Framework 버전: 3.5, 3.0, 2.0