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 );