Функция _CorValidateImage
Проверяет образы управляемых модулей и уведомляет загрузчик операционной системы после их загрузки.
Синтаксис
STDAPI _CorValidateImage (
[in] PVOID* ImageBase,
[in] LPCWSTR FileName
);
Параметры
ImageBase
[in] Указатель на начальное расположение образа для проверки как управляемого кода. Образ уже должен быть загружен в память.
FileName
[in] Имя файла образа.
Возвращаемое значение
Эта функция возвращает стандартные значения E_INVALIDARG
, E_OUTOFMEMORY
, E_UNEXPECTED
и E_FAIL
, а также следующие значения.
Возвращаемое значение | Описание |
---|---|
STATUS_INVALID_IMAGE_FORMAT |
Недопустимый образ. Это значение имеет значение HRESULT 0xC000007BL. |
STATUS_SUCCESS |
Образ является допустимым. Это значение имеет значение HRESULT 0x00000000L. |
Комментарии
В Windows XP и более поздних версиях загрузчик операционной системы проверяет наличие управляемых модулей, проверяя бит каталога дескриптора COM в заголовке COFF. Бит набора указывает на управляемый модуль. Если загрузчик обнаруживает управляемый модуль, он загружает MsCorEE.dll и вызывает _CorValidateImage
, который выполняет следующие действия:
Подтверждает, что образ является допустимым управляемым модулем.
Изменяет точку входа в изображении на точку входа в среде CLR.
Для 64-разрядных версий Windows изменяет образ, который находится в памяти, преобразовав его из pe32 в формат PE32+.
Возвращается в загрузчик при загрузке образов управляемого модуля.
Для исполняемых образов загрузчик операционной системы вызывает функцию _CorExeMain независимо от точки входа, указанной в исполняемом файле. Для образов сборки DLL загрузчик вызывает функцию _CorDllMain .
_CorExeMain
или _CorDllMain
выполняет следующие действия:
Инициализирует среду CLR.
Находит управляемую точку входа из заголовка CLR сборки.
Начинает выполнение.
Загрузчик вызывает функцию _CorImageUnloading при выгрузке образов управляемых модулей. Однако эта функция не выполняет никаких действий; он просто возвращается.
Требования
Платформы: см. раздел Требования к системе.
Заголовка: Cor.h
Библиотека: Включено в качестве ресурса в MsCorEE.dll
версии платформа .NET Framework: доступно с версии 1.0.