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