Udostępnij za pośrednictwem


IHostMemoryManager::VirtualFree — Metoda

Służy jako logiczne otoki dla odpowiedniej funkcji Win32. Implementacja systemu Win32 wydań VirtualFree , poleceń lub wydań oraz decommituje region stron w wirtualnej przestrzeni adresowej procesu wywołującego.

Składnia

HRESULT VirtualFree (  
    [in] LPVOID  lpAddress,  
    [in] SIZE_T  dwSize,  
    [in] DWORD   dwFreeType  
);  

Parametry

lpAddress
[in] Wskaźnik do podstawowego adresu stron pamięci wirtualnej do zwolnienia.

dwSize
[in] Rozmiar w bajtach regionu do zwolnienia.

dwFreeType
[in] Typ operacji zwalniania.

Wartość zwracana

HRESULT Opis
S_OK VirtualFree zwrócone pomyślnie.
HOST_E_CLRNOTAVAILABLE Środowisko uruchomieniowe języka wspólnego (CLR) nie zostało załadowane do procesu lub clR jest w stanie, w którym nie może uruchomić kodu zarządzanego ani pomyślnie przetworzyć wywołania.
HOST_E_TIMEOUT Upłynął limit czasu wywołania.
HOST_E_NOT_OWNER Obiekt wywołujący nie jest właścicielem blokady.
HOST_E_ABANDONED Zdarzenie zostało anulowane, gdy zablokowany wątek lub światłowod czekał na nie.
E_FAIL Wystąpił nieznany katastrofalny błąd. Gdy metoda zwraca E_FAIL, clR nie będzie już można jej używać w ramach tego procesu. Kolejne wywołania metod hostingu zwracają HOST_E_CLRNOTAVAILABLE.
HOST_E_INVALIDOPERATION Podjęto próbę zwolnienia pamięci, która nie została przydzielona za pośrednictwem hosta.

Uwagi

VirtualFree Zwalnia strony pamięci wirtualnej skojarzone z parametrem lpAddress za pomocą wcześniejszego wywołania funkcji IHostMemoryManager::VirtualAlloc . Próby zwolnienia pamięci, która nie została przydzielona za pośrednictwem hosta, powinny zwrócić HOST_E_INVALIDOPERATION.

Semantyka jest taka sama jak w przypadku implementacji win32 programu VirtualFree. Aby uzyskać więcej informacji, zobacz dokumentację platformy systemu Windows.

Wymagania

Platformy: Zobacz Wymagania systemowe.

Nagłówka: MSCorEE.h

Biblioteki: Uwzględnione jako zasób w MSCorEE.dll

wersje .NET Framework: dostępne od wersji 2.0

Zobacz też