Compartilhar via


Método IHostMAlloc::DebugAlloc

Solicita que o host aloque a quantidade de memória especificada do heap e, além disso, acompanha onde a memória foi alocada.

Sintaxe

HRESULT DebugAlloc (  
    [in]  SIZE_T  cbSize,
    [in]  EMemoryCriticalLevel dwCriticalLevel,
    [in]  char*   pszFileName,
    [in]  int     iLineNo,
    [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.

pszFileName
[in] O arquivo de código do executável que está sendo depurado.

iLineNo
[in] O número de linha no pszFileName em que a alocação foi solicitada.

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 DebugAlloc retornado com êxito.
HOST_E_CLRNOTAVAILABLE O CLR não foi carregado em um processo, ou o CLR está em um estado no qual não pode executar código gerenciado ou processar a chamada com êxito.
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 HostMemoryManager::CreateMalloc. DebugAlloc permite que o runtime obtenha informações de arquivo de código para usar durante a depuração.

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