invalidVariant MDA
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 VARIANT
S 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>