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