Partager via


_CorValidateImage Function

Valide les images de module managé et avertit le chargeur du système d’exploitation une fois qu’ils ont été chargés.

Syntax

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

Parameters

ImageBase [in] Pointeur vers l’emplacement de départ de l’image pour valider en tant que code managé. L’image doit déjà être chargée en mémoire.

FileName [in] Nom de fichier de l’image.

Return Value

Cette fonction retourne les valeurs E_INVALIDARGstandard, E_OUTOFMEMORYet E_UNEXPECTEDE_FAILles valeurs suivantes.

Return value Description
STATUS_INVALID_IMAGE_FORMAT L’image n’est pas valide. Cette valeur a le HRESULT 0xC000007BL.
STATUS_SUCCESS L’image est valide. Cette valeur a la valeur HRESULT 0x000000000L.

Remarks

Dans Windows XP et versions ultérieures, le chargeur du système d’exploitation recherche les modules managés en examinant le bit du répertoire du descripteur COM dans l’en-tête COFF (Common Object File Format). Un bit défini indique un module managé. Si le chargeur détecte un module managé, il charge MsCorEE.dll et appelle _CorValidateImage, ce qui effectue les actions suivantes :

  • Confirme que l’image est un module managé valide.

  • Remplace le point d’entrée de l’image par un point d’entrée dans le Common Language Runtime (CLR).

  • Pour les versions 64 bits de Windows, modifie l’image en mémoire en la transformant de PE32 au format PE32+.

  • Retourne au chargeur lorsque les images de module managées sont chargées.

Pour les images exécutables, le chargeur du système d’exploitation appelle ensuite la fonction _CorExeMain , quel que soit le point d’entrée spécifié dans l’exécutable. Pour les images d’assembly DLL, le chargeur appelle la fonction _CorDllMain .

_CorExeMain ou _CorDllMain effectue les actions suivantes :

  • Initialise le CLR.

  • Recherche le point d’entrée managé à partir de l’en-tête CLR de l’assembly.

  • Begins execution.

Le chargeur appelle la fonction _CorImageUnloading lorsque les images de module managées sont déchargées. Toutefois, cette fonction n’effectue aucune action ; il retourne juste.

Requirements

Plateformes : Consultez Configuration requise.

Header: Cor.h

Bibliothèque: Inclus en tant que ressource dans MsCorEE.dll

Versions du .NET Framework : Disponible depuis la version 1.0