C6517
Actualización: noviembre 2007
C6517
Advertencia C6517: Conflicto de anotación: no se puede especificar ValidElementsConst y ValidBytesConst en los búferes que no son de lectura
Esta advertencia indica que las propiedades ValidElementsConst y ValidBytesConst no tienen el acceso de lectura necesario. No puede utilizar estas propiedades para anotar un parámetro sin proporcionarles acceso de lectura.
Ejemplo
El código siguiente genera esta advertencia porque no se concede acceso de lectura en el búfer:
// 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 );
Para corregir esta advertencia, conceda acceso de lectura como se muestra en el código siguiente:
// 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 );