C28716
waarschuwing C28716: Gecompileerde cast tussen semantisch verschillende integrale typen
Deze waarschuwing geeft aan dat een Booleaanse waarde wordt gebruikt als een NTSTATUS- zonder expliciet te worden gecast. Dit geeft waarschijnlijk ongewenste resultaten. De typische foutwaarde voor functies die een Booleaanse waarde (onwaar) retourneren, geeft bijvoorbeeld een geslaagde status aan wanneer deze wordt getest als een NTSTATUS-.
voorbeeld
PREfast rapporteert de waarschuwing voor het volgende voorbeeld.
extern bool SomeMemAllocFunction(void **);
return SomeMemAllocFunction(&MyPtr);
In het volgende voorbeeld wordt de fout voorkomen.
extern bool SomeMemAllocFunction(void **);
if (SomeMemAllocFunction(&MyPtr) == true) {
return STATUS_SUCCESS;
} else {
return STATUS_NO_MEMORY;
}