Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Note
This article is specific to .NET Framework. It doesn't apply to newer implementations of .NET, including .NET 6 and later versions.
The invalidVariant managed debugging assistant (MDA) is activated when an invalid VARIANT structure is encountered during a call from native or unmanaged code to managed code.
Symptoms
Unexpected behavior during a transition between native and managed code involving the marshalling of a VARIANT to an object.
Cause
Native code is passing a malformed VARIANT structure to managed code.  The runtime attempts to marshal this VARIANT to an object and activates the MDA if the VARIANT is not valid. Examples of invalid VARIANTS include a VARIANT with VARTYPE VT_EMPTY | VT_BYREF or a VARIANT with VARTYPE VT_VARIANT.
Resolution
The native or unmanaged code passing the VARIANT must ensure that the VARIANT is correctly formed and initialized.
Effect on the Runtime
The MDA has no effect on the runtime's behavior.
Output
An MDA message indicating that the runtime detected an invalid VARIANT passed to managed code by an unmanaged module.
Configuration
<mdaConfig>
  <assistants>
    <invalidVariant />
  </assistants>
</mdaConfig>