C30029
Peringatan: Memanggil fungsi alokasi memori yang meminta memori yang dapat dieksekusi
Peringatan ini menunjukkan bahwa fungsi sedang digunakan yang telah dilarang dan memiliki penggantian yang lebih kuat atau aman. Kesalahan spesifik ini menunjukkan penggunaan API yang hanya mengalokasikan kumpulan yang tidak dapat dieksekusi.
Keterangan
Ini hanya boleh digunakan jika memori yang dapat dieksekusi diperlukan. Lihat Kumpulan Tanpa Eksekusi (NX) Nonpaged untuk informasi selengkapnya tentang hal ini. Tidak ada parameter yang dapat Anda berikan yang akan mengubah perilaku ini. Satu-satunya cara untuk memperbaiki masalah ini adalah dengan menggunakan fungsi alternatif yang memungkinkan alokasi memori kumpulan yang tidak dapat dieksekusi. Daftar semua fungsi terlarang yang dicakup oleh kesalahan ini dan penggantian yang direkomendasikan dapat ditemukan setelah contoh berikut.
Nama analisis kode: BANNED_MEM_ALLOCATION_NOTYPE
Contoh
Kode berikut menghasilkan peringatan ini. Masalah ini berasal dari penggunaan MmMapIoSpace
:
MmMapIoSpace(PhysicalAddress, numberOfBytes, MmNonCached);
Kode berikut menghindari peringatan ini dengan mengganti MmMapIoSpace
dengan MmMapIoSpace
:
MmMapIoSpaceEx(PhysicalAddress, numberOfBytes, PAGE_NOCACHE | PAGE_READWRITE);
Fungsi Terlarang
API Terlarang | Penggantian | Alasan / Catatan |
---|---|---|
MmMapIoSpace() |
MmMapIoSpaceEx() |
|
MmAllocateContiguousMemorySpecifyCache() |
MmAllocateContiguousNodeMemory() |
Bergantung pada jenis cache, SpecifyCache dapat digunakan dengan cara yang membatasinya ke memori yang tidak dapat dieksekusi. Namun, menggunakan NodeMemory akan memastikan hal ini. Lihat C30030, sub bagian 'Untuk cacat yang melibatkan jenis cache' untuk informasi selengkapnya tentang hal ini. |
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