Partager via


C6517

Mise à jour : novembre 2007

C6517

Avertissement C6517 : conflit d'annotation : ValidElementsConst et ValidBytesConst peuvent ne pas être spécifiées sur les buffers qui ne sont pas lisibles

Cet avertissement indique que les propriétés ValidElementsConst et ValidBytesConst ne disposent pas de l'accès en lecture requis. Vous ne pouvez pas utiliser ces propriétés pour annoter un paramètre sans fournir un accès en lecture.

Exemple

Le code suivant génère cet avertissement car l'accès en lecture n'est pas autorisé sur la mémoire tampon :

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

Pour corriger cet avertissement, autorisez un accès en lecture comme indiqué dans le code suivant :

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

Voir aussi

Autres ressources

Propriétés d'annotation