Partilhar via


Função _CorValidateImage

Valida as imagens do módulo gerido e notifica o carregador do sistema operativo depois de terem sido carregadas.

Sintaxe

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

Parâmetros

ImageBase
[in] Um ponteiro para a localização inicial da imagem para validar como código gerido. A imagem já tem de ser carregada para a memória.

FileName
[in] O nome do ficheiro da imagem.

Devolver Valor

Esta função devolve os valores E_INVALIDARGpadrão , E_OUTOFMEMORY, E_UNEXPECTEDe E_FAIL, bem como os seguintes valores.

Valor devolvido Descrição
STATUS_INVALID_IMAGE_FORMAT A imagem é inválida. Este valor tem HRESULT 0xC0000007BL.
STATUS_SUCCESS A imagem é válida. Este valor tem o HRESULT 0x000000000L.

Observações

No Windows XP e versões posteriores, o carregador do sistema operativo verifica a existência de módulos geridos ao examinar o bit do Diretório de Descritor COM no cabeçalho de formato de ficheiro de objeto comum (COFF). Um bit definido indica um módulo gerido. Se o carregador detetar um módulo gerido, carrega MsCorEE.dll e chama _CorValidateImage, que executa as seguintes ações:

  • Confirma que a imagem é um módulo gerido válido.

  • Altera o ponto de entrada na imagem para um ponto de entrada no runtime de idioma comum (CLR).

  • Para versões de 64 bits do Windows, modifica a imagem que está na memória ao transformá-la do formato PE32 para PE32+.

  • Regressa ao carregador quando as imagens do módulo gerido são carregadas.

Para imagens executáveis, o carregador do sistema operativo chama então a função _CorExeMain , independentemente do ponto de entrada especificado no executável. Para imagens de assemblagem DLL, o carregador chama a função _CorDllMain .

_CorExeMain ou _CorDllMain executa as seguintes ações:

  • Inicializa o CLR.

  • Localiza o ponto de entrada gerido a partir do cabeçalho CLR da assemblagem.

  • Inicia a execução.

O carregador chama a função _CorImageUnloading quando as imagens do módulo gerido são descarregadas. No entanto, esta função não executa nenhuma ação; apenas devolve.

Requisitos

Plataformas: Veja Requisitos do Sistema.

Cabeçalho: Cor.h

Biblioteca: Incluído como um recurso no MsCorEE.dll

.NET Framework Versões: Disponível desde 1.0

Ver também