Я делаю COM-интерфейс, который будет использовать c #, однако мне интересно, как мне проверить наличие ошибок для обработки исключений на стороне c #. На данный момент я просто возвращаю HRESTULT или bool для большинства методов, а затем выполняю Marshal.ThrowExceptionForHR, но в некоторых из этих методов может произойти несколько ошибок, и возвращение E_FAIL просто не сокращает его.
Что я могу сделать, чтобы вернуть больше информации? Могу ли я сделать HRESULT самостоятельно?