Dela via


IHostMemoryManager::VirtualProtect, metod

Fungerar som en logisk adapter för motsvarande Win32-funktion. Win32-implementeringen av VirtualProtect ändrar skyddet på en region med bekräftade sidor i det virtuella adressutrymmet för anropsprocessen.

Syntax

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

Parametrar

lpAddress
[in] En pekare till basadressen för det virtuella minnet vars skyddsattribut ska ändras.

dwSize
[in] Storleken i byte för det område med minnessidor som ska ändras.

flNewProtect
[in] Den typ av minnesskydd som ska tillämpas.

pflOldProtect
[ut] En pekare till det tidigare minnesskyddsvärdet.

Returvärde

HRESULT Description
S_OK VirtualProtect returnerades.
HOST_E_CLRNOTAVAILABLE CLR (Common Language Runtime) har inte lästs in i en process eller så är CLR i ett tillstånd där den inte kan köra hanterad kod eller bearbeta anropet.
HOST_E_TIMEOUT Tidsgränsen för samtalet överst.
HOST_E_NOT_OWNER Anroparen äger inte låset.
HOST_E_ABANDONED En händelse avbröts medan en blockerad tråd eller fiber väntade på den.
E_FAIL Ett okänt oåterkalleligt fel inträffade. När en metod returnerar E_FAIL kan CLR inte längre användas i processen. Efterföljande anrop till värdmetoder returnerar HOST_E_CLRNOTAVAILABLE.

Kommentarer

Den här implementeringen av VirtualProtect returnerar ett HRESULT-värde, medan Win32-implementeringen returnerar ett värde som inte är noll för att indikera lyckat resultat och ett nollvärde för att indikera fel. Mer information finns i Dokumentation om Windows-plattformen.

Krav

Plattformar: Se Systemkrav.

Huvudet: MSCorEE.h

Bibliotek: Ingår som en resurs i MSCorEE.dll

.NET Framework versioner: Tillgänglig sedan 2.0

Se även