다음을 통해 공유


IMetaDataAssemblyImport::FindAssembliesByName 메서드

참조를 확인하기 위해 CLR(공용 언어 런타임)에서 사용하는 표준 규칙을 사용하여 지정된 szAssemblyName 매개 변수로 어셈블리 배열을 가져옵니다.

구문

HRESULT FindAssembliesByName (  
    [in]  LPCWSTR     szAppBase,
    [in]  LPCWSTR     szPrivateBin,
    [in]  LPCWSTR     szAssemblyName,
    [out] IUnknown    *ppIUnk[],
    [in]  ULONG       cMax,
    [out] ULONG       *pcAssemblies  
);  

매개 변수

szAppBase
[in] 지정된 어셈블리를 검색할 루트 디렉터리입니다. 이 값을 null로 설정하면 FindAssembliesByName은 전역 어셈블리 캐시에서만 어셈블리를 찾습니다.

szPrivateBin
[in] 어셈블리를 검색할 루트 디렉터리 아래의 있는 세미콜론으로 구분된 하위 디렉터리 목록(예: "bin;bin2")입니다. 이러한 디렉터리가 기본 검색 규칙에 지정된 디렉터리 외에 검색됩니다.

szAssemblyName
[in] 찾을 어셈블리의 이름입니다. 이 문자열의 형식은 AssemblyName의 클래스 참조 페이지에서 정의됩니다.

ppIUnk
[out] IMetadataAssemblyImport 인터페이스 포인터를 포함하는 배열입니다.

cMax
[in] ppIUnk에 배치할 최대 인터페이스 포인터 수입니다.

pcAssemblies
[out] 반환된 인터페이스 포인터의 수입니다. 즉, ppIUnk에 실제로 배치된 인터페이스 포인터의 수입니다.

Return Value

HRESULT Description
S_OK FindAssembliesByName이 성공적으로 반환되었습니다.
S_FALSE 어셈블리가 없습니다.

설명

어셈블리 이름을 지정하면 FindAssembliesByName 메서드는 어셈블리 참조를 확인하기 위한 표준 규칙에 따라 어셈블리를 찾습니다. (자세한 내용은 런타임에서 어셈블리를 찾는 방법을 참조하세요.) FindAssembliesByName을 사용하면 호출자가 애플리케이션 기반 및 프라이빗 검색 경로와 같은 어셈블리 확인자 컨텍스트의 다양한 측면을 구성할 수 있습니다.

FindAssembliesByName 메서드를 사용하려면 어셈블리 확인 논리를 호출하기 위해 프로세스에서 CLR을 초기화해야 합니다. 따라서 FindAssembliesByName을 호출하기 전에 CoInitializeEE를 호출한 다음(COINITEE_DEFAULT 전달), CoUninitializeCor을 호출해야 합니다.

FindAssembliesByName은 전달된 어셈블리 이름에 대한 어셈블리 매니페스트가 포함된 파일에 대한 IMetaDataImport 포인터를 반환합니다. 지정된 어셈블리 이름이 부분적으로만 지정된 경우(예: 버전이 포함되지 않은 경우) 여러 어셈블리가 반환될 수 있습니다.

FindAssembliesByName은 컴파일 시간에 참조된 어셈블리를 찾으려고 시도하는 컴파일러에서 일반적으로 사용됩니다.

요구 사항

플랫폼:시스템 요구 사항을 참조하세요.

헤더: Cor.h

라이브러리: MsCorEE.dll에서 리소스로 사용됩니다.

.NET Framework 버전: 1.0부터 사용 가능

참조