Определение УСПЕШНОГО (): #define SUCCEEDED(hr) (((HRESULT)(hr)) >= 0)
Справочная информация. Когда в диалоговом окне нажимается кнопка «ОК», мне нужно вернуть значение HRESULT
hr
, чтобы SUCCEEDED(hr)
было истинным. Если нажата кнопка «Отмена», мне нужно вернуть отрицательное значение. Я мог бы использовать bools, но это сломало бы существующий паттерн (обычно значения hr берутся из глубин системных библиотек). Итак, я знаю, что могу вернуть S_OK
на Ok, но что мне вернуть на Cancel? Я мог бы просто return (HRESULT)-1;
, но должен быть лучший способ - некоторая литеральная константа HRESULT, которая имеет отрицательное значение и представляет общий сбой. S_FALSE
не так ли, поскольку его значение определяется как 1L
.
Пожалуйста, помогите мне найти правильную константу.