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.
peringatan C28741: Buffer yang tidak diannotasi dalam fungsi
Peringatan ini menunjukkan bahwa buffer yang diteruskan sebagai parameter fungsi atau dikembalikan oleh fungsi harus diannotasi dengan bahasa Anotasi Kode Sumber Microsoft (SAL). Alat analisis statis dapat menggunakan anotasi tersebut untuk mendeteksi overrun buffer.
Saat ini, hanya buffer string non-konstanta yang didiagnosis dengan peringatan ini. Idealnya, semua buffer yang diteruskan sebagai parameter fungsi atau dikembalikan oleh fungsi harus dianotasi. Array karakter wchar_t atau adalah kandidat untuk peringatan ini. Karakter yang tidak ditandatangani saat ini tidak.
Contoh
Contoh kode berikut menghasilkan peringatan ini.
int foo( LPTSTR buffer, size_t cch );
Contoh kode berikut menghindari peringatan ini dengan menggunakan anotasi SAL _Out_writes_ untuk menentukan bahwa fungsi yang disebut menulis ke buffer dan bahwa buffer tidak boleh NULL. Anotasi menunjukkan bahwa buffer adalah elemen cch.
int foo(_Out_writes_(cch) LPTSTR buffer, size_t cch );