Método IHostMemoryManager::VirtualProtect
Serve como um wrapper lógico para a função Win32 correspondente. A implementação win32 de VirtualProtect
altera a proteção numa região de páginas consolidadas no espaço de endereços virtual do processo de chamada.
Sintaxe
HRESULT VirtualProtect (
[in] void* lpAddress,
[in] SIZE_T dwSize,
[in] DWORD flNewProtect,
[out] DWORD* pflOldProtect
);
Parâmetros
lpAddress
[in] Um ponteiro para o endereço base da memória virtual cujos atributos de proteção devem ser alterados.
dwSize
[in] O tamanho, em bytes, da região das páginas de memória a alterar.
flNewProtect
[in] O tipo de proteção de memória a aplicar.
pflOldProtect
[fora] Um ponteiro para o valor anterior da proteção de memória.
Devolver Valor
HRESULT | Description |
---|---|
S_OK | VirtualProtect devolvido com êxito. |
HOST_E_CLRNOTAVAILABLE | O runtime de linguagem comum (CLR) não foi carregado para um processo ou o CLR está num estado em que não pode executar código gerido ou processar a chamada com êxito. |
HOST_E_TIMEOUT | A chamada excedeu o limite de tempo. |
HOST_E_NOT_OWNER | O autor da chamada não é o proprietário do bloqueio. |
HOST_E_ABANDONED | Um evento foi cancelado enquanto um thread ou fibra bloqueado estava à espera. |
E_FAIL | Ocorreu uma falha catastrófica desconhecida. Quando um método devolve E_FAIL, o CLR já não é utilizável no processo. As chamadas subsequentes para métodos de alojamento devolvem HOST_E_CLRNOTAVAILABLE. |
Observações
Esta implementação de VirtualProtect
devolve um valor HRESULT, enquanto a implementação Win32 devolve um valor diferente de zero para indicar êxito e um valor zero para indicar a falha. Para obter mais informações, consulte a documentação da Plataforma windows.
Requisitos
Plataformas: Veja Requisitos de Sistema.
Cabeçalho: MSCorEE.h
Biblioteca: Incluído como um recurso no MSCorEE.dll
.NET Framework Versões: Disponível desde 2.0