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