IHostMemoryManager::VirtualQuery 方法
當做對應之 Win32 函式的邏輯包裝函式。 VirtualQuery 的 Win32 實作所擷取的資訊,與呼叫處理序之虛擬位址空間中的分頁範圍相關。
HRESULT VirtualQuery (
[in] void* lpAddress,
[out] void* lpBuffer,
[in] SIZE_T dwLength,
[out] SIZE_T* pResult
);
參數
lpAddress
[in] 指標,指向虛擬記憶體中要查詢的位址。lpBuffer
[out] 結構的指標,此結構包含與指定記憶體區域有關的資訊。dwLength
[in] lpBuffer 指向的緩衝區大小 (以位元組計)。pResult
[out] 資訊緩衝區所傳回之位元組數目的指標。
傳回值
HRESULT |
描述 |
---|---|
S_OK |
VirtualQuery 已成功傳回。 |
HOST_E_CLRNOTAVAILABLE |
Common Language Runtime (CLR) 尚未載入至處理序中,或者此 CLR 目前的狀態無法執行 Managed 程式碼或成功處理呼叫。 |
HOST_E_TIMEOUT |
呼叫已逾時。 |
HOST_E_NOT_OWNER |
呼叫端不具備鎖定功能。 |
HOST_E_ABANDONED |
已封鎖執行緒或 Fiber 在等候事件時,該事件已遭取消。 |
E_FAIL |
發生未知的重大錯誤。 當方法傳回 E_FAIL 時,便無法在處理序內使用 CLR。 對裝載方法的後續呼叫會傳回 HOST_E_CLRNOTAVAILABLE。 |
備註
VirtualQuery 提供與呼叫處理序的虛擬位址空間中某個範圍頁面有關的資訊。 此實作會將 pResult 參數的值設定為資訊緩衝區中所傳回的位元組數,並傳回 HRESULT 值。 在 Win32 VirtualQuery 函式中,傳回值為緩衝區大小。 如需詳細資訊,請參閱 Windows 平台的說明文件。
重要事項 |
---|
作業系統的 VirtualQuery 實作不會導致死結,而且可以利用使用者程式碼中暫止的隨機執行緒一直執行到完成為止。在實作此方法的裝載版本時,務必要十分謹慎。 |
需求
**平台:**請參閱 .NET Framework 系統需求。
**標頭:**MSCorEE.h
程式庫:包含做為 MSCorEE.dll 中的資源
**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0