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