C28714
avviso C28714: Cast tra tipi integer semanticamente diversi
Questo avviso indica che viene eseguito il cast esplicito di un valore NTSTATUS a un tipo booleano. È probabile che ciò generi risultati indesiderati. Ad esempio, il valore di esito positivo tipico per NTSTATUS, STATUS_SUCCESS, è false quando viene testato come valore booleano.
Nella maggior parte dei casi, la macro NT_SUCCESS deve essere usata per testare il valore di un NTSTATUS. Questa macro restituisce true se il valore di stato restituito non è né un avviso né un codice di errore. Se una funzione restituisce un valore Boolean per indicare l'esito negativo/esito positivo, deve restituire in modo esplicito il tipo booleano appropriato anziché dipendere dal cast di NTSTATUS a un tipo booleano.
Inoltre, occasionalmente un programma può tentare di riutilizzare una variabile locale booleana per archiviare valori NTSTATUS. Questa pratica è spesso soggetta a errori; è molto più sicuro (e probabilmente più efficiente) usare una variabile NTSTATUS separata .