MDA invalidVariant

Note

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 invalidVariant asistente de depuración administrada (MDA) se activa cuando se encuentra una estructura no válida VARIANT durante una llamada desde código nativo o no administrado al código administrado.

Síntomas

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

Causa

El código nativo pasa una estructura con formato incorrecto VARIANT al código administrado. El tiempo de ejecución intenta serializar esto VARIANT en un objeto y activa el MDA si no VARIANT es válido. Algunos ejemplos de S no válidos VARIANTincluyen con VARIANTVARTYPE VT_EMPTY | VT_BYREF o con VARIANTVARTYPE VT_VARIANT.

Resolución

El código nativo o no administrado que pasa VARIANT debe asegurarse de que se VARIANT ha formado e inicializado correctamente.

Efecto en el tiempo de ejecución

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

Output

Mensaje de MDA que indica que el tiempo de ejecución detectó un código administrado no válido VARIANT pasado al código administrado por un módulo no administrado.

Configuration

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

Consulte también