Partager via


_CorValidateImage, fonction

Valide des images de modules managés, et notifie le chargeur du système d'exploitation une fois qu'elles ont déjà été chargées.

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

Paramètres

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

  • FileName
    [in] Nom du fichier de l'image.

Valeur de retour

Cette fonction retourne les valeurs standard E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED et E_FAIL, ainsi que les valeurs suivantes.

Valeur de retour

Description

STATUS_INVALID_IMAGE_FORMAT

L'image n'est pas valide. Cette valeur possède le HRESULT 0xC000007BL.

STATUS_SUCCESS

L'image est valide. Cette valeur possède le HRESULT 0x00000000L.

Notes

Dans Windows XP et les versions ultérieures, le chargeur de système d'exploitation recherche des modules managés en examinant le bit du Répertoire du Descripteur COM dans l'en-tête de format COFF (COFF). Un bit défini indique un module managé. Si le chargeur détecte un module managé, il charge MsCorEE.dll et appelle _CorValidateImage, qui exécute les actions suivantes :

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

  • Modifie le point d'entrée dans l'image en un point d'entrée dans le Common Language Runtime (CLR).

  • Dans les versions 64 bits de Windows, modifie l'image en mémoire en la convertissant du format PE32 au format PE32+.

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

Pour les images exécutables, le chargeur de système d'exploitation appelle ensuite la fonction _CorExeMain, indépendamment du point d'entrée spécifié dans le fichier exécutable. Pour les images d'assembly DLL, le chargeur appelle la fonction _CorDllMain.

_CorExeMain ou _CorDllMain exécute les actions suivantes :

  • Initialise le CLR.

  • Trouve le point d'entrée managé de l'en-tête du CLR de l'assembly.

  • Commence l'exécution.

Le chargeur appelle la fonction _CorImageUnloading lorsque les images de module managé sont déchargées. Toutefois, cette fonction n'exécute pas d'action; il est simplement retourné.

Configuration requise

Plateformes : consultez Configuration requise du .NET Framework.

En-tête : Cor.h

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

Versions du .NET Framework : 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Voir aussi

Autres ressources

Fonctions statiques globales des métadonnées