Sdílet prostřednictvím


IHostMemoryManager::VirtualProtect – metoda

Slouží jako logická obálka pro odpovídající funkci Win32. Implementace VirtualProtect Win32 změní ochranu v oblasti potvrzených stránek ve virtuálním adresním prostoru volajícího procesu.

Syntaxe

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

Parametry

lpAddress
[v] Ukazatel na základní adresu virtuální paměti, jejíž atributy ochrany mají být změněny.

dwSize
[v] Velikost oblasti paměťových stránek, které se mají změnit, v bajtech.

flNewProtect
[v] Typ ochrany paměti, který se má použít.

pflOldProtect
[out] Ukazatel na předchozí hodnotu ochrany paměti.

Návratová hodnota

HRESULT Description
S_OK VirtualProtect úspěšně vráceno.
HOST_E_CLRNOTAVAILABLE Modul CLR (Common Language Runtime) nebyl načten do procesu nebo je ve stavu, ve kterém nemůže spustit spravovaný kód nebo úspěšně zpracovat volání.
HOST_E_TIMEOUT Časový limit hovoru vypršel.
HOST_E_NOT_OWNER Volající zámek nevlastní.
HOST_E_ABANDONED Událost byla zrušena, zatímco na ni čekalo blokované vlákno nebo vlákno.
E_FAIL Došlo k neznámému závažnému selhání. Když metoda vrátí E_FAIL, clr již není možné v rámci procesu použít. Následná volání metod hostování vrátí HOST_E_CLRNOTAVAILABLE.

Poznámky

Tato implementace VirtualProtect vrátí hodnotu HRESULT, zatímco implementace Win32 vrátí nenulovou hodnotu označující úspěch a nulovou hodnotu pro selhání. Další informace najdete v dokumentaci k platformě Windows.

Požadavky

Platformy: Viz Požadavky na systém.

Záhlaví: MSCorEE.h

Knihovny: Zahrnutý jako prostředek v MSCorEE.dll

Verze rozhraní .NET Framework: K dispozici od verze 2.0

Viz také