Função _CorValidateImage
Valida as imagens do módulo gerenciado e notifica o carregador do sistema operacional após o carregamento.
Sintaxe
STDAPI _CorValidateImage (
[in] PVOID* ImageBase,
[in] LPCWSTR FileName
);
Parâmetros
ImageBase
[in] Um ponteiro para o local inicial da imagem para validar como código gerenciado. A imagem já deve estar carregada na memória.
FileName
[in] O nome do arquivo da imagem.
Valor Retornado
Essa função retorna os valores padrão E_INVALIDARG
, E_OUTOFMEMORY
, E_UNEXPECTED
e E_FAIL
, bem como os valores a seguir.
Valor retornado | Descrição |
---|---|
STATUS_INVALID_IMAGE_FORMAT |
A imagem é inválida. Este valor tem o HRESULT 0xC000007BL. |
STATUS_SUCCESS |
A imagem é inválida. Este valor tem o HRESULT 0x00000000L. |
Comentários
No Windows XP e versões posteriores, o carregador do sistema operacional verifica os módulos gerenciados examinando o bit do diretório do descritor COM no cabeçalho do formato de arquivo de objeto comum (COFF). Um bit definido indica um módulo gerenciado. Se o carregador detectar um módulo gerenciado, ele carrega MsCorEE.dll e chama _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 Common Language Runtime (CLR).
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 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.
Inicia a execução.
O carregador chama a função _CorImageUnloading quando as imagens do módulo gerenciado são descarregadas. No entanto, esta função não executa nenhuma ação; apenas retorna.
Requisitos
Plataformas: confira Requisitos do sistema.
Cabeçalho: Cor.h
Biblioteca: incluída como um recurso no MsCorEE.dll
Versões do .NET Framework: Disponíveis desde a versão 1.0