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
}

関連項目

C33020