Я не эксперт COM Interop, но я постараюсь ответить на все, что знаю, и надеюсь, что это поможет вам.
С управляемой стороны
Если HRESULT признансреда выполнения (CLR), среда выполнения автоматически создает конкретное управляемое исключение для ошибки (например, FileNotFoundException).В противном случае среда выполнения создает универсальный объект COMException, который говорит: «Я не знаю, что означает этот HRESULT».
Если неуправляемый код предоставляет информацию об ошибке, вы увидите это в свойстве ErrorCode, в противном случае вы будетеувидеть только код HRESULT.Вы можете попытаться найти этот код (google \ github), чтобы получить больше информации.
С неуправляемой стороны
Вам необходимо реализовать интерфейсы ISupportErrorInfo и IErrorInfo для предоставления дополнительной информации.
Итак, чтобы ответить на ваш вопрос , в C #,Вы не можете получить дополнительную информацию в объекте COMException, если эта информация не предоставлена.
Для получения дополнительной информации: COMException , Обработка исключений COM-взаимодействия , IErrorInfo , ISupportErrorInfo , Отображение HRESULT , Общие значения HRESULT