C28714
경고 C28714: 의미상 다른 정수 형식 간에 캐스팅
이 경고는 NTSTATUS 값이 부울 형식으로 명시적으로 캐스팅되고 있음을 나타냅니다. 이는 바람직하지 않은 결과를 제공할 가능성이 높습니다. 예를 들어 부울로 테스트할 때 STATUS_SUCCESS NTSTATUS의 일반적인 성공 값은 false입니다.
대부분의 경우 NT_SUCCESS 매크로를 사용하여 NTSTATUS 값을 테스트해야 합니다. 반환된 상태 값이 경고 또는 오류 코드가 아닌 경우 이 매크로는 true를 반환합니다. 함수가 부울을 반환하여 실패/성공을 나타내는 경우 NTSTATUS 를 부울 형식으로 캐스팅하는 대신 적절한 부울 형식을 명시적으로 반환해야 합니다.
또한 프로그램에서 부울 지역 변수를 다시 사용하여 NTSTATUS 값을 저장하려고 시도할 수도 있습니다. 이 방법은 오류가 발생하기 쉬운 경우가 많습니다. 별도의 NTSTATUS 변수를 사용하는 것이 훨씬 안전하며 더 효율적일 수 있습니다.