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_INVALIDARG
standard , E_OUTOFMEMORY
, E_UNEXPECTED
e , nonché E_FAIL
i 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