Compartir a través de


IHostMemoryManager::VirtualProtect (Método)

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

Sintaxis

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 van a cambiar.

flNewProtect
[in] Tipo de protección de memoria que se va a aplicar.

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

Valor devuelto

HRESULT Descripción
S_OK VirtualProtect se devolvió correctamente.
HOST_E_CLRNOTAVAILABLE El Common Language Runtime (CLR) no se ha cargado en un proceso o se encuentra en un estado en el que no puede ejecutar 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 autor de la llamada no es el propietario del bloqueo.
HOST_E_ABANDONED Se canceló un evento mientras que una fibra o subproceso que estaba bloqueado lo estaba esperando.
E_FAIL Ocurrió un error grave desconocido. Si un método devuelve el valor E_FAIL, el CLR ya no se podrá usar en el proceso. Las llamadas que se hagan a los métodos de hospedaje posteriormente devolverán el valor 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 cero para indicar un error. Para obtener más información, vea la documentación de la Plataforma de Windows.

Requisitos

Plataformas: Vea Requisitos de sistema.

Encabezado: MSCorEE.h

Biblioteca: incluida como recurso en MSCorEE.dll

Versiones de .NET Framework: disponible a partir de la versión 2.0

Consulte también