_CorValidateImage (Función)
Valida las imágenes de módulo administrado y notifica al cargador del sistema operativo una vez cargadas.
STDAPI _CorValidateImage (
[in] PVOID* ImageBase,
[in] LPCWSTR FileName
);
Parámetros
ImageBase
[in] Puntero a la ubicación inicial de la imagen que se debe validar como código administrado. La imagen debe estar ya cargada en memoria.FileName
[in] Nombre de archivo de la imagen.
Valor devuelto
Esta función devuelve los valores estándar E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED y E_FAIL, así como los valores siguientes.
Valor devuelto |
Descripción |
---|---|
STATUS_INVALID_IMAGE_FORMAT |
La imagen no es válida. Este valor tiene el resultado HRESULT 0xC000007BL. |
STATUS_SUCCESS |
La imagen es válida. Este valor tiene el resultado HRESULT 0x00000000L. |
Comentarios
En Windows XP y versiones posteriores, el cargador del sistema operativo busca módulos administrados examinando el bit de COM Descriptor Directory en el encabezado COFF (Common Object File Format). Un bit establecido indica un módulo administrado. Si el cargador detecta un módulo administrado, cargará MsCorEE.dll y llamará a _CorValidateImage, que realiza las acciones siguientes:
Confirma que la imagen es un módulo administrado válido.
Cambia el punto de entrada en la imagen a un punto de entrada en el common language runtime.
En las versiones de 64 bits de Windows, modifica la imagen que está en la memoria transformando el formato PE32 en PE32+.
Vuelve al cargador cuándo se cargan las imágenes del módulo administrado.
Para las imágenes ejecutables, el cargador del sistema operativo llama a la función _CorExeMain, sin tener en cuenta el punto de entrada especificado en el ejecutable. Para las imágenes de ensamblados DLL, el cargador llama a la función _CorDllMain.
_CorExeMain o _CorDllMain lleva a cabo las acciones siguientes:
Inicializa el CLR.
Busca el punto de entrada administrado en el encabezado de CLR del ensamblado.
Comienza la ejecución.
El cargador llama a la función _CorImageUnloading cuando se descargan las imágenes del módulo administrado. Sin embargo, esta función no realiza ninguna acción; solo devuelve un valor.
Requisitos
Plataformas: vea Requisitos de sistema de .NET Framework.
Encabezado: Cor.h
Biblioteca: Se incluye como recurso en MsCorEE.dll
Versiones de .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0