_CorValidateImage functie
Hiermee worden installatiekopieën van beheerde modules gevalideerd en wordt het laadprogramma van het besturingssysteem gewaarschuwd nadat deze zijn geladen.
Syntaxis
STDAPI _CorValidateImage (
[in] PVOID* ImageBase,
[in] LPCWSTR FileName
);
Parameters
ImageBase
[in] Een aanwijzer naar de beginlocatie van de installatiekopieën om te valideren als beheerde code. De installatiekopieën moeten al in het geheugen zijn geladen.
FileName
[in] De bestandsnaam van de installatiekopieën.
Retourwaarde
Deze functie retourneert de standaardwaarden E_INVALIDARG
, E_OUTOFMEMORY
, E_UNEXPECTED
en E_FAIL
, evenals de volgende waarden.
Retourwaarde | Beschrijving |
---|---|
STATUS_INVALID_IMAGE_FORMAT |
De installatiekopieën zijn ongeldig. Deze waarde heeft de HRESULT 0xC000007BL. |
STATUS_SUCCESS |
De installatiekopieën zijn geldig. Deze waarde heeft de HRESULT 0x00000000L. |
Opmerkingen
In Windows XP en latere versies controleert het besturingssysteemlaadprogramma op beheerde modules door de COM Descriptor Directory-bit in de COFF-header (Common Object File Format) te controleren. Een ingestelde bit geeft een beheerde module aan. Als het laadprogramma een beheerde module detecteert, wordt MsCorEE.dll geladen en aangeroepen _CorValidateImage
, waarmee de volgende acties worden uitgevoerd:
Bevestigt dat de installatiekopieën een geldige beheerde module zijn.
Hiermee wijzigt u het toegangspunt in de afbeelding in een toegangspunt in de COMMON Language Runtime (CLR).
Voor 64-bits versies van Windows wijzigt u de installatiekopieën die zich in het geheugen bevinden door deze te transformeren van PE32-indeling naar PE32+-indeling.
Keert terug naar het laadprogramma wanneer de installatiekopieën van de beheerde module worden geladen.
Voor uitvoerbare installatiekopieën roept het besturingssysteemlaadprogramma vervolgens de functie _CorExeMain aan, ongeacht het toegangspunt dat is opgegeven in het uitvoerbare bestand. Voor INSTALLATIEkopieën van DLL-assembly's roept het laadprogramma de functie _CorDllMain aan.
_CorExeMain
of _CorDllMain
voert de volgende acties uit:
Initialiseert de CLR.
Hiermee zoekt u het beheerde toegangspunt vanuit de CLR-header van de assembly.
De uitvoering wordt gestart.
Het laadprogramma roept de functie _CorImageUnloading aan wanneer installatiekopieën van beheerde modules worden verwijderd. Deze functie voert echter geen actie uit; het keert gewoon terug.
Vereisten
Platforms: Zie Systeemvereisten.
Header: Cor.h
Bibliotheek: Opgenomen als een resource in MsCorEE.dll
.NET Framework versies: beschikbaar sinds 1.0