Интерфейс IHostMemoryManager
Обновлен: Ноябрь 2007
Предоставляет методы, позволяющие среде CLR осуществлять запросы виртуальной памяти посредством основного приложения без использования стандартных функций виртуальной памяти для Win32.
interface IHostMemoryManager : IUnknown {
HRESULT CreateMAlloc (
[in] BOOL fThreadSafe,
[out] IHostMalloc **ppMalloc
);
HRESULT VirtualAlloc (
[in] void* pAddress,
[in] SIZE_T dwSize,
[in] DWORD flAllocationType,
[in] DWORD flProtect,
[in] EMemoryCriticalLevel dwCriticalLevel,
[out] void** ppMem
);
HRESULT VirtualFree (
[in] LPVOID lpAddress,
[in] SIZE_T dwSize,
[in] DWORD dwFreeType
);
HRESULT VirtualQuery (
[in] void* lpAddress,
[out] void* lpBuffer,
[in] SIZE_T dwLength,
[out] SIZE_T *pResult
);
HRESULT VirtualProtect (
[in] void* lpAddress,
[in] SIZE_T dwSize,
[in] DWORD flNewProtect,
[out] DWORD* pflOldProtect
);
HRESULT GetMemoryLoad (
[out] DWORD* pMemoryLoad,
[out] SIZE_T *pAvailableBytes
);
HRESULT RegisterMemoryNotificationCallback (
[in] ICLRMemoryNotificationCallback* pCallback
);
HRESULT NeedsVirtualAddressSpace(
[in] LPVOID startAddress,
[in] SIZE_T size
);
HRESULT AcquiredVirtualAddressSpace(
[in] LPVOID startAddress,
[in] SIZE_T size
);
HRESULT ReleasedVirtualAddressSpace(
[in] LPVOID startAddress
);
};
Методы
Метод |
Описание |
---|---|
Оповещает узел о том, что среда CLR получила указанную память от операционной системы. |
|
Получает указатель интерфейса на экземпляр IHostMAlloc, используемый для запроса выделения памяти из кучи, созданной основным приложением. |
|
Получает количество физической памяти, которая, по данным основного приложения, используется в данный момент. |
|
Уведомляет основное приложение о том, что среда CLR намерена предпринять попытку использования заданной памяти. |
|
Метод IHostMemoryManager::RegisterMemoryNotificationCallback |
Регистрирует указатель на функцию обратного вызова, которую основное приложение вызывает для уведомления среды CLR о текущей загрузке памяти в компьютере. |
Уведомляет основное приложение о том, что среда CLR завершила использование заданной памяти. |
|
Служит логической программой-оболочкой для соответствующей функции Win32, которая резервирует или фиксирует диапазон страниц виртуального пространства адресов вызывающего процесса. |
|
Служит логической программой-оболочкой для соответствующей функции Win32, которая освобождает, разблокирует или освобождает и разблокирует диапазон страниц в виртуальном пространстве адресов вызывающего процесса. |
|
Служит логической программой-оболочкой для соответствующей функции Win32, которая вносит изменения в защиту диапазона фиксированных страниц виртуального пространства адресов вызывающего процесса. |
|
Служит логической программой-оболочкой для соответствующей функции Win32, которая получает сведения о диапазоне страниц виртуального пространства адресов вызывающего процесса. |
Заметки
Интерфейс IHostMemoryManager предоставляет также методы, позволяющие среде CLR получать указатель, посредством которого можно осуществлять запросы памяти в куче и получать уровень нехватки памяти в процессе, о котором сообщает процесс.
Требования
Платформы: см. раздел Требования к системе для .NET Framework.
Заголовок: MSCorEE.idl
Библиотека: включена как ресурс в MSCorEE.dll
Версии платформы .NET Framework: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0