Compartir a través de


IHostMemoryManager::VirtualProtect (Método)

Actúa como un contenedor lógico para la función correspondiente de Win32. La implementación de Win32 de VirtualProtect cambia la protección en una región de páginas confirmadas en el espacio de dirección virtual del proceso de llamada.

HRESULT VirtualProtect (
    [in]  void*   lpAddress,
    [in]  SIZE_T  dwSize,
    [in]  DWORD   flNewProtect,
    [out] DWORD*  pflOldProtect
);

Parámetros

  • lpAddress
    [in] Puntero a la dirección base de la memoria virtual cuyos atributos de protección se van a cambiar.

  • dwSize
    [in] Tamaño, en bytes, de la región de las páginas de memoria que se va a cambiar.

  • flNewProtect
    [in] Tipo de protección de memoria que se debe aplicar.

  • pflOldProtect
    [out] Puntero al valor de protección de memoria anterior.

Valor devuelto

HRESULT

Descripción

S_OK

VirtualProtect finalizó correctamente.

HOST_E_CLRNOTAVAILABLE

Common Language Runtime (CLR) no se ha cargado en un proceso o está en un estado en el que no puede ejecutar el código administrado o procesar la llamada correctamente.

HOST_E_TIMEOUT

Se agotó el tiempo de espera de la llamada.

HOST_E_NOT_OWNER

El llamador no posee el bloqueo.

HOST_E_ABANDONED

Se canceló un evento mientras una fibra o un subproceso bloqueado estaba esperándole.

E_FAIL

Se ha producido un error catastrófico desconocido. Si un método devuelve E_FAIL, CLR no se puede seguir utilizando en el proceso. Las llamadas subsiguientes a métodos de hospedaje devuelven HOST_E_CLRNOTAVAILABLE.

Comentarios

Esta implementación de VirtualProtect devuelve un valor HRESULT, mientras que la implementación de Win32 devuelve un valor distinto de cero para indicar que se ha realizado correctamente, y un valor de cero para indicar un error. Para obtener más información, consulte la documentación sobre la plataforma Windows.

Requisitos

Plataformas: vea Requisitos de sistema de .NET Framework.

Encabezado: MSCorEE.h

Biblioteca: Se incluye como recurso en MsCorEE.dll

Versiones de .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Vea también

Referencia

IHostMemoryManager (Interfaz)