Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis 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;
}