Condividi tramite


Set di regole consigliate native

Le regole Native Recommended Rules sono incentrate sui problemi più critici e comuni nel codice nativo, incluse eventuali lacune della sicurezza e arresti anomali delle applicazioni.È necessario includere questo set di regole in ogni set di regole personalizzato, creato per i progetti nativi.Questo set di regole è progettato per funzionare con l'edizione di Visual Studio Professional e superiori.

Regola

Descrizione

C6001

Utilizzo di memoria non inizializzata.

C6011

Dereferenziazione del puntatore NULL.

C6029

Utilizzo del valore non verificato.

C6031

Valore restituito ignorato

C6053

Terminazione zero da chiamata

C6054

Terminazione zero mancante

C6059

Concatenazione non valida

C6063

Argomento di tipo stringa mancante per formattare la funzione

C6064

Argomento Intero mancante per formattare la funzione

C6066

Argomento puntatore mancante per formattare la funzione

C6067

Argomento puntatore a stringa mancante per formattare la funzione

C6101

Restituzione di memoria non inizializzata

C6200

L'indice supera il limite massimo del buffer

C6201

L'indice supera il limite massimo del buffer di stack

C6214

Cast di HRESULT a BOOL non valido

C6215

Cast di BOOL a HRESULT non valido

C6216

Cast inserito dal compilatore di BOOL a HRESULT non valido

C6217

Test HRESULT non valido con NOT

C6220

Confronto HRESULT non valido a -1

C6226

Assegnazione HRESULT non valido in -1

C6230

Uso HRESULT non valido come valore booleano

C6235

Costante diversa da zero con un'operazione di OR logico

C6236

Operazione di OR logico con costante diversa da zero

C6237

Zero con operazione di AND logico senza effetti collaterali

C6242

Rimozione locale forzata

C6248

Creazione di DACL null

C6250

Descrittori di indirizzo non rilasciati

C6255

Uso di allocazione non protetto

C6258

Uso thread di terminazione

C6259

Codice non utilizzato in opzione limitata Bitwise-OR

C6260

Uso dell'aritmetica di byte

C6262

Utilizzo eccessivo dello stack

C6263

Uso di allocazione in ciclo

C6268

Parentesi mancanti nel cast

C6269

Dereferenziazione del puntatore ignorata

C6270

Argomento Float mancante per formattare la funzione

C6271

Argomento aggiuntivo per formattare la funzione

C6272

Argomento non di tipo float per formattare funzione

C6273

Argomento non Integer per formattare la funzione

C6274

Argomento non di tipo Carattere per formattare la funzione

C6276

Cast della stringa non valido

C6277

Chiamata CreateProcess non valida

C6278

Array-New Scalar-Delete non corrispondenti

C6279

Scalar-New Array-Delete non corrispondenti

C6280

Allocazione/deallocazione memoria non corrispondenti

C6281

Precedenza relazione bit per bit

C6282

L'assegnazione sostituisce il test

C6283

Array-new scalar-delete primitivi non corrispondenti

C6284

Argomento oggetto non valido per formattare la funzione

C6285

Operazione di OR logico di costanti

C6286

Operazione di OR logico non zero con perdita di effetti collaterali

C6287

Test ridondante

C6288

L'inclusione reciproca su AND logico è false

C6289

L'esclusione reciproca su OR logico è true

C6290

Precedenza Logical-Not Bitwise-And

C6291

Precedenza Logical-Not Bitwise-Or

C6292

Conteggi cicli dal massimo

C6293

Conteggi cicli dal minimo

C6294

Corpo del ciclo mai eseguito

C6295

Ciclo infinito

C6296

Ciclo eseguito solo una volta

C6297

Risultato Cast operatore Shift a dimensione maggiore

C6299

Confronto da campo di bit a booleano

C6302

Argomento stringa di caratteri non valido per formattare la funzione

C6303

Argomento non valido per una stringa con caratteri estesi per formattare la funzione

C6305

Utilizzo non corrispondente di conteggio e di dimensione

C6306

Chiamata di funzione dell'argomento variabile non corretto

C6308

Perdita di riallocazione

C6310

Costante filtro eccezioni non valida

C6312

L'eccezione continua il ciclo di esecuzione

C6314

Precedenza Bitwise-Or

C6317

Complemento non Not

C6318

L'eccezione continua la ricerca

C6319

Ignorato da virgola

C6324

Copia la stringa invece di confrontare la stringa

C6328

Tipo argomento potenzialmente non corrispondente

C6331

Flag VirtualFree non validi

C6332

Parametro VirtualFree non valido

C6333

Dimensioni VirtualFree non valide

C6335

Perdite handle di processo

C6381

Informazioni di arresto mancanti

C6383

Sovraccarico del buffer del conteggio elementi e conteggio byte

C6384

Divisione dimensioni puntatore

C6385

Sovraccarico di lettura

C6386

Sovraccarico di scrittura

C6387

Valore del parametro non valido

C6388

Valore del parametro non valido

C6500

Proprietà di attributo non valida

C6501

Valori delle proprietà di attributo in conflitto

C6503

Riferimenti non possono essere null.

C6504

Null su tipo non Puntatore

C6505

MustCheck su void

C6506

Dimensione del buffer non su tipo Puntatore o Vettore

C6507

Mancata corrispondenza di Null in dereferenza a zero

C6508

Accesso alla costante in scrittura

C6509

Ritorno utilizzato in precondizione

C6510

Null terminato su non puntatore

C6511

MustCheck deve essere Yes o No

C6513

Dimensione elemento senza dimensioni del buffer

C6514

Le dimensioni del buffer superano le dimensioni dell'array

C6515

Dimensione del buffer su Non Puntatore

C6516

Nessuna proprietà sull'attributo

C6517

Dimensione valida nel buffer non leggibile

C6518

Dimensioni scrivibili su buffer non scrivibile

C6519

Annotazione non valida: il valore della proprietà 'NeedsRelease' deve essere Yes o No.

C6521

Risoluzione di un riferimento non valida della stringa di dimensione

C6522

Tipo della dimensione della stringa non valido

C6523

Parametro della dimensione della stringa non valido

C6525

Percorso della dimensione della stringa irraggiungibile

C6526

Tipo della dimensione del buffer della stringa non valido

C6527

Annotazione non valida: la proprietà 'NeedsRelease' non può essere utilizzata con valori di tipo void.

C6530

Stile formato stringa non riconosciuto

C6540

L'utilizzo delle annotazioni di attributo in questa funzione invalida tutte le relative annotazioni __declspec esistenti.

C6551

Specifica di dimensione non valida: espressione non analizzabile

C6552

Deref= o Notref= non valido : espressione non analizzabile

C6701

Il valore non è un valore Yes/No/Maybe valido:

C6702

Il valore non è una stringa.

C6703

Il valore non è un numero.

C6704

Errore imprevisto di espressione di annotazione:

C6705

Il numero degli argomenti previsto per l'annotazione non corrisponde all'effettivo numero di argomenti per l'annotazione

C6706

Errore di annotazione imprevisto per l'annotazione

C6995

Impossibile salvare il file di log XML.

C26100

Race condition

C26101

Impossibile utilizzare correttamente l'operazione con interlock

C26110

Il chiamante non riesce a mantenere il blocco

C26111

Il chiamante non riesce a rilasciare il blocco

C26112

Il chiamante non è in grado di mantenere blocchi

C26115

Impossibile rilasciare il blocco

C26116

Impossibile acquisire o mantenere il blocco

C26117

Rilascio blocco non mantenuto

C26140

Errore di annotazione di concorrenza SAL

C28020

L'espressione non è true per questa chiamata

C28021

Il parametro che viene annotato deve essere un puntatore

C28022

Le classi di funzioni in questa funzione non corrispondono alle classi di funzioni del typedef utilizzato per definirla.

C28023

La funzione assegnata o passata deve disporre di un'annotazione di _Function_class_ per almeno una classe

C28024

Il puntatore a funzione assegnato è annotato con la classe di funzioni, non contenuta nell'elenco delle classi di funzioni.

C28039

Il tipo di parametro effettivo deve corrispondere esattamente al tipo

C28112

Se una variabile è accessibile mediante una funzione Interlocked, sarà necessario accedervi sempre mediante tale tipo di funzione.

C28113

Accedere a una variabile locale tramite una funzione Interlocked

C28125

La funzione deve essere chiamata da un blocco try/except

C28137

L'argomento della variabile deve essere una costante (letterale).

C28138

L'argomento della costante deve essere variabile.

C28159

Considerare l'utilizzo di un'altra funzione.

C28160

Error, annotazione

C28163

La funzione non deve mai essere chiamata da un blocco try/except

C28164

L'argomento viene passato ad una funzione per cui è atteso un puntatore ad un oggetto (non a un altro puntatore).

C28182

Deferenziazione del puntatore NULL.Il puntatore contiene lo stesso valore null come su un altro puntatore.

C28183

L'argomento può essere un valore e una copia del valore trovato nel puntatore

C28193

La variabile contiene un valore che deve essere esaminato

C28196

Il requisito non viene soddisfatto.(L'espressione non è stata valutata vera.)

C28202

Riferimento non valido al membro non statico.

C28203

Riferimento ambiguo al membro di classe.

C28205

_Success_ or _On_failure_ utilizzato in un contesto non valido

C28206

L'operando sinistro punta a uno struct. Utilizzare '->'.

C28207

L'operando sinistro è uno struct. Utilizzare '.'

C28209

La dichiarazione del simbolo dispone di una dichiarazione in conflitto

C28210

Le annotazioni per il contesto __on_failure non devono trovarsi in un pre-contesto esplicito:

C28211

Nome di contesto statico previsto per SAL_context

C28212

Espressione del puntatore prevista per l'annotazione

C28213

L'annotazione _Use_decl_annotations_ deve essere utilizzata per fare riferimento, senza alcuna modifica, a una dichiarazione precedente.

C28214

I nomi di parametro di attributo devono essere p1...p9

C28215

Impossibile applicare typefix a un parametro che già dispone di un typefix

C28216

L'annotazione di checkReturn viene applicata solo alle post-condizioni per il parametro di funzione specifico.

C28217

Per la funzione il numero di parametri per l'annotazione non corrisponde con quello trovato nel file

C28218

Per il parametro della funzione, il parametro di annotazione non corrisponde a quello trovato sul file

C28219

Membro di enumerazione previsto per l'annotazione del parametro nell'annotazione

C28220

Espressione intera prevista per annotare il parametro nell'annotazione

C28221

Espressione stringa prevista per il parametro nell'annotazione

C28222

Previsto __yes, __no, o __maybe per l'annotazione

C28223

Impossibile trovare parametro Token o identificatore previsto per l'annotazione

C28224

L'annotazione richiede parametri.

C28225

Non è stato trovato il numero corretto di parametri necessari nell'annotazione

C28226

L'annotazione non può essere anche un PrimOp (nella dichiarazione corrente).

C28227

L'annotazione non può essere anche un PrimOp (vedere la dichiarazione precedente).

C28228

Parametro di annotazioni: impossibile utilizzare il tipo nelle annotazioni

C28229

L'annotazione non supporta parametri.

C28230

Il tipo del parametro non include membri.

C28231

L'annotazione è valida soltanto su array

C28232

pre, post o deref non applicato ad alcuna annotazione.

C28233

pre, post o deref applicato a un blocco.

C28234

L'espressione __at non si applica alla funzione corrente.

C28235

La funzione non può fungere autonomamente da annotazione.

C28236

L'annotazione non può essere utilizzata in un'espressione.

C28237

L'annotazione sul parametro non è più supportata

C28238

L'annotazione sul parametro presenta più di un valore, stringValue e longValue.Utilizzare paramn=xxx

C28239

L'annotazione sul parametro presenta sia stringValue, o longValue, che paramn=xxx.Utilizzare solo paramn=xxx

C28240

L'annotazione sul parametro presenta param2 ma nessun param1.

C28241

L'annotazione per la funzione sul parametro non è riconosciuto

C28243

L'annotazione per la funzione sul parametro richiede più dereferenziazioni di quante ne siano consentite dall'effettivo tipo annotato

C28244

L'annotazione per la funzione presenta un parametro o annotazione esterna non analizzabile.

C28245

L'annotazione per la funzione annota 'this' in una funzione non membro.

C28246

Il parametro dell'annotazione per la funzione non corrisponde al tipo del parametro.

C28250

Annotazione non coerente per la funzione: l'istanza precedente ha un errore.

C28251

Annotazione non coerente per la funzione: questa istanza ha un errore.

C28252

Annotazione non coerente per la funzione: il parametro include altre annotazioni in questa istanza.

C28253

Annotazione non coerente per la funzione: il parametro include altre annotazioni in questa istanza.

C28254

dynamic_cast() non è supportato nelle annotazioni.

C28262

Errore di sintassi nell'annotazione rilevato nella funzione per l'annotazione

C28263

Errore di sintassi in un'annotazione condizionale rilevato per l'annotazione intrinseca

C28264

I valori sell'elenco dei risultati devono essere costanti.

C28267

Errore di sintassi nell'annotazione rilevato nella funzione per l'annotazione

C28272

L'annotazione per la funzione, il parametro durante l'analisi non è coerente con la dichiarazione della funzione.

C28273

Per la funzione, le tracce non sono coerenti con la dichiarazione della funzione.

C28275

Il parametro per _Macro_value_ è null.

C28279

Per il simbolo, è stato trovato un 'begin' senza il corrispondente 'end'.

C28280

Per il simbolo, è stato trovato un 'end' senza un 'begin' corrispondente.

C28282

Le stringhe di formato devono essere presenti nelle precondizioni

C28285

Per la funzione, errore di sintassi nel parametro

C28286

Per la funzione, errore di sintassi nei pressi della fine

C28287

Per la funzione, errore di sintassi nell'annotazione _At_() (nome parametro non riconosciuto).

C28288

Per la funzione, errore di sintassi nell'annotazione _At_() (nome parametro non valido).

C28289

Per la funzione: ReadableTo o WritableTo non dispone di limit-spec come parametro.

C28290

L'annotazione per la funzione contiene un numero di riferimenti esterni maggiore del numero di parametri effettivi.

C28291

Il post null/notnull al livello deref 0 è privo di significato per la funzione.

C28300

Operandi dell'espressione di tipi incompatibili per l'operatore

C28301

Nessun annotazione per la prima dichiarazione di funzione.

C28302

Un operatore aggiuntivo di _Deref_ è stato rilevato nell'annotazione.

C28303

Un operatore ambiguo di _Deref_ è stato trovato nell'annotazione.

C28304

Un operatore _Notref_ non correttamente posizionato è stato trovato applicato al token.

C28305

E' stato individuato un errore durante l'analisi di un token.

C28306

L'annotazione nel parametro è obsoleta

C28307

L'annotazione nel parametro è obsoleta

C28350

L'annotazione descrive una situazione non applicabile in modo condizionale.

C28351

L'annotazione descrive dove non è possibile utilizzare un valore dinamico (variabile) nella condizione.