Aracılığıyla paylaş


C28714

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

Bu uyarı, bir NTSTATUS değerinin açıkça boole türüne atandığını gösterir. Bu, istenmeyen sonuçlar verebilir. Örneğin, STATUS_SUCCESSNTSTATUS için tipik başarı değeri Boole olarak test edildiğinde yanlış .

Çoğu durumda, NT_SUCCESS makrosu bir NTSTATUSdeğerini test etmek için kullanılmalıdır. Bu makro, döndürülen durum değeri bir uyarı veya hata kodu değilse true döndürür. İşlev, başarısızlığını/başarısını belirtmek için bir Boole değeri döndürürse, NTSTATUS Boole türüne atanmasına bağlı olarak değil, açıkça uygun Boole türünü döndürmelidir.

Ayrıca, bir program bazen NTSTATUS değerlerini depolamak için Boole yerel değişkenlerini yeniden kullanma girişiminde bulunabilir. Bu uygulama genellikle hataya açıktır; ayrı bir NTSTATUS değişkeni kullanmak çok daha güvenlidir (ve büyük olasılıkla daha verimlidir).