C28716
varning C28716: Kompilatorsatt gjutning mellan semantiskt olika integraltyper
Den här varningen anger att ett booleskt värde används som en NTSTATUS- utan att uttryckligen gjutas. Detta kommer sannolikt att ge oönskade resultat. Det typiska felvärdet för funktioner som returnerar ett booleskt värde (falskt) anger till exempel en lyckad status när det testas som en NTSTATUS-.
exempel
PREfast rapporterar varningen för följande exempel.
extern bool SomeMemAllocFunction(void **);
return SomeMemAllocFunction(&MyPtr);
I följande exempel undviks felet.
extern bool SomeMemAllocFunction(void **);
if (SomeMemAllocFunction(&MyPtr) == true) {
return STATUS_SUCCESS;
} else {
return STATUS_NO_MEMORY;
}