C6516

avviso C6516: annotazione non valida: nessuna proprietà specificata per l'attributo <nome>

[!NOTA]

Questo avviso viene visualizzato solo in codici che utilizzano una versione deprecata del linguaggio di annotazione del codice sorgente (SAL).È consigliabile aggiornare il codice per utilizzare la versione più recente di SAL.Per ulteriori informazioni, vedere Utilizzo delle annotazioni SAL per ridurre gli errori del codice C/C++.

L'avviso indica che nell'attributo non è stata specificata alcuna proprietà o che la proprietà specificata non è valida; pertanto, l'attributo non può essere considerato completo.

Esempio

Nel codice seguente l'avviso viene generato perché Deref=1 specifica solo il livello di riferimento indiretto, ma queste informazioni da sole non supportano lo strumento di analisi:

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(Deref=1)] char* pc);

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f([Pre(Deref=1)] char* pc);

Per risolvere questo problema, è necessaria un'altra proprietà, ad esempio Access, per indicare allo strumento di analisi quanto è necessario applicare agli elementi senza riferimenti.Il codice seguente risolve il problema:

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(Deref=1, Access=SA_Read)] char* pc); 

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f([Pre(Deref=1, Access=Read)] char* pc);