LoadTypeLib 함수(oleauto.h)

형식 라이브러리를 로드하고 등록합니다.

구문

HRESULT LoadTypeLib(
  LPCOLESTR szFile,
  ITypeLib  **pptlib
);

매개 변수

szFile

메서드가 형식 라이브러리를 로드하려고 시도할 파일의 이름입니다.

pptlib

로드된 형식 라이브러리입니다.

반환 값

이 함수는 이러한 값 중 하나를 반환할 수 있습니다.

반환 코드 설명
S_ok
성공.
E_INVALIDARG
하나 이상의 인수가 잘못되었습니다.
E_OUTOFMEMORY
메모리가 부족하여 작업을 완료할 수 없습니다.
TYPE_E_IOERROR
함수가 파일에 쓸 수 없습니다.
TYPE_E_INVALIDSTATE
형식 라이브러리를 열 수 없습니다.
TYPE_E_INVDATAREAD
함수가 파일에서 읽을 수 없습니다.
TYPE_E_UNSUPFORMAT
형식 라이브러리의 형식은 이전 형식입니다.
TYPE_E_UNKNOWNLCID
OLE 지원 DLL에서 LCID를 찾을 수 없습니다.
TYPE_E_CANTLOADLIBRARY
형식 라이브러리 또는 DLL을 로드할 수 없습니다.

설명

LoadTypeLib 함수는 지정된 파일에 저장된 형식 라이브러리(일반적으로 MkTypLib로 생성됨)를 로드합니다. szFile이 경로가 없는 파일 이름만 지정하는 경우 LoadTypeLib은 파일을 검색하고 다음과 같이 진행합니다.

  • 파일이 Typelib.dll 구현된 독립 실행형 형식 라이브러리인 경우 라이브러리가 직접 로드됩니다.
  • 파일이 DLL 또는 실행 파일인 경우 로드됩니다. 기본적으로 형식 라이브러리는 ITypeLib 형식의 첫 번째 리소스에서 추출됩니다. 다른 유형의 라이브러리 리소스를 로드하려면 szFile에 정수 인덱스 를 추가합니다. 예를 들면 다음과 같습니다.
    ITypeLib *ptlib;
    LoadTypeLib("C:\\MONTANA\\EXE\\MFA.EXE\\3", &ptlib)
    

    이 문은 파일 Mfa.exe 파일에서 형식 라이브러리 리소스 3을 로드합니다.

  • 위의 파일이 없으면 파일 이름이 모니커(파일 기반 링크 원본을 나타내는 개체)로 구문 분석된 다음 모니커에 바인딩됩니다. 이 방법을 사용하면 메모리 내 형식 라이브러리를 포함하여 외장형 라이브러리에서 LoadTypeLib 을 사용할 수 있습니다. 외세 형식 라이브러리는 DLL 또는 실행 파일에 상주할 수 없습니다. 모니커에 대한 자세한 내용은 COM 프로그래머 참조를 참조하세요.
형식 라이브러리가 이미 로드된 경우 LoadTypeLib 은 형식 라이브러리의 참조 수를 증가시키고 형식 라이브러리에 대한 포인터를 반환합니다.

이전 버전과의 호환성을 위해 경로가 szFile 매개 변수에 지정되지 않은 경우 LoadTypeLib에서 형식 라이브러리를 등록합니다. 형식 라이브러리의 경로가 지정된 경우 LoadTypeLib은 형식 라이브러리를 등록하지 않습니다. RegisterTypeLib을 사용하여 형식 라이브러리를 등록하는 것이 좋습니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 oleauto.h
라이브러리 OleAut32.lib
DLL OleAut32.dll