Ostrzeżenie C33022

Wykryto potencjalnie nieprawidłowe użycie HRESULT (niska pewność)

Uwagi

To ostrzeżenie jest wskaźnikiem niskiej ufności dla funkcji zwracającej wartość HRESULT, że element FALSE jest ostatecznie zwracany lub jest przypisany do zwracanej zmiennej.

Nazwa analizy kodu: HRESULT_USAGE_LOW_CONFIDENCE

Przykład

Poniższy przykładowy kod powoduje ostrzeżenie C33022:

#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
}

Te ostrzeżenia są poprawiane przy użyciu odpowiedniej wartości 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
}

Zobacz też

C33020