다음을 통해 공유


IHostAssemblyStore::ProvideModule 메서드

어셈블리 또는 연결된(포함되지 않은) 리소스 파일 내의 모듈을 확인합니다.

구문

HRESULT ProvideModule (  
    [in]  ModuleBindInfo *pBindInfo,  
    [out] DWORD          *pdwModuleId,  
    [out] IStream        **ppStmModuleImage,  
    [out] IStream        **ppStmPDB  
);  

매개 변수

pBindInfo
[in] 요청된 모듈의 AppDomain, 어셈블리, 모듈 이름을 설명하는 ModuleBindInfo 인스턴스에 대한 포인터입니다.

pdwModuleId
[out] 로드된 모듈을 포함하는 IStream의 고유 식별자에 대한 포인터입니다.

ppStmModuleImage
[out] 로드할 PE(이식 가능한 실행 파일) 이미지를 포함하는 IStream 개체의 주소에 대한 포인터이거나 모듈을 찾을 수 없는 경우 null입니다.

ppStmPDB
[out] 요청된 모듈에 대한 PDB(프로그램 디버그) 정보를 포함하는 IStream 개체의 주소에 대한 포인터이거나.pdb 파일을 찾을 수 없는 경우 null입니다.

Return Value

HRESULT 설명
S_OK ProvideModule가 성공적으로 반환되었습니다.
HOST_E_CLRNOTAVAILABLE CLR(공용 언어 런타임)이 프로세스에 로드되지 않았거나 CLR이 관리 코드를 실행하거나 호출을 성공적으로 처리할 수 없는 상태에 있습니다.
HOST_E_TIMEOUT 호출 시간이 초과되었습니다.
HOST_E_NOT_OWNER 호출자는 잠금을 소유하지 않습니다.
HOST_E_ABANDONED 차단된 스레드 또는 파이버가 이벤트를 기다리는 동안 이벤트가 취소되었습니다.
E_FAIL 알 수 없는 치명적인 오류가 발생했습니다. 메서드가 E_FAIL을 반환하면 CLR은 더 이상 프로세스 내에서 사용할 수 없습니다. 호스팅 메서드에 대한 후속 호출은 HOST_E_CLRNOTAVAILABLE을 반환합니다.
COR_E_FILENOTFOUND(0x80070002) 요청된 어셈블리 또는 연결된 리소스를 찾지 못했습니다.
E_NOT_SUFFICIENT_BUFFER pdwModuleId가 호스트에서 반환하려는 식별자를 포함할 만큼 크지 않습니다.

설명

pdwModuleId에 대해 반환되는 ID 값은 호스트가 지정합니다. 식별자는 프로세스 수명 내에서 고유해야 합니다. CLR은 이 값을 연결된 스트림의 고유 식별자로 사용합니다. ProvideAssembly에 대한 호출에서 반환되는 pAssemblyId 각 값과 ProvideModule에 대한 다른 호출에서 반환되는 pdwModuleId 값을 확인합니다. 호스트가 또 다른 IStream에 대해 동일한 식별자 값을 반환하는 경우 CLR은 해당 스트림의 콘텐츠가 이미 매핑되었는지 여부를 확인합니다. 이 경우 CLR은 새 이미지를 매핑하는 대신 이미지의 기존 복사본을 로드합니다. 따라서 식별자도 ProvideAssembly에서 반환된 어셈블리 식별자와 겹치지 않아야 합니다.

요구 사항

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

헤더: MSCorEE.h

라이브러리: 리소스로 MSCorEE.dll에 포함됩니다.

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

참고 항목