共用方式為


C28714

警告 C28714:在語意上不同的整數類型之間轉換

這個警告表示 NTSTATUS 值正明確轉換成布爾類型。 這可能會提供不想要的結果。 例如,當測試為布爾值時, NTSTATUSSTATUS_SUCCESS的典型成功值是 false

在大部分情況下,應該使用 NT_SUCCESS 宏來測試 NTSTATUS的值。 如果傳回的狀態值不是警告或錯誤碼,則此宏會傳回 true 。 如果函式傳回 Boolean 以指出其失敗/成功,它應該明確傳回適當的布爾類型,而不是取決於 NTSTATUS 轉換成布爾類型。

此外,有時候程式可能會嘗試重複使用布爾局部變數來儲存 NTSTATUS 值。 這種作法通常很容易出錯; (更安全,而且使用個別 NTSTATUS 變數可能更有效率) 。