Compartilhar via


Método IHostMAlloc::Alloc

Solicita que o host aloque a quantidade de memória especificada do heap.

Sintaxe

HRESULT Alloc (  
    [in] SIZE_T  cbSize,
    [in] EMemoryCriticalLevel dwCriticalLevel,
    [out] void** ppMem  
);  

Parâmetros

cbSize
[in] O tamanho, em bytes, da solicitação de alocação de memória atual.

dwCriticalLevel
[in] Um dos valores EMemoryCriticalLevel, indicando o impacto de uma falha de alocação.

ppMem
[out] Um ponteiro para a memória alocada ou nulo se a solicitação não puder ser concluída.

Valor Retornado

HRESULT Descrição
S_OK Alloc retornado com êxito.
HOST_E_CLRNOTAVAILABLE O CLR (Common Language Runtime) não foi carregado em um processo ou está em um estado no qual não pode executar o código gerenciado ou processar a chamada com sucesso.
HOST_E_TIMEOUT Uma chamada atingiu o tempo limite.
HOST_E_NOT_OWNER O chamador não possui o bloqueio.
HOST_E_ABANDONED Um evento foi cancelado enquanto uma fibra ou um thread bloqueado estava esperando por ele.
E_FAIL Uma falha catastrófica desconhecida ocorreu. Quando um método retorna E_FAIL, o CLR não pode mais ser usado no processo. Chamadas subsequentes para métodos de hospedagem retornam HOST_E_CLRNOTAVAILABLE.
E_OUTOFMEMORY Não havia memória suficiente disponível para concluir a solicitação de alocação.

Comentários

O CLR obtém um ponteiro de interface para uma instância IHostMalloc chamando o método IHostMemoryManager::CreateMalloc.

Requisitos

Plataformas: confira Requisitos do sistema.

Cabeçalho: MSCorEE.h

Biblioteca: incluída como um recurso no MSCorEE.dll

Versões do .NET Framework: disponíveis desde 2.0

Confira também