Поделиться через


Метод IHostMemoryManager::VirtualProtect

Служит логической оболочкой для соответствующей функции Win32. Реализация VirtualProtect Win32 изменяет защиту в регионе зафиксированных страниц в виртуальном адресном пространстве вызывающего процесса.

Синтаксис

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

Параметры

lpAddress
[in] Указатель на базовый адрес виртуальной памяти, атрибуты защиты которой необходимо изменить.

dwSize
[in] Размер (в байтах) области изменяемых страниц памяти.

flNewProtect
[in] Тип применяемой защиты памяти.

pflOldProtect
[out] Указатель на предыдущее значение защиты памяти.

Возвращаемое значение

HRESULT Описание:
S_OK VirtualProtect возвращено успешно.
HOST_E_CLRNOTAVAILABLE Среда CLR не была загружена в процесс, или среда CLR находится в состоянии, в котором она не может выполнить управляемый код или обработать вызов.
HOST_E_TIMEOUT Время ожидания звонка истекло.
HOST_E_NOT_OWNER Вызывающий объект не владеет блокировкой.
HOST_E_ABANDONED Событие было отменено во время ожидания заблокированного потока или волокна.
E_FAIL Произошла неизвестная катастрофическая ошибка. Когда метод возвращает E_FAIL, среда CLR больше не используется в рамках процесса. Последующие вызовы методов размещения возвращают HOST_E_CLRNOTAVAILABLE.

Комментарии

Эта реализация VirtualProtect возвращает значение HRESULT, а реализация Win32 — ненулевое значение, указывающее на успех, и нулевое значение, указывающее на сбой. Дополнительные сведения см. в документации по платформе Windows.

Требования

Платформы: см. раздел Требования к системе.

Заголовка: MSCorEE.h

Библиотека: Включается в качестве ресурса в MSCorEE.dll

версии платформа .NET Framework: доступно с версии 2.0.

См. также раздел