Метод 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.