Метод 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.