Condividi tramite


Metodo IHostMemoryManager::VirtualProtect

Funziona come wrapper logico per la funzione Win32 corrispondente. L'implementazione Win32 di VirtualProtect modifica la protezione in una regione di pagine salvate nello spazio di indirizzi virtuali del processo chiamante.

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

Parametri

  • lpAddress
    [in] Puntatore all'indirizzo di base della memoria virtuale di cui devono essere modificati gli attributi di protezione.

  • dwSize
    [in] Dimensione, in byte, dell'area delle pagine della memoria da modificare.

  • flNewProtect
    [in] Tipo di protezione della memoria da applicare.

  • pflOldProtect
    [out] Puntatore al precedente valore di protezione della memoria.

Valore restituito

HRESULT

Oggetto di descrizione

S_OK

VirtualProtect ha restituito correttamente un valore.

HOST_E_CLRNOTAVAILABLE

Common Language Runtime non è stato caricato in un processo oppure si trova in uno stato in cui non è possibile eseguire codice gestito né elaborare correttamente la chiamata.

HOST_E_TIMEOUT

Timeout della chiamata.

HOST_E_NOT_OWNER

Il chiamante non è il proprietario del blocco.

HOST_E_ABANDONED

Un evento è stato annullato mentre un thread o un fiber bloccato era in attesa di tale evento.

E_FAIL

Si è verificato un errore irreversibile sconosciuto. Se un metodo restituisce E_FAIL, CLR non sarà più utilizzabile all'interno del processo. Le successive chiamate ai metodi di hosting restituiranno HOST_E_CLRNOTAVAILABLE.

Note

Questa implementazione di VirtualProtect restituisce un valore HRESULT, mentre l'implementazione Win32 restituisce un valore diverso da zero per indicare un esito positivo e zero per indicare un esito negativo. Per ulteriori informazioni, vedere la documentazione relativa alla piattaforma Windows.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: MSCorEE.h

Libreria: inclusa come risorsa in MSCorEE.dll

Versioni di .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Vedere anche

Riferimenti

Interfaccia IHostMemoryManager