Set di regole minime native
Le regole Microsoft Native Minimum Rules sono orientate ai problemi più critici del codice nativo, inclusi i problemi di sicurezza potenziali e gli arresti anomali delle applicazioni.È necessario includere questo set di regole in ogni set di regole personalizzato, creato per i progetti nativi.
Regola |
Descrizione |
---|---|
Utilizzo di memoria non inizializzata. |
|
Dereferenziazione del puntatore NULL. |
|
Utilizzo del valore non verificato. |
|
Terminazione zero da chiamata |
|
Concatenazione non valida |
|
Argomento di tipo stringa mancante per formattare la funzione |
|
Argomento Intero mancante per formattare la funzione |
|
Argomento puntatore mancante per formattare la funzione |
|
Argomento puntatore a stringa mancante per formattare la funzione |
|
Restituzione di memoria non inizializzata |
|
L'indice supera il limite massimo del buffer |
|
L'indice supera il limite massimo del buffer di stack |
|
Argomento Float mancante per formattare la funzione |
|
Argomento aggiuntivo per formattare la funzione |
|
Argomento non di tipo float per formattare funzione |
|
Argomento non Integer per formattare la funzione |
|
Argomento non di tipo Carattere per formattare la funzione |
|
Cast della stringa non valido |
|
Chiamata CreateProcess non valida |
|
Argomento oggetto non valido per formattare la funzione |
|
Precedenza Logical-Not Bitwise-And |
|
Precedenza Logical-Not Bitwise-Or |
|
Argomento stringa di caratteri non valido per formattare la funzione |
|
Argomento non valido per una stringa con caratteri estesi per formattare la funzione |
|
Utilizzo non corrispondente di conteggio e di dimensione |
|
Chiamata di funzione dell'argomento variabile non corretto |
|
Tipo argomento potenzialmente non corrispondente |
|
Sovraccarico di lettura |
|
Sovraccarico di scrittura |
|
Valore del parametro non valido |
|
Proprietà di attributo non valida |
|
Valori delle proprietà di attributo in conflitto |
|
Riferimenti non possono essere null. |
|
Null su tipo non Puntatore |
|
MustCheck su void |
|
Dimensione del buffer non su tipo Puntatore o Vettore |
|
Mancata corrispondenza di Null in dereferenza a zero |
|
Accesso alla costante in scrittura |
|
Ritorno utilizzato in precondizione |
|
Null terminato su non puntatore |
|
MustCheck deve essere Yes o No |
|
Dimensione elemento senza dimensioni del buffer |
|
Le dimensioni del buffer superano le dimensioni dell'array |
|
Dimensione del buffer su Non Puntatore |
|
Nessuna proprietà sull'attributo |
|
Dimensione valida nel buffer non leggibile |
|
Dimensioni scrivibili su buffer non scrivibile |
|
Annotazione non valida: il valore della proprietà 'NeedsRelease' deve essere Yes o No. |
|
Risoluzione di un riferimento non valida della stringa di dimensione |
|
Tipo della dimensione della stringa non valido |
|
Parametro della dimensione della stringa non valido |
|
Percoso della dimensione della stringa irraggiungibile |
|
Tipo della dimensione del buffer della stringa non valido |
|
Annotazione non valida: la proprietà 'NeedsRelease' non può essere utilizzata con valori di tipo void. |
|
Stile formato stringa non riconosciuto |
|
L'utilizzo delle annotazioni di attributo in questa funzione invalida tutte le relative annotazioni __declspec esistenti. |
|
Specifica di dimensione non valida: espressione non analizzabile |
|
Deref= o Notref= non valido : espressione non analizzabile |
|
Il valore non è un valore Yes/No/Maybe valido: |
|
Il valore non è una stringa. |
|
Il valore non è un numero. |
|
Errore imprevisto di espressione di annotazione: |
|
Il numero degli argomenti previsto per l'annotazione non corrisponde all'effettivo numero di argomenti per l'annotazione |
|
Errore di annotazione imprevisto per l'annotazione |
|
Il parametro che viene annotato deve essere un puntatore |
|
Deferenziazione del puntatore NULL.Il puntatore contiene lo stesso valore null come su un altro puntatore. |
|
Riferimento non valido al membro non statico. |
|
Riferimento ambiguo al membro di classe. |
|
_Success_ or _On_failure_ utilizzato in un contesto non valido |
|
L'operando sinistro punta a uno struct. Utilizzare '->'. |
|
L'operando sinistro è uno struct. Utilizzare '.' |
|
Le annotazioni per il contesto __on_failure non devono trovarsi in un pre-contesto esplicito: |
|
Nome di contesto statico previsto per SAL_context |
|
Espressione del puntatore prevista per l'annotazione |
|
L'annotazione _Use_decl_annotations_ deve essere utilizzata per fare riferimento, senza alcuna modifica, a una dichiarazione precedente. |
|
I nomi di parametro di attributo devono essere p1...p9 |
|
Impossibile applicare typefix a un parametro che già dispone di un typefix |
|
L'annotazione di checkReturn viene applicata solo alle post-condizioni per il parametro di funzione specifico. |
|
Per la funzione il numero di parametri per l'annotazione non corrisponde con quello trovato nel file |
|
Per il parametro della funzione, il parametro di annotazione non corrisponde a quello trovato sul file |
|
Membro di enumerazione previsto per l'annotazione del parametro nell'annotazione |
|
Espressione intera prevista per annotare il parametro nell'annotazione |
|
Espressione stringa prevista per il parametro nell'annotazione |
|
Previsto __yes, __no, o __maybe per l'annotazione |
|
Impossibile trovare parametro Token o identificatore previsto per l'annotazione |
|
L'annotazione richiede parametri. |
|
Non è stato trovato il numero corretto di parametri necessari nell'annotazione |
|
L'annotazione non può essere anche un PrimOp (nella dichiarazione corrente). |
|
L'annotazione non può essere anche un PrimOp (vedere la dichiarazione precedente). |
|
Parametro di annotazioni: impossibile utilizzare il tipo nelle annotazioni |
|
L'annotazione non supporta parametri. |
|
Il tipo del parametro non include membri. |
|
L'annotazione è valida soltanto su array |
|
pre, post o deref non applicato ad alcuna annotazione. |
|
pre, post o deref applicato a un blocco. |
|
L'espressione __at non si applica alla funzione corrente. |
|
La funzione non può fungere autonomamente da annotazione. |
|
L'annotazione non può essere utilizzata in un'espressione. |
|
L'annotazione sul parametro non è più supportata |
|
L'annotazione sul parametro presenta più di un valore, stringValue e longValue.Utilizzare paramn=xxx |
|
L'annotazione sul parametro presenta sia stringValue, o longValue, che paramn=xxx.Utilizzare solo paramn=xxx |
|
L'annotazione sul parametro presenta param2 ma nessun param1. |
|
L'annotazione per la funzione sul parametro non è riconosciuto |
|
L'annotazione per la funzione sul parametro richiede più dereferenziazioni di quante ne siano consentite dall'effettivo tipo annotato |
|
L'annotazione per la funzione annota 'this' in una funzione non membro. |
|
Il parametro dell'annotazione per la funzione non corrisponde al tipo del parametro. |
|
Annotazione non coerente per la funzione: l'istanza precedente ha un errore. |
|
Annotazione non coerente per la funzione: questa istanza ha un errore. |
|
Annotazione non coerente per la funzione: il parametro include altre annotazioni in questa istanza. |
|
Annotazione non coerente per la funzione: il parametro include altre annotazioni in questa istanza. |
|
dynamic_cast() non è supportato nelle annotazioni. |
|
Errore di sintassi nell'annotazione rilevato nella funzione per l'annotazione |
|
Errore di sintassi in un'annotazione condizionale rilevato per l'annotazione intrinseca |
|
I valori sell'elenco dei risultati devono essere costanti. |
|
Errore di sintassi nell'annotazione rilevato nella funzione per l'annotazione |
|
L'annotazione per la funzione, il parametro durante l'analisi non è coerente con la dichiarazione della funzione. |
|
Per la funzione, le tracce non sono coerenti con la dichiarazione della funzione. |
|
Il parametro per _Macro_value_ è null. |
|
Per il simbolo, è stato trovato un 'begin' senza il corrispondente 'end'. |
|
Per il simbolo, è stato trovato un 'end' senza un 'begin' corrispondente. |
|
Le stringhe di formato devono essere presenti nelle precondizioni |
|
Per la funzione, errore di sintassi nel parametro |
|
Per la funzione, errore di sintassi nei pressi della fine |
|
Per la funzione, errore di sintassi nell'annotazione _At_() (nome parametro non riconosciuto). |
|
Per la funzione, errore di sintassi nell'annotazione _At_() (nome parametro non valido). |
|
Per la funzione: ReadableTo o WritableTo non dispone di limit-spec come parametro. |
|
L'annotazione per la funzione contiene un numero di riferimenti esterni maggiore del numero di parametri effettivi. |
|
Il post null/notnull al livello deref 0 è privo di significato per la funzione. |
|
Operandi dell'espressione di tipi incompatibili per l'operatore |
|
Nessun annotazione per la prima dichiarazione di funzione. |
|
Un operatore aggiuntivo di _Deref_ è stato rilevato nell'annotazione. |
|
Un operatore ambiguo di _Deref_ è stato trovato nell'annotazione. |
|
Un operatore _Notref_ non correttamente posizionato è stato trovato applicato al token. |
|
E' stato individuato un errore durante l'analisi di un token. |
|
L'annotazione descrive una situazione non applicabile in modo condizionale. |
|
L'annotazione descrive dove non è possibile utilizzare un valore dinamico (variabile) nella condizione. |