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 |