Udostępnij za pośrednictwem


IHostMemoryManager::VirtualProtect — Metoda

Służy jako logiczna otoka dla odpowiedniej funkcji Win32. Implementacja VirtualProtect win32 zmiany ochrony w regionie zatwierdzonych stron w wirtualnej przestrzeni adresowej procesu wywołującego.

Składnia

HRESULT VirtualProtect (  
    [in]  void*   lpAddress,  
    [in]  SIZE_T  dwSize,  
    [in]  DWORD   flNewProtect,  
    [out] DWORD*  pflOldProtect  
);  

Parametry

lpAddress
[w] Wskaźnik do podstawowego adresu pamięci wirtualnej, którego atrybuty ochrony mają zostać zmienione.

dwSize
[w] Rozmiar stron pamięci, który ma zostać zmieniony w bajtach.

flNewProtect
[w] Typ ochrony pamięci do zastosowania.

pflOldProtect
[out] Wskaźnik do poprzedniej wartości ochrony pamięci.

Wartość zwracana

HRESULT Opis
S_OK VirtualProtect zwrócono 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 używać w ramach tego procesu. Kolejne wywołania metod hostingu zwracają HOST_E_CLRNOTAVAILABLE.

Uwagi

Ta implementacja VirtualProtect zwraca wartość HRESULT, podczas gdy implementacja Win32 zwraca wartość niezerową, aby wskazać powodzenie, a wartość zero wskazująca niepowodzenie. 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

.NET Framework wersje: dostępne od wersji 2.0

Zobacz też