IHostMemoryManager
Aktualisiert: November 2007
Stellt Methoden bereit, die der Common Language Runtime (CLR) das Anfordern von virtuellem Arbeitsspeicher über den Host anstatt mit den normalen Win32-Funktionen für virtuellen Arbeitsspeicher ermöglichen.
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
);
};
Methoden
Methode |
Beschreibung |
---|---|
Benachrichtigt den Host, dass die Common Language Runtime (CLR) den angegebenen Arbeitsspeicher vom Betriebssystem erhalten hat. |
|
Ruft einen Schnittstellenzeiger auf eine IHostMAlloc-Instanz ab, mit der Speicherreservierungen von einem Heap angefordert werden, der vom Host erstellt wurde. |
|
Ruft die Größe des momentan verwendeten physischen Arbeitsspeichers ab, die vom Host gemeldet wurde. |
|
Benachrichtigt den Host, dass die CLR versucht, den angegebenen Arbeitsspeicher zu verwenden. |
|
IHostMemoryManager::RegisterMemoryNotificationCallback-Methode |
Registriert einen Zeiger auf eine Rückruffunktion, die der Host aufruft, um die CLR über die aktuelle Speicherauslastung auf dem Computer zu benachrichtigen. |
Benachrichtigt den Host, dass die CLR den angegebenen Arbeitsspeicher nicht mehr verwendet. |
|
Dient als logischer Wrapper für die entsprechende Win32-Funktion, die einen Bereich von Seiten innerhalb des virtuellen Adressraums des aufrufenden Prozesses reserviert oder ein Commit dafür durchgeführt. |
|
Dient als logischer Wrapper für die entsprechende Win32-Funktion, die einen Bereich von Seiten innerhalb des virtuellen Adressraums des aufrufenden Prozesses freigibt und/oder ein Decommit dafür durchgeführt. |
|
Dient als logischer Wrapper für die entsprechende Win32-Funktion, die den Schutz für einen Bereich von Seiten im virtuellen Adressraum des aufrufenden Prozesses, für die ein Commit durchgeführt wurde, ändert. |
|
Dient als logischer Wrapper für die entsprechende Win32-Funktion, die Informationen über einen Bereich von Seiten innerhalb des virtuellen Adressraums des aufrufenden Prozesses abruft. |
Hinweise
IHostMemoryManager stellt auch Methoden bereit, mit denen die CLR einen Zeiger abrufen kann, über den Speicheranforderungen an den Heap durchgeführt und das Ausmaß des Speicherdrucks im Prozess abgerufen werden können, der vom Host gemeldet wird.
Anforderungen
Plattformen: siehe Systemanforderungen für .NET Framework.
Header: MSCorEE.idl
Bibliothek: als Ressource in MSCorEE.dll enthalten
.NET Framework-Versionen: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0