Partager via


IHostMemoryManager

Mise à jour : novembre 2007

Fournit les méthodes qui permettent au Common Language Runtime (CLR) de formuler des demandes de mémoire virtuelle par le biais de l'hôte, au lieu d'utiliser les fonctions de mémoire virtuelle Win32 standard.

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éthodes

Méthode

Description

IHostMemoryManager::AcquiredVirtualAddressSpace, méthode

Notifie l'hôte que le Common Language Runtime (CLR) a acquis la mémoire spécifiée à partir du système d'exploitation.

IHostMemoryManager::CreateMAlloc, méthode

Obtient un pointeur d'interface vers une instance IHostMAlloc qui est utilisée pour demander des allocations de mémoire à partir d'un tas créé par l'hôte.

IHostMemoryManager::GetMemoryLoad, méthode

Obtient la quantité de mémoire physique qui est utilisée actuellement, telle que signalée par l'hôte.

IHostMemoryManager::NeedsVirtualAddressSpace, méthode

Notifie l'hôte que le CLR va essayer d'utiliser la mémoire spécifiée.

IHostMemoryManager::RegisterMemoryNotificationCallback, méthode

Enregistre un pointeur vers une fonction de rappel que l'hôte appelle pour notifier le CLR du chargement en cours de la mémoire sur l'ordinateur.

IHostMemoryManager::ReleasedVirtualAddressSpace, méthode

Notifie l'hôte que le CLR a terminé d'utiliser la mémoire spécifiée.

IHostMemoryManager::VirtualAlloc, méthode

Sert de wrapper logique pour la fonction Win32 correspondante, de manière à réserver ou valider une région de pages dans l'espace d'adressage virtuel du processus appelant.

IHostMemoryManager::VirtualFree, méthode

Sert de wrapper logique pour la fonction Win32 correspondante, de manière à libérer, invalider ou libérer et invalider une région de pages dans l'espace d'adressage virtuel du processus appelant.

IHostMemoryManager::VirtualProtect, méthode

Sert de wrapper logique pour la fonction Win32 correspondante, de manière à modifier la protection d'une région de pages validées dans l'espace d'adressage virtuel du processus appelant.

IHostMemoryManager::VirtualQuery, méthode

Sert de wrapper logique pour la fonction Win32 correspondante, de manière à récupérer des informations sur une plage de pages dans l'espace d'adressage virtuel du processus appelant.

Notes

IHostMemoryManager fournit également des méthodes pour que le CLR obtienne un pointeur par l'intermédiaire duquel formuler des demandes de mémoire sur le tas et obtenir le niveau de sollicitation de la mémoire dans le processus, tel qu'indiqué par l'hôte.

Configuration requise

Platforms: See Configuration requise du .NET Framework.

En-tête : MSCorEE.idl

Bibliothèque : incluse en tant que ressource dans MSCorEE.dll

.NET Framework Versions: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Voir aussi

Référence

IHostMAlloc

Autres ressources

Interfaces d'hébergement