英語で読む

次の方法で共有


C28714

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

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

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

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