Поделиться через


_CorValidateImage Function

Проверяет образы управляемых модулей и уведомляет загрузчик операционной системы после их загрузки.

Syntax

STDAPI _CorValidateImage (
   [in] PVOID* ImageBase,
   [in] LPCWSTR FileName
);

Parameters

ImageBase [in] Указатель на начальное расположение изображения для проверки как управляемого кода. Изображение должно быть загружено в память.

FileName [in] Имя файла изображения.

Return Value

Эта функция возвращает стандартные значения E_INVALIDARG, E_OUTOFMEMORYE_UNEXPECTEDи , а E_FAILтакже следующие значения.

Return value Description
STATUS_INVALID_IMAGE_FORMAT Изображение недопустимо. Это значение имеет HRESULT 0xC000007BL.
STATUS_SUCCESS Изображение допустимо. Это значение имеет HRESULT 0x0000000000L.

Remarks

В Windows XP и более поздних версиях загрузчик операционной системы проверяет наличие управляемых модулей, проверяя бит каталога дескриптора COM в общем формате файла объектов (COFF). Бит набора указывает управляемый модуль. Если загрузчик обнаруживает управляемый модуль, он загружает 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