Partilhar via


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

Consulte também

Referência

Interface de IHostMemoryManager