Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berfungsi sebagai pembungkus logis untuk fungsi Win32 yang sesuai. Implementasi Win32 dari cadangan VirtualAlloc atau menerapkan wilayah halaman di ruang alamat virtual dari proses panggilan.
Sintaks
HRESULT VirtualAlloc (
[in] void* pAddress,
[in] SIZE_T dwSize,
[in] DWORD flAllocationType,
[in] DWORD flProtect,
[in] EMemoryCriticalLevel dwCriticalLevel,
[out] void** ppMem
);
Parameter
pAddress
[in] Penunjuk ke alamat awal wilayah untuk dialokasikan.
dwSize
[in] Ukuran wilayah tersebut dalam byte.
flAllocationType
[in] Jenis alokasi memori.
flProtect
[in] Perlindungan memori untuk wilayah halaman yang akan dialokasikan.
dwCriticalLevel
[in] Nilai EMemoryCriticalLevel yang menunjukkan dampak kegagalan alokasi.
ppMem
[out] Penunjuk ke alamat awal memori yang dialokasikan atau null jika permintaan tidak dapat dipenuhi.
Tampilkan Nilai
| HRESULT | Deskripsi |
|---|---|
| S_OK |
VirtualAlloc berhasil dikembalikan. |
| HOST_E_CLRNOTAVAILABLE | Runtime bahasa umum (CLR) belum dimuat ke dalam proses, atau CLR berada dalam status yang tidak dapat menjalankan kode terkelola atau tidak berhasil memproses panggilan. |
| HOST_E_TIMEOUT | Waktu panggilan habis. |
| HOST_E_NOT_OWNER | Pemanggil tidak memiliki kunci. |
| HOST_E_ABANDONED | Peristiwa dibatalkan saat rangkaian atau fiber yang diblokir sedang menunggunya. |
| E_FAIL | Kegagalan katastrofe yang tidak diketahui terjadi. Saat metode menampilkan E_FAIL, CLR tidak lagi dapat digunakan dalam proses. Panggilan berikutnya ke metode hosting menampilkan HOST_E_CLRNOTAVAILABLE. |
| E_OUTOFMEMORY | Memori yang tersedia tidak cukup untuk menyelesaikan permintaan alokasi |
Keterangan
Anda memesan wilayah di ruang alamat proses Anda dengan memanggil VirtualAlloc. Parameter pAddress berisi alamat awal blok memori yang Anda inginkan. Parameter ini biasanya diatur ke null. Sistem operasi menyimpan rekaman rentang alamat gratis yang tersedia untuk proses Anda. Nilai null pAddress menginstruksikan sistem untuk memesan wilayah di mana pun yang cocok. Atau, Anda dapat memberikan alamat awal tertentu untuk blok memori. Dalam kedua kasus, parameter output ppMem dikembalikan sebagai penunjuk ke memori yang dialokasikan. Fungsi itu sendiri mengembalikan nilai HRESULT.
Fungsi Win32 VirtualAlloc tidak memiliki parameter ppMem dan mengembalikan penunjuk ke memori yang dialokasikan sebagai gantinya. Untuk informasi selengkapnya, lihat dokumentasi Windows Platform.
Persyaratan
Platform: Lihat Persyaratan Sistem.
Header: MSCorEE.h
Pustaka: Disertakan sebagai sumber daya di MSCorEE.dll
Versi .NET Framework: Tersedia mulai dari 2.0