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 目前的狀態無法執行 Managed 程式碼或成功處理呼叫。 |
HOST_E_TIMEOUT |
呼叫已逾時。 |
HOST_E_NOT_OWNER |
呼叫端不具備鎖定功能。 |
HOST_E_ABANDONED |
已封鎖執行緒或 Fiber 在等候事件時,該事件已遭取消。 |
E_FAIL |
發生未知的重大錯誤。 當方法傳回 E_FAIL 時,便無法在處理序內使用 CLR。 對裝載方法的後續呼叫會傳回 HOST_E_CLRNOTAVAILABLE。 |
E_OUTOFMEMORY |
可用的記憶體不足,無法完成配置要求。 |
備註
CLR 會藉由呼叫 IHostMemoryManager::CreateMalloc 方法,取得 IHostMalloc 執行個體的介面指標。 DebugAlloc 可讓執行階段取得偵錯期間使用的程式碼檔案資訊。
需求
**平台:**請參閱 .NET Framework 系統需求。
**標頭:**MSCorEE.h
程式庫:包含做為 MSCorEE.dll 中的資源
**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0