共用方式為


NtQueryVirtualMemory 函式 (ntifs.h)

NtQueryVirtualMemory 例程會決定指定進程虛擬位址空間內頁面區域的狀態、保護和類型。

語法

__kernel_entry NTSYSCALLAPI NTSTATUS NtQueryVirtualMemory(
  [in]            HANDLE                   ProcessHandle,
  [in, optional]  PVOID                    BaseAddress,
  [in]            MEMORY_INFORMATION_CLASS MemoryInformationClass,
  [out]           PVOID                    MemoryInformation,
  [in]            SIZE_T                   MemoryInformationLength,
  [out, optional] PSIZE_T                  ReturnLength
);

參數

[in] ProcessHandle

處理要查詢之頁面所在的進程。 使用 NtCurrentProcess 巨集來指定目前的進程。

[in, optional] BaseAddress

要查詢之頁面區域的基位址。 此值會四捨五入至下一個主機頁面位址界限。

[in] MemoryInformationClass

要擷取資訊的記憶體信息類別。 目前唯一支援的 MEMORY_INFORMATION_CLASS 值是 MemoryBasicInformation

[out] MemoryInformation

接收指定信息的緩衝區指標。 緩衝區的格式和內容取決於 MemoryInformationClass 參數中指定的資訊類別。 當 memoryBasicInformation 值傳遞至 memoryInformationClass 時,MemoryInformation 參數值是 MEMORY_BASIC_INFORMATION 結構。

[in] MemoryInformationLength

指定 MemoryInformation 指向的緩衝區長度,以位元組為單位。

[out, optional] ReturnLength

選擇性指標,如果指定,則會接收位在 MemoryInformation 緩衝區中的位元元數目。

傳回值

如果呼叫成功,則傳回STATUS_SUCCESS。 如果呼叫失敗,可能的錯誤碼包括:

傳回碼 描述
STATUS_ACCESS_DENIED 呼叫端的訪問許可權不足,無法執行要求的動作。
STATUS_ACCESS_VIOLATION 指定的基位址是無效的虛擬位址。
STATUS_INFO_LENGTH_MISMATCH MemoryInformation 緩衝區大於 memoryInformationLength
STATUS_INVALID_INFO_CLASS 指定的 MemoryInformationClass 參數無效。
STATUS_INVALID_PARAMETER 指定的基位址超出可存取位址的範圍。

言論

ZwQueryVirtualMemory 會決定區域內第一頁的狀態,然後從基位址向上掃描進程地址對應中的後續專案,直到掃描整個頁面範圍,或直到遇到具有非相符屬性集的頁面為止。 區域屬性、具有相符屬性的頁面區域長度,以及傳回適當的狀態值。

如果整個頁面區域沒有相符的屬性集,則會個別傳回一個位址保留區內的子區域。 它們會有相同的 *MemoryInformation.AllocationBase 值,其個別大小會 *MemoryInformation.RegionSize,而且位址保留的總大小可以透過加總 *MemoryInformation.RegionSize 與特定 *MemoryInformation.AllocationBase 值相關聯。

NtQueryVirtualMemoryZwQueryVirtualMemory 是相同 Windows 原生系統服務例程的兩個版本。

對於內核模式驅動程式的呼叫,NtXxxZwXxx 版本的 Windows 原生系統服務例程,在處理和解譯輸入參數的方式上可能會有不同的行為。 如需 nt NtXxxZwXxx 例程之間關聯性的詳細資訊,請參閱 使用 Nt 和 Zw 版本的原生系統服務例程

要求

要求 價值
最低支援的用戶端 Windows 2000
目標平臺 普遍
標頭 ntifs.h
連結庫 NtosKrnl.lib
DLL NtosKrnl.exe

另請參閱

MEMORY_BASIC_INFORMATION

MEMORY_INFORMATION_CLASS

POWER_PLATFORM_INFORMATION

ZwQueryVirtualMemory