Compartir a través de


MDA de invalidVariant

Actualización: noviembre 2007

El Ayudante 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.

Resultados

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

Conceptos

Diagnóstico de errores con ayudantes de depuraciones administradas

Información general acerca del cálculo de referencia de interoperabilidad

Referencia

MarshalAsAttribute

Otros recursos

Interoperabilidad