Richard J Foster
Richard J Foster

Reputation: 4388

When calling Marshal.GetActiveObject( class id here) what would cause error 800401E3 (Operation Unavailable)?

We have a scenario where some .NET code is attempting to access the current instance of a COM (actually DCOM) object.

The object being accessed was developed in VB6. A current instance of it is available on the remote system, and appears to be accessed correctly from VB6 code.

Attempting to call Marshal.GetActiveObject, specifying the class name, causes a COMException to be thrown, referencing error 800401E3 (Operation Unavailable).

The same .NET code appears to operate correctly when run on the machine hosting that DCOM component.

Can anyone suggest why this COMException is getting generated?

Upvotes: 1

Views: 2209

Answers (1)

Ron Klein
Ron Klein

Reputation: 9460

Did you try to use the [STAThread] attribute in the dot net client app?

Upvotes: 1

Related Questions