C28716
警告 C28716: 意味的に異なる整数型間のコンパイラ挿入キャスト
この警告は、明示的にキャストされずにブール値が NTSTATUS として使用されていることを示します。 これは望ましくない結果を与える可能性があります。 たとえば、ブール値 (FALSE) を返す関数の一般的なエラー値は、NTSTATUS としてテストされた場合の成功状態です。
例
PREfast は、次の例の警告を報告します。
extern bool SomeMemAllocFunction(void **);
return SomeMemAllocFunction(&MyPtr);
次の例では、エラーが回避されます。
extern bool SomeMemAllocFunction(void **);
if (SomeMemAllocFunction(&MyPtr) == true) {
return STATUS_SUCCESS;
} else {
return STATUS_NO_MEMORY;
}