IHostMemoryManager::VirtualProtect 方法
做為對應 Win32 語言函式的邏輯包裝語言函式。 Win32 VirtualProtect
實作會變更呼叫程序虛擬位址空間中已認可頁面區域的保護。
語法
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 | 封鎖的執行緒或 Fiber 在其上等候時,事件遭到取消。 |
E_FAIL | 發生未知的重大失敗。 如果方法傳回 E_FAIL,則 CLR 就無法再用於處理序。 後續對裝載方法發出的呼叫會傳回 HOST_E_CLRNOTAVAILABLE。 |
備註
這個 VirtualProtect
實作會傳回 HRESULT 值,而 Win32 實作會傳回非零值來表示成功,以及表示失敗的零值。 如需詳細資訊,請參閱 Windows 平台文件。
規格需求
平台:請參閱系統需求。
標題: MSCorEE.h
程式庫:包含作為 MSCorEE.dll 中的資源
.NET Framework版本:自 2.0 起提供