Поделиться через


Метод IHostMAlloc::DebugAlloc

Запрашивает, чтобы узел выделил из кучи указанный объем памяти и дополнительно отслеживал, где была выделена память.

Синтаксис

HRESULT DebugAlloc (  
    [in]  SIZE_T  cbSize,
    [in]  EMemoryCriticalLevel dwCriticalLevel,
    [in]  char*   pszFileName,
    [in]  int     iLineNo,
    [out] void**  ppMem  
);  

Параметры

cbSize
[in] Размер (в байтах) текущего запроса на выделение памяти.

dwCriticalLevel
[in] Одно из значений EMemoryCriticalLevel , указывающее влияние сбоя выделения.

pszFileName
[in] Файл кода отлаживаемого исполняемого файла.

iLineNo
[in] Номер строки, в pszFileName которой было запрошено выделение.

ppMem
[out] Указатель на выделенную память или значение NULL, если не удалось выполнить запрос.

Возвращаемое значение

HRESULT Описание:
S_OK DebugAlloc возвращено успешно.
HOST_E_CLRNOTAVAILABLE Среда CLR не была загружена в процесс или среда CLR находится в состоянии, в котором она не может выполнить управляемый код или обработать вызов успешно.
HOST_E_TIMEOUT Время ожидания звонка истекло.
HOST_E_NOT_OWNER Вызывающий объект не владеет блокировкой.
HOST_E_ABANDONED Событие было отменено во время ожидания заблокированного потока или волокна.
E_FAIL Произошла неизвестная катастрофическая ошибка. Когда метод возвращает E_FAIL, среда CLR больше не используется в рамках процесса. Последующие вызовы методов размещения возвращают HOST_E_CLRNOTAVAILABLE.
E_OUTOFMEMORY Недостаточно памяти для выполнения запроса на выделение.

Комментарии

Среда CLR получает указатель интерфейса на экземпляр IHostMalloc путем вызова метода IHostMemoryManager::CreateMalloc . DebugAlloc позволяет среде выполнения получать сведения о файле кода для использования во время отладки.

Требования

Платформы: см. раздел Требования к системе.

Заголовка: MSCorEE.h

Библиотека: Включается в качестве ресурса в MSCorEE.dll

версии платформа .NET Framework: доступно с версии 2.0.

См. также раздел