Aracılığıyla paylaş


C28715

uyarı C28715: Sembolik olarak farklı tamsayı türleri arasında atama

Bu uyarı, NTSTATUSbir Boole değerinin yayınlandığını gösterir. Bu, istenmeyen sonuçlar verebilir. Örneğin, Boole (FALSE) döndüren işlevler için tipik hata değeri, NTSTATUSolarak test edildiğinde başarılı bir durumdur.

Genellikle Boole döndüren bir işlev 1 (TRUEiçin) veya 0 (FALSEiçin) döndürür. Bu değerlerin her ikisi de NT_SUCCESS makro tarafından başarı kodları olarak değerlendirilir. Bu nedenle, hata durumu hiçbir zaman algılanmayacaktır.

Örnekleri

PREfast aşağıdaki örnek için uyarıyı bildirir.

extern BOOL SomeFunction(void);

if (NT_SUCCESS(SomeFunction())) {
   return 0;
} else {
   return -1;
}

Aşağıdaki örnek hatadan kaçınıyor.

extern BOOL SomeFunction(void);

if (SomeFunction() == TRUE) {
   return 0;
} else {
   return -1;
}