관리되는 모듈 이미지의 유효성을 검사하고 로드된 후 운영 체제 로더에 알깁니다.
Syntax
STDAPI _CorValidateImage (
[in] PVOID* ImageBase,
[in] LPCWSTR FileName
);
Parameters
ImageBase [in] 관리 코드로 유효성을 검사할 이미지의 시작 위치에 대한 포인터입니다. 이미지가 이미 메모리에 로드되어 있어야 합니다.
FileName [in] 이미지의 파일 이름입니다.
Return Value
이 함수는 표준 값, E_OUTOFMEMORY및 E_UNEXPECTEDE_FAIL다음 값을 E_INVALIDARG반환합니다.
| Return value | Description |
|---|---|
STATUS_INVALID_IMAGE_FORMAT |
이미지가 잘못되었습니다. 이 값에는 HRESULT 0xC000007BL이 있습니다. |
STATUS_SUCCESS |
이미지가 유효합니다. 이 값에는 HRESULT 0x00000000L이 있습니다. |
Remarks
Windows XP 이상 버전에서 운영 체제 로더는 COFF(공용 개체 파일 형식) 헤더에서 COM 설명자 디렉터리 비트를 검사하여 관리되는 모듈을 확인합니다. 집합 비트는 관리되는 모듈을 나타냅니다. 로더가 관리되는 모듈을 검색하면 MsCorEE.dll 로드하고 다음 작업을 수행하는 호출 _CorValidateImage합니다.
이미지가 유효한 관리되는 모듈인지 확인합니다.
이미지의 진입점을 CLR(공용 언어 런타임)의 진입점으로 변경합니다.
64비트 버전의 Windows의 경우 PE32에서 PE32+ 형식으로 변환하여 메모리에 있는 이미지를 수정합니다.
관리되는 모듈 이미지가 로드되면 로더로 돌아갑니다.
실행 파일 이미지의 경우 운영 체제 로더는 실행 파일에 지정된 진입점에 관계없이 _CorExeMain 함수를 호출합니다. DLL 어셈블리 이미지의 경우 로더는 _CorDllMain 함수를 호출합니다.
_CorExeMain 또는 _CorDllMain 다음 작업을 수행합니다.
CLR을 초기화합니다.
어셈블리의 CLR 헤더에서 관리되는 진입점을 찾습니다.
Begins execution.
로더는 관리되는 모듈 이미지가 언로드될 때 _CorImageUnloading 함수를 호출합니다. 그러나 이 함수는 아무 작업도 수행하지 않습니다. 그냥 반환합니다.
Requirements
플랫폼:시스템 요구 사항을 참조하세요.
Header: Cor.h
도서관: MsCorEE.dll 리소스로 포함됨
.NET Framework 버전: 1.0 이후 사용 가능
.NET