Interface IHostMemoryManager
Fornece métodos que permitem a Common linguagem tempo de execução (CLR) para fazer solicitações de memória virtual através do host, em vez de usar as funções de memória virtual do Win32 padrão.
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
);
};
Métodos
Método |
Descrição |
---|---|
Notifica o host que o common linguagem tempo de execução (CLR) adquiriu a memória do sistema operacional especificada. |
|
Obtém um ponteiro de interface para um IHostMAlloc instância que é usada para solicitar as alocações de memória a partir de um heap criado pelo host. |
|
Obtém a quantidade de memória física que está sendo usada no momento, sistema autônomo relatado pelo host. |
|
Notifica o host que o CLR irá tentar usar a memória especificada. |
|
Método IHostMemoryManager::RegisterMemoryNotificationCallback |
Registra um ponteiro para uma função de retorno de chamada que invoca o host para notificar o CLR da carga corrente de memória no computador. |
Notifica o host que o CLR terminou de usar a memória especificada. |
|
Serve sistema autônomo um wrapper lógico para a função Win32 correspondente, que reservará ou confirma uma região de páginas no espaço de endereço virtual do processo de chamada. |
|
Serve sistema autônomo um wrapper lógico para a função Win32 correspondente, que versões, decommits, ou versões e decommits uma região de páginas dentro do espaço de endereço virtual do processo de chamada. |
|
Serve sistema autônomo um wrapper lógico para a função Win32 correspondente, que altera a proteção em uma região de páginas comprometidas no espaço de endereço virtual do processo de chamada. |
|
Serve sistema autônomo um wrapper lógico para a função Win32 correspondente, que recupera informações sobre um intervalo de páginas no espaço de endereço virtual do processo de chamada. |
Comentários
IHostMemoryManager também fornece métodos para o CLR obter um ponteiro através do qual fazer solicitações de memória na pilha e obter o nível de pressão de memória do processo, conforme relatado pelo host.
Requisitos
Plataformas: See Requisitos de sistema do .NET framework.
Cabeçalho: MSCorEE.idl
Biblioteca: Incluído sistema autônomo um recurso em MSCorEE.dll
.NET Framework Versions: 3.5 SP1, 3,5, 3.0 SP1, 3.0, 2.0 SP1, 2.0