Fungsi AllocateUserPhysicalPages2 (memoryapi.h)
Mengalokasikan halaman memori fisik untuk dipetakan dan tidak dipetakan dalam wilayah Address Windowing Extensions (AWE) dari proses tertentu, dengan parameter yang diperluas.
Sintaks
BOOL AllocateUserPhysicalPages2(
[in] HANDLE ObjectHandle,
[in,out] PULONG_PTR NumberOfPages,
[out] PULONG_PTR PageArray,
[in,out] PMEM_EXTENDED_PARAMETER ExtendedParameters,
[in] ULONG ExtendedParameterCount
);
Parameter
[in] ObjectHandle
Handel ke proses.
Fungsi ini mengalokasikan memori yang nantinya dapat dipetakan dalam ruang alamat virtual proses ini. Handel harus memiliki hak akses PROCESS_VM_OPERATION . Untuk informasi selengkapnya, lihat Keamanan Proses dan Hak Akses.
[in,out] NumberOfPages
Ukuran memori fisik yang akan dialokasikan, di halaman.
Untuk menentukan ukuran halaman komputer, gunakan fungsi GetSystemInfo . Pada output, parameter ini menerima jumlah halaman yang benar-benar dialokasikan, yang mungkin kurang dari jumlah yang diminta.
[out] PageArray
Penunjuk ke array untuk menyimpan nomor bingkai halaman memori yang dialokasikan.
Ukuran array yang dialokasikan harus setidaknya NumberOfPages kali ukuran jenis data ULONG_PTR .
Jangan coba mengubah buffer ini. Ini berisi data sistem operasi, dan kerusakan bisa menjadi bencana. Informasi dalam buffer tidak berguna untuk aplikasi.
[in,out] ExtendedParameters
Penunjuk ke array struktur MEM_EXTENDED_PARAMETER .
[in] ExtendedParameterCount
Jumlah MEM_EXTENDED_PARAMETER dalam array ExtendedParameters .
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan adalah TRUE.
Lebih sedikit halaman dari yang diminta dapat dialokasikan. Pemanggil harus memeriksa nilai parameter NumberOfPages saat kembali untuk melihat berapa banyak halaman yang dialokasikan. Semua nomor bingkai halaman yang dialokasikan ditempatkan secara berurutan dalam memori yang diarahkan oleh parameter UserPfnArray .
Jika fungsi gagal, nilai yang dikembalikan adalah FALSE, dan tidak ada bingkai yang dialokasikan. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Keterangan
AllocateUserPhysicalPages2 sama dengan AllocateUserPhysicalPages tetapi menambahkan parameter ExtendedParameters dan ExtendedParameterCount .
Fungsi AllocateUserPhysicalPages2 digunakan untuk mengalokasikan memori fisik yang nantinya dapat dipetakan dalam ruang alamat virtual proses. Hak istimewa SeLockMemoryPrivilege harus diaktifkan dalam token pemanggil atau fungsi akan gagal dengan ERROR_PRIVILEGE_NOT_HELD. Untuk informasi selengkapnya, lihat Privilege Constants.
Memori yang dialokasikan oleh fungsi ini harus ada secara fisik dalam sistem. Setelah memori dialokasikan, memori dikunci dan tidak tersedia untuk sistem manajemen memori virtual lainnya.
Halaman fisik tidak dapat dipetakan secara bersamaan di lebih dari satu alamat virtual.
Halaman fisik dapat berada di alamat fisik apa pun. Anda tidak boleh membuat asumsi tentang kedekatan halaman fisik.
Persyaratan
Klien minimum yang didukung | Windows 11, Build 20348 |
Server minimum yang didukung | Windows Server, Build 20348 |
Header | memoryapi.h |
Pustaka | onecore.lib |
DLL | kernelbase.dll |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk