Compartir a través de


MDA de invalidVariant

Nota:

Este artículo es específico de .NET Framework. No se aplica a implementaciones más recientes de .NET, incluidas .NET 6 y versiones posteriores.

El asistente para la depuración administrada (MDA) de invalidVariant se activa cuando se encuentra una estructura VARIANT no válida durante una llamada de código nativo o no administrado a un código administrado.

Síntomas

Comportamiento inesperado durante una transición entre código nativo y administrado que implica la serialización de VARIANT a un objeto.

Causa

El código nativo está pasando una estructura VARIANT incorrecta al código administrado. El motor en tiempo de ejecución intenta calcular las referencias de VARIANT a un objeto y activa el MDA si VARIANT no es válido. Los ejemplos de VARIANTS no válida incluyen VARIANT con VARTYPE VT_EMPTY | VT_BYREF o VARIANT con VARTYPE VT_VARIANT.

Solución

El paso de VARIANT por parte del código nativo o no administrado debe garantizar que VARIANT se forme e inicialice correctamente.

Efecto en el Runtime

Este MDA no tiene ningún efecto en el comportamiento del tiempo de ejecución.

Output

Un mensaje de MDA que indica que el motor en tiempo de ejecución detectó una VARIANT no válida pasada a código administrado mediante un módulo no administrado.

Configuración

<mdaConfig>
  <assistants>
    <invalidVariant />
  </assistants>
</mdaConfig>

Consulte también