Método de IHostMemoryManager::VirtualProtect
Serve como um wrapper lógico para a função correspondente do Win32. A implementação do Win32 de VirtualProtect altera a proteção de uma região de páginas comprometidas no espaço de endereço virtual do processo de chamada.
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 serão alteradas.dwSize
[in] O tamanho em bytes, da região de páginas de memória a ser alterada.flNewProtect
[in] O tipo de proteção de memória para aplicar.pflOldProtect
[out] Um ponteiro para o valor anterior de proteção de memória.
Valor de retorno
HRESULT |
Descrição |
---|---|
S_OK |
VirtualProtectretornado com êxito. |
HOST_E_CLRNOTAVAILABLE |
O common language runtime (CLR) não foi carregado em um processo ou o CLR é em um estado em que ele não é possível executar código gerenciado ou processar a chamada com êxito. |
HOST_E_TIMEOUT |
A chamada foi esgotado. |
HOST_E_NOT_OWNER |
O chamador não possui o bloqueio. |
HOST_E_ABANDONED |
Um evento foi cancelado, enquanto um segmento bloqueado ou fibra estava esperando por ele. |
E_FAIL |
Ocorreu uma falha catastrófica desconhecida. Quando um método retorna E_FAIL, o CLR não é usável dentro do processo. As chamadas subseqüentes para hospedar os métodos retornam HOST_E_CLRNOTAVAILABLE. |
Comentários
Essa implementação do VirtualProtect retorna um valor HRESULT, enquanto a implementação do Win32 retorna um valor diferente de zero para indicar sucesso e um valor zero para indicar falha. Para obter mais informações, consulte a documentação da plataforma Windows.
Requisitos
Plataformas: Consulte Requisitos de sistema do .NET Framework.
Cabeçalho: MSCorEE.h
Biblioteca: Incluído como um recurso em mscoree
.NET Framework versões: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0