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