C33022
警告 C33022: HRESULT の使用が正しくない可能性があることが検出されました (信頼度 - 低)
これは、HRESULT を返す関数に対する信頼度の低い警告です。最終的に返されるか、返される変数に割り当てる行のどこかに "FALSE" がある場合です。
例
#include <Windows.h>
#define CHECK_RESULT(X) X ? S_OK : FALSE;
#define RETURN_RESULT(X) return CHECK_RESULT(X)
HRESULT foo()
{
// ......
RETURN_RESULT(FALSE); // C33022
}
これらの警告は、適切な HRESULT 値を使用することで修正できます。
#include <Windows.h>
#define CHECK_RESULT(X) X ? S_OK : E_FAIL;
#define RETURN_RESULT(X) return CHECK_RESULT(X)
HRESULT foo()
{
// ......
RETURN_RESULT(FALSE); // OK
}