IHostMemoryManager::VirtualFree-Methode
Dient als logischer Wrapper für die entsprechende Win32-Funktion. Die Win32-Implementierung von VirtualFree
gibt einen Bereich von Seiten im virtuellen Adressraum des aufrufenden Prozesses frei und/oder hebt den entsprechenden Commit auf.
Syntax
HRESULT VirtualFree (
[in] LPVOID lpAddress,
[in] SIZE_T dwSize,
[in] DWORD dwFreeType
);
Parameter
lpAddress
[in] Ein Zeiger auf die Basisadresse der virtuellen Speicherseiten, die freigegeben werden sollen.
dwSize
[in] Die Größe des freizugebenden Bereichs in Byte.
dwFreeType
[in] Der Typ des Freigabevorgangs.
Rückgabewert
HRESULT | BESCHREIBUNG |
---|---|
S_OK | VirtualFree wurde erfolgreich zurückgegeben. |
HOST_E_CLRNOTAVAILABLE | Die Common Language Runtime (CLR) wurde nicht in einen Prozess geladen, oder die CLR befindet sich in einem Zustand, in dem sie keinen verwalteten Code ausführen oder den Aufruf nicht erfolgreich verarbeiten kann. |
HOST_E_TIMEOUT | Timeout des Aufrufs. |
HOST_E_NOT_OWNER | Der Aufrufer besitzt die Sperre nicht. |
HOST_E_ABANDONED | Ein Ereignis wurde abgebrochen, während ein blockierter Thread oder eine blockierte Fiber darauf gewartet hat. |
E_FAIL | Es ist ein unbekannter katastrophaler Fehler aufgetreten. Wenn eine Methode E_FAIL zurückgibt, kann die CLR nicht mehr innerhalb des Prozesses verwendet werden. Nachfolgende Aufrufe von Hostingmethoden geben HOST_E_CLRNOTAVAILABLE zurück. |
HOST_E_INVALIDOPERATION | Es wurde versucht, Arbeitsspeicher freizugeben, der nicht über den Host zugewiesen wurde. |
Bemerkungen
VirtualFree
gibt virtuelle Speicherseiten frei, die dem lpAddress
-Parameter über einen früheren Aufruf der IHostMemoryManager::VirtualAlloc-Funktion zugeordnet sind. Bei Versuchen zur Freigabe von Arbeitsspeicher, der nicht über den Host zugewiesen wurde, sollte HOST_E_INVALIDOPERATION zurückgegeben werden.
Die Semantik ist identisch mit der der Win32-Implementierung von VirtualFree
. Weitere Informationen finden Sie in der Dokumentation zur Windows-Plattform.
Anforderungen
Plattformen: Informationen finden Sie unter Systemanforderungen.
Header: MSCorEE.h
Bibliothek: Als Ressource in „MsCorEE.dll“ enthalten.
.NET Framework-Versionen: Seit 2.0 verfügbar.