В статьях журнала msdn Кенни Керра об изображениях и Direct2D он часто использует макрос HR()
.
В своей статье о компоненте Windows Imaging — http://msdn.microsoft.com/en-gb/magazine/cc500647.aspx
он написал -
Наконец, WIC API использует HRESULT для описания ошибок. В примерах в этой статье используется макрос HR, чтобы четко определить, где методы возвращают HRESULT, который необходимо проверить. Вы можете заменить это своей собственной стратегией обработки ошибок — будь то создание исключения или возврат HRESULT самостоятельно.
HR(decoder.CoCreateInstance(CLSID_WICTiffDecoder));
Однако Кенни не показывает своего определения HR()
. Я новичок в C++ и пытаюсь обнаружить и понять детали кода. Я хотел бы знать, какова его реализация HR()
, чтобы я мог подумать, как лучше всего обрабатывать HRESULT
в моей программе. Я пытался найти определение, но не нашел исходного кода для этих конкретных статей.
Изучая macros
, я наткнулся на более свежие документы, в которых предлагается использовать функции inline
вместо макросов:
http://msdn.microsoft.com/en-us/library/vstudio/ttsbh614.aspx
http://msdn.microsoft.com/en-us/library/vstudio/z8y1yy88.aspx
Кто-нибудь может сказать мне, как Кенни определяет свой макрос HR()
? И что он на самом деле делает?
Как моя программа Direct2D должна обрабатывать HRESULT
s? Как правильно использовать HRESULT
s, чтобы программа была надежной и отказоустойчивой?