У нас есть сценарий, в котором некоторый .NET-код пытается получить доступ к текущему экземпляру объекта COM (фактически DCOM).
Доступ к объекту был разработан на языке VB6. Текущий его экземпляр доступен в удаленной системе и, похоже, правильно доступен из кода VB6.
Попытка вызвать Marshal.GetActiveObject
с указанием имени класса вызывает исключение COMException со ссылкой на ошибку 800401E3 (операция недоступна).
Тот же самый код .NET работает правильно при запуске на компьютере, на котором размещен этот компонент DCOM.
Может ли кто-нибудь предложить, почему создается это COMException?