Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Warnung C28715: Umwandlung zwischen semantisch unterschiedlichen ganzzahligen Typen
Diese Warnung gibt an, dass ein boolescher Wert in NTSTATUS-umgelöst wird. Dies ist wahrscheinlich unerwünschte Ergebnisse. Der typische Fehlerwert für Funktionen, die einen booleschen Wert (FALSE) zurückgeben, ist beispielsweise ein Erfolgsstatus, wenn er als NTSTATUS-getestet wird.
In der Regel gibt eine Funktion, die vom Typ Boolean zurückgibt, entweder 1 (für TRUE) oder 0 (für FALSE-). Beide Werte werden vom NT_SUCCESS Makro als Erfolgscodes behandelt. Daher wird der Fehlerfall nie erkannt.
beispiele für
PREfast meldet die Warnung für das folgende Beispiel.
extern BOOL SomeFunction(void);
if (NT_SUCCESS(SomeFunction())) {
return 0;
} else {
return -1;
}
Im folgenden Beispiel wird der Fehler vermieden.
extern BOOL SomeFunction(void);
if (SomeFunction() == TRUE) {
return 0;
} else {
return -1;
}