Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
peringatan C28715: Transmisikan antara jenis bilangan bulat yang berbeda secara semantik
Peringatan ini menunjukkan bahwa Boolean sedang dilemparkan ke NTSTATUS. Ini kemungkinan akan memberikan hasil yang tidak diinginkan. Misalnya, nilai kegagalan umum untuk fungsi yang mengembalikan Boolean (FALSE) adalah status keberhasilan saat diuji sebagai NTSTATUS.
Biasanya, fungsi yang mengembalikan Boolean mengembalikan 1 (untuk TRUE) atau 0 (untuk FALSE). Kedua nilai ini diperlakukan sebagai kode keberhasilan oleh makro NT_SUCCESS. Dengan demikian, kasus kegagalan tidak akan pernah terdeteksi.
Contoh
PREfast melaporkan peringatan untuk contoh berikut.
extern BOOL SomeFunction(void);
if (NT_SUCCESS(SomeFunction())) {
return 0;
} else {
return -1;
}
Contoh berikut menghindari kesalahan.
extern BOOL SomeFunction(void);
if (SomeFunction() == TRUE) {
return 0;
} else {
return -1;
}