Bagikan melalui


Fungsi ZwQueryVirtualMemory (ntifs.h)

Rutinitas ZwQueryVirtualMemory menentukan status, perlindungan, dan jenis wilayah halaman dalam ruang alamat virtual proses subjek.

Sintaks

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

Parameter

[in] ProcessHandle

Handel untuk proses dalam konteks halaman yang akan dikueri berada. Gunakan makro ZwCurrentProcess untuk menentukan proses saat ini.

[in, optional] BaseAddress

Alamat dasar wilayah halaman yang akan dikueri. Nilai ini dibulatkan ke bawah ke batas alamat halaman host berikutnya.

[in] MemoryInformationClass

Kelas informasi memori tentang mana yang akan diambil informasinya. Saat ini, satu-satunya nilai MEMORY_INFORMATION_CLASS yang didukung adalah MemoryBasicInformation.

[out] MemoryInformation

Penunjuk ke buffer yang menerima informasi yang ditentukan. Format dan konten buffer bergantung pada kelas informasi yang ditentukan dalam parameter MemoryInformationClass . Ketika nilai MemoryBasicInformation diteruskan ke MemoryInformationClass, nilai parameter MemoryInformation adalah struktur MEMORY_BASIC_INFORMATION .

[in] MemoryInformationLength

Menentukan panjang dalam byte buffer informasi memori.

[out, optional] ReturnLength

Penunjuk opsional yang, jika ditentukan, menerima jumlah byte yang ditempatkan dalam buffer informasi memori.

Mengembalikan nilai

Mengembalikan STATUS_SUCCESS jika panggilan berhasil. Jika panggilan gagal, kemungkinan kode kesalahan termasuk yang berikut ini:

Menampilkan kode Deskripsi
STATUS_INVALID_PARAMETER Alamat dasar yang ditentukan berada di luar rentang alamat yang dapat diakses.
STATUS_ACCESS_DENIED Penelepon memiliki hak akses yang tidak mencukup untuk melakukan tindakan yang diminta.
STATUS_INFO_LENGTH_MISMATCH Buffer MemoryInformation lebih besar dari MemoryInformationLength.
STATUS_INVALID_INFO_CLASS Nilai selain MemoryBasicInformation diteruskan ke parameter MemoryInformationClass .

Keterangan

ZwQueryVirtualMemory menentukan status halaman pertama dalam wilayah dan kemudian memindai entri berikutnya dalam peta alamat proses dari alamat dasar ke atas hingga seluruh rentang halaman telah dipindai atau sampai halaman dengan set atribut yang tidak cocok ditemukan. Atribut wilayah, panjang wilayah halaman dengan atribut yang cocok, dan nilai status yang sesuai dikembalikan.

Jika seluruh wilayah halaman tidak memiliki sekumpulan atribut yang cocok, maka nilai parameter ReturnLength dapat digunakan untuk menghitung alamat dan panjang wilayah halaman yang tidak dipindai.

NtQueryVirtualMemory dan ZwQueryVirtualMemory adalah dua versi dari rutinitas Windows Native System Services yang sama.

Untuk panggilan dari driver mode kernel, versi NtXxx**** dan ZwXxx**** dari rutinitas Layanan Sistem Asli Windows dapat berperilaku berbeda dengan cara mereka menangani dan menafsirkan parameter input. Untuk informasi selengkapnya tentang hubungan antara versi NtXxx dan ZwXxx dari rutinitas, lihat Menggunakan Versi Nt dan Zw dari Rutinitas Layanan Sistem Asli.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 10
Target Platform Universal
Header ntifs.h
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe

Lihat juga

POWER_PLATFORM_INFORMATION