C6517
警告 C6517: 附註衝突: ValidElementsConst 和 ValidBytesConst 不可以在不可讀取的緩衝區上指定
這項警告表示 ValidElementsConst 和 ValidBytesConst 屬性沒有所需的讀取權限。 您不能使用這些屬性,為沒有提供存取權限的參數加註。
範例
下列程式碼範例會產生這項警告,因為未授與緩衝區的讀取權限:
// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(ValidBytesConst=10 )][SA_Pre( Deref=1, Access=SA_Write )] char* buffer );
// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f([Pre( ValidBytesConst=10 )][Pre( Deref=1, Access=Write )] char* buffer );
若要更正這項警告,請授與讀取權限,如下列程式碼所示:
// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(ValidBytesConst=10 )][SA_Pre( Deref=1, Access=SA_ReadWrite )] char* buffer );
// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f([Pre( ValidBytesConst=10 )][Pre( Deref=1, Access=ReadWrite )] char* buffer );