Compartir a través de


MDA de invalidVariant

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

Síntomas

Comportamiento inesperado durante una transición entre código nativo y administrado que implica el cálculo de referencias de VARIANT en un objeto.

Motivo

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

Resolución

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

Efecto en tiempo de ejecución

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

Output

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>

Vea también

Referencia

MarshalAsAttribute

Conceptos

Diagnóstico de errores con ayudantes de depuraciones administradas

Cálculo de referencias de interoperabilidad

Otros recursos

Interoperabilidad