Freigeben über


C28714

Warnung C28714: Umwandlung zwischen semantisch unterschiedlichen ganzzahligen Typen

Diese Warnung gibt an, dass ein NTSTATUS- Wert explizit in einen booleschen Typ umgeformt wird. Dies ist wahrscheinlich unerwünschte Ergebnisse. Der typische Erfolgswert für NTSTATUS-, STATUS_SUCCESSist beispielsweise false, wenn er als boolescher Wert getestet wird.

In den meisten Fällen sollte das NT_SUCCESS Makro verwendet werden, um den Wert eines NTSTATUS-zu testen. Dieses Makro gibt true zurück, wenn der zurückgegebene Statuswert weder eine Warnung noch ein Fehlercode ist. Wenn eine Funktion einen booleschen Wert zurückgibt, um den Fehler/Erfolg anzugeben, sollte er explizit den entsprechenden booleschen Typ zurückgeben, anstatt von der Umwandlung von NTSTATUS- in einen booleschen Typ zu abhängen.

Gelegentlich versucht ein Programm auch, eine boolesche lokale Variable wiederzuverwenden, um NTSTATUS--Werte zu speichern. Diese Praxis ist häufig fehleranfällig; es ist viel sicherer (und wahrscheinlich effizienter), eine separate NTSTATUS- Variable zu verwenden.