Funzione _CorValidateImage
Convalida le immagini dei moduli gestiti e ne notifica il caricamento al caricatore del sistema operativo.
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
La funzione restituisce i valori standard E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED e E_FAIL, oltre ai valori riportati di seguito.
Valore restituito |
Oggetto di descrizione |
---|---|
STATUS_INVALID_IMAGE_FORMAT |
Immagine non valida. A questo valore corrisponde HRESULT 0xC000007BL. |
STATUS_SUCCESS |
Immagine valida. A questo valore corrisponde HRESULT 0x00000000L. |
Note
In Windows XP e nelle versioni successive, la presenza di moduli gestiti viene verificata dal caricatore del sistema operativo esaminando la sezione COM Descriptor Directory nell'intestazione del formato file oggetto comune (COFF, Common Object File Format). L'impostazione di un bit indica un modulo gestito. Se il caricatore rileva un modulo gestito, carica MsCorEE.dll e chiama _CorValidateImage, che esegue le seguenti azioni:
Conferma che l'immagine è un modulo gestito valido.
Modifica il punto di ingresso nell'immagine in un punto di ingresso in CLR (Common Language Runtime).
Nelle versioni a 64 bit del sistema operativo Windows, modifica l'immagine presente in memoria convertendone il formato da PE32 a PE32+.
Notifica al caricatore quando vengono caricate immagini dei moduli gestiti.
Per le immagini eseguibili, il caricatore del sistema operativo chiama questo la funzione _CorExeMain, indipendentemente dal punto di ingresso specificato nel file eseguibile. Per le immagini degli assembly DLL, il caricatore chiama la funzione _CorDllMain.
Tramite _CorExeMain o _CorDllMain vengono eseguite le azioni riportate di seguito:
Inizializza il CLR.
Individua il punto di ingresso gestito dall'intestazione CLR dell'assembly.
Inizia l'esecuzione.
Il caricatore chiama la funzione _CorImageUnloading quando vengono scaricate immagini dei moduli gestiti. Questa funzione tuttavia non esegue alcuna azione; restituisce solo.
Requisiti
Piattaforme: vedere Requisiti di sistema di .NET Framework.
Intestazione: Cor.h
Libreria: inclusa come risorsa in MsCorEE.dll
Versioni di .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0