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부터 사용 가능
참조
.NET