Delen via


_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_UNEXPECTEDen 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

Zie ook