C6517
警告 C6517:无效的批注:“SAL_readableTo”属性在不可读的缓冲区上指定:“_Param_ (1)”。
说明 |
---|
此警告仅发生在使用源代码注释语言(SAL) 的已弃用的版本代码中。建议使用 SAL 最新版本移植代码。有关详细信息,请参阅使用 SAL 批注以减少 C/C++ 代码缺陷。 |
此警告意味着 SAL_readableTo 属性没有所需的读取访问。如果不提供读取权限,则不能使用该属性来对参数进行批注。
示例
在下面的代码中,因为没有在缓冲区上授予读取权限,所以会生成此警告:
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f([Pre( ValidBytesConst=10 )][Pre( Deref=1, Access=Write )] char* buffer );
若要更正此警告,请授予读取权限,如下面的代码所示:
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f([Pre( ValidBytesConst=10 )][Pre( Deref=1, Access=Read)] char* buffer );