Condividi tramite


_CorValidateImage Function

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

Syntax

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

Parameters

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.

Return Value

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

Return value Description
STATUS_INVALID_IMAGE_FORMAT L'immagine non è valida. Questo valore ha HRESULT 0xC000007BL.
STATUS_SUCCESS L'immagine è valida. Questo valore ha HRESULT 0x00000000L.

Remarks

In Windows XP e versioni successive, il caricatore del sistema operativo verifica la presenza di 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 dal formato PE32 a PE32+.

  • Torna 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 di 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.

  • Begins execution.

Il caricatore chiama la funzione _CorImageUnloading quando le immagini del modulo gestito vengono scaricate. Tuttavia, questa funzione non esegue alcuna azione; è appena tornato.

Requirements

Piattaforme: vedere Requisiti di sistema.

Header: Cor.h

Biblioteca: Incluso come risorsa in MsCorEE.dll

Versioni di .NET Framework: Disponibile dalla versione 1.0