Bagikan melalui


C30034

peringatan C30034: Meneruskan nilai bendera ke fungsi alokasi yang dapat mengakibatkan memori yang dapat dieksekusi dialokasikan. Pastikan bahwa fungsi alokasi tidak meminta bentuk kumpulan yang tidak dapat dieksekusi.

BANNED_MEM_ALLOCATION_MAYBE_UNSAFE

Panggilan ke fungsi yang menghasilkan kemungkinan alokasi kumpulan yang tidak dapat dieksekusi telah ditemukan. Ada parameter yang digunakan yang menunjukkan alokasi yang dihasilkan sebenarnya tidak dapat dieksekusi, tetapi ditentukan bahwa ini tidak mungkin dan memori yang dapat dieksekusi telah dialokasikan. Ini paling umum dengan fungsi yang mengambil fungsi alokasi opsional sebagai parameter.

Contoh

Kode berikut menghasilkan peringatan ini karena tidak diketahui jika pAllocate mengalokasikan jenis yang ditentukan - dalam ini parameter keempat (0, yang dapat dieksekusi) atau jika jenis alokasi diatur dari dalam pAllocate.

ExInitializeNPagedLookasideList(   pLookaside,
                pAllocate,
                pFree,
                0,
                size,
                tag,
                depth);

Kode berikut menghindari peringatan ini:

ExInitializeNPagedLookasideList(   pLookaside,
                pAllocate,
                pFree,
                POOL_NX_ALLOCATION,
                size,
                tag,
                depth);