分享方式:


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 起提供

另請參閱