Funzione _CorValidateImage

Convalida le immagini del modulo gestito e notifica al caricatore del sistema operativo dopo il caricamento.

Sintassi

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

Parametri

ImageBase
[in] Puntatore alla posizione iniziale dell'immagine da convalidare come codice gestito. L'immagine deve essere già caricata in memoria.

FileName
[in] Nome file dell'immagine.

Valore restituito

Questa funzione restituisce i valori E_INVALIDARGstandard , E_OUTOFMEMORY, E_UNEXPECTEDe , nonché E_FAILi valori seguenti.

Valore restituito Descrizione
STATUS_INVALID_IMAGE_FORMAT L'immagine non è valida. Questo valore ha HRESULT 0xC000007BL.
STATUS_SUCCESS L'immagine è valida. Questo valore ha HRESULT 0x00000000L.

Commenti

In Windows XP e versioni successive il caricatore del sistema operativo controlla i moduli gestiti esaminando il bit della directory del descrittore COM nell'intestazione COFF (Common Object File Format). Un bit impostato indica un modulo gestito. Se il caricatore rileva un modulo gestito, carica MsCorEE.dll e chiama _CorValidateImage, che esegue le azioni seguenti:

  • Conferma che l'immagine è un modulo gestito valido.

  • Modifica il punto di ingresso nell'immagine in un punto di ingresso in Common Language Runtime (CLR).

  • Per le versioni a 64 bit di Windows, modifica l'immagine in memoria trasformandola da PE32 a PE32+ formato.

  • Restituisce al caricatore quando vengono caricate le immagini del modulo gestito.

Per le immagini eseguibili, il caricatore del sistema operativo chiama quindi la funzione _CorExeMain , indipendentemente dal punto di ingresso specificato nel file eseguibile. Per le immagini dell'assembly DLL, il caricatore chiama la funzione _CorDllMain .

_CorExeMain o _CorDllMain esegue le azioni seguenti:

  • Inizializza CLR.

  • Individua il punto di ingresso gestito dall'intestazione CLR dell'assembly.

  • Inizia l'esecuzione.

Il caricatore chiama la funzione _CorImageUnloading quando le immagini del modulo gestite vengono scaricate. Tuttavia, questa funzione non esegue alcuna azione; restituisce solo.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: Cor.h

Libreria: Incluso come risorsa in MsCorEE.dll

Versioni di .NET Framework: Disponibile da 1.0

Vedi anche