#define CHECK(com_expr) hr = (com_expr); if (FAILED(hr)) { return hr; }
Even if they are eventually wrapped in .NET libraries.
https://docs.microsoft.com/en-us/cpp/cppcx/exceptions-c-cx?v...
https://github.com/microsoft/wil/blob/5a21cac10640f54b7ef886...
https://docs.microsoft.com/en-us/windows/uwp/cpp-and-winrt-a...