Share via


C28714

警告 C28714: 意味的に異なる整数型間でキャストする

この警告は、NTSTATUS 値がブール型に明示的にキャストされていることを示します。 これは望ましくない結果を与える可能性があります。 たとえば、 NTSTATUS の一般的な成功値 (STATUS_SUCCESS) は、ブール値としてテストされる場合は false です。

ほとんどの場合、NT_SUCCESSマクロを使用して NTSTATUS の値をテストする必要があります。 返された状態の値が警告でもエラー コードでもない場合、このマクロは true iを返します。 関数がブール値を返して失敗/成功を示す場合は、NTSTATUS のブール型へのキャストに依存するのではなく、適切なブール型を明示的に返す必要があります。

プログラムがブール値ローカル変数を再利用して NTSTATUS 値を格納しようとする場合もあります。 多くの場合、この方法ではエラーが発生しやすくなります。別の NTSTATUS 変数を使用する方がはるかに安全です (より効率的である可能性があります)。