Compartilhar via


_CorValidateImage Function

Valida as imagens do módulo gerenciado e notifica o carregador do sistema operacional depois que elas são carregadas.

Syntax

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

Parameters

ImageBase [in] Um ponteiro para o local inicial da imagem para validar como código gerenciado. A imagem já deve ser carregada na memória.

FileName [in] O nome do arquivo da imagem.

Return Value

Essa função retorna os valores E_INVALIDARGpadrão, E_OUTOFMEMORYe E_UNEXPECTEDE_FAIL, bem como os seguintes valores.

Return value Description
STATUS_INVALID_IMAGE_FORMAT A imagem é inválida. Esse valor tem o HRESULT 0xC000007BL.
STATUS_SUCCESS A imagem é válida. Esse valor tem o HRESULT 0x00000000L.

Remarks

No Windows XP e versões posteriores, o carregador do sistema operacional verifica se há módulos gerenciados examinando o bit do Diretório do Descritor COM no cabeçalho COFF (formato de arquivo de objeto comum). Um bit definido indica um módulo gerenciado. Se o carregador detectar um módulo gerenciado, ele carregará MsCorEE.dll e chamadas _CorValidateImage, que executa as seguintes ações:

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

  • Altera o ponto de entrada na imagem para um ponto de entrada no CLR (Common Language Runtime).

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

  • Retorna ao carregador quando as imagens do módulo gerenciado são carregadas.

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

_CorExeMain ou _CorDllMain executa as seguintes ações:

  • Inicializa o CLR.

  • Localiza o ponto de entrada gerenciado do cabeçalho CLR do assembly.

  • Begins execution.

O carregador chama a função _CorImageUnloading quando as imagens do módulo gerenciado são descarregadas. No entanto, essa função não executa nenhuma ação; ele só retorna.

Requirements

Plataformas: confira Requisitos do sistema.

Header: Cor.h

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

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