Предупреждение C33022
Обнаружено потенциально неверное использование HRESULT (низкая достоверность)
Замечания
Это предупреждение является индикатором низкой достоверности для функции, которая возвращает HRESULT, что в FALSE
конечном итоге возвращается или назначается возвращаемой переменной, возвращаемой.
Имя анализа кода: HRESULT_USAGE_LOW_CONFIDENCE
Пример
Следующий пример кода вызывает предупреждение 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
}
Эти предупреждения исправляются с помощью правильного значения 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
}
См. также
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по