invalidIUnknown MDA

The invalidIUnknown managed debugging assistant (MDA) is activated when an invalid IUnknown pointer is passed to managed code from native code. The IUnknown fails to return success when queried for the IUnknown interface.

Symptoms

An unexpected error occurs when marshaling a COM interface pointer during argument marshaling.

Cause

An incorrect QueryInterface implementation on the COM interface passed to the CLR.

Resolution

Correct the QueryInterface implementation.

Effect on the Runtime

This MDA has no effect on the CLR.

Output

The description of the error.

Configuration

<mdaConfig>
  <assistants>
    <invalidIUnknown />
  </assistants>
</mdaConfig>

See Also

Concepts

Diagnosing Errors with Managed Debugging Assistants

Interop Marshaling Overview

Reference

MarshalAsAttribute

Other Resources

Interoperability