更新 : 2007 年 11 月
警告 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 );