C28740
警告 C28740:无注释的无符号缓冲区
此警告指示作为函数参数传递或函数返回的缓冲区应使用 Microsoft 源代码注释语言 (SAL) 进行批注。 静态分析工具可以使用此类注释来检测缓冲区溢出。
目前,只有非常量缓冲区被诊断为此警告。
示例
下面的代码示例生成此警告。
int foo( BYTE * buffer, size_t cch );
下面的代码示例通过使用 SAL 注释 _Out_writes_ 来指定调用的函数写入缓冲区,并且缓冲区不能为 NULL,从而避免了此警告。 批注指示缓冲区是 cch 元素。
int foo( _Out_writes_(cch) BYTE * buffer, size_t cch );