Condividi tramite


C28716

avviso C28716: cast inserito dal compilatore tra tipi integrali diversi semanticamente

Questo avviso indica che un valore Boolean viene usato come NTSTATUS senza essere sottoposto a cast esplicito. È probabile che ciò restituisca risultati indesiderati. Ad esempio, il valore di errore tipico per le funzioni che restituiscono un valore booleano (false) indica uno stato di esito positivo quando viene testato come NTSTATUS.

Esempio

PREfast segnala l'avviso per l'esempio seguente.

extern bool SomeMemAllocFunction(void **);

return SomeMemAllocFunction(&MyPtr);

Nell'esempio seguente viene evitato l'errore .

extern bool SomeMemAllocFunction(void **);

if (SomeMemAllocFunction(&MyPtr) == true) {
 return STATUS_SUCCESS;
} else {
 return STATUS_NO_MEMORY;
}