Поделиться через


C6517

Предупреждение 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 ); 

См. также

Другие ресурсы

Свойства заметок