C6517
Warnung C6517: Anmerkungskonflikt: ValidElementsConst und ValidBytesConst dürfen nicht für Puffer angegeben werden, die nicht gelesen werden können.
Diese Warnung gibt an, dass die ValidElementsConst-Eigenschaft und die ValidBytesConst-Eigenschaft nicht über den erforderlichen Lesezugriff verfügen. Sie können diese Eigenschaften nicht verwenden, um einem Parameter Anmerkungen hinzuzufügen, ohne Lesezugriff bereitzustellen.
Beispiel
Im folgenden Code wird diese Warnung generiert, da kein Lesezugriff auf den Puffer gewährt wird:
// 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 );
Um diese Warnung zu korrigieren, gewähren Sie Lesezugriff, wie im folgenden Code dargestellt:
// 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 );