Condividi tramite


Metodo IHostMemoryManager::VirtualProtect

Funge da wrapper logico per la funzione Win32 corrispondente. L'implementazione win32 delle VirtualProtect modifiche alla protezione in un'area di pagine di commit nello spazio indirizzi virtuale del processo di chiamata.

Sintassi

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 i cui attributi di protezione devono essere modificati.

dwSize
[in] Dimensioni, in byte, dell'area delle pagine di memoria da modificare.

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

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

Valore restituito

HRESULT Descrizione
S_OK VirtualProtect restituito correttamente.
HOST_E_CLRNOTAVAILABLE Common Language Runtime (CLR) non è stato caricato in un processo oppure CLR si trova in uno stato in cui non è possibile eseguire codice gestito o elaborare correttamente la chiamata.
HOST_E_TIMEOUT Timeout della chiamata.
HOST_E_NOT_OWNER Il chiamante non possiede il blocco.
HOST_E_ABANDONED Un evento è stato annullato mentre un thread bloccato o fibra era in attesa su di esso.
E_FAIL Si è verificato un errore irreversibile sconosciuto. Quando un metodo restituisce E_FAIL, CLR non è più utilizzabile all'interno del processo. Le chiamate successive ai metodi di hosting restituiscono HOST_E_CLRNOTAVAILABLE.

Commenti

Questa implementazione di VirtualProtect restituisce un valore HRESULT, mentre l'implementazione Win32 restituisce un valore diverso da zero per indicare l'esito positivo e un valore zero per indicare l'errore. Per altre informazioni, vedere la documentazione di Windows Platform.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: MSCorEE.h

Libreria: Incluso come risorsa in MSCorEE.dll

Versioni di .NET Framework: Disponibile da 2.0

Vedi anche