Freigeben über


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

Siehe auch

Weitere Ressourcen

Anmerkungseigenschaften