MDA invalidVariant

Note

Este artigo é específico para .NET Framework. Ele não se aplica a implementações mais recentes do .NET, incluindo o .NET 6 e versões posteriores.

O invalidVariant MDA (assistente de depuração gerenciado) é ativado quando uma estrutura inválida VARIANT é encontrada durante uma chamada de código nativo ou não gerenciado para código gerenciado.

Symptoms

Comportamento inesperado durante uma transição entre código nativo e gerenciado envolvendo o marshalling de um VARIANT para um objeto.

Cause

O código nativo está passando uma estrutura malformada VARIANT para o código gerenciado. O runtime tenta fazer marshaling para VARIANT um objeto e ativa o MDA se o VARIANT valor não for válido. Exemplos de S inválidos VARIANTincluem um VARIANT com VARTYPE VT_EMPTY | VT_BYREF ou com VARIANTVARTYPE VT_VARIANT.

Resolução

O código nativo ou não gerenciado que passa deve VARIANT garantir que o VARIANT código seja formado e inicializado corretamente.

Efeito no Runtime

O MDA não tem nenhum efeito sobre o comportamento do runtime.

Saída

Uma mensagem do MDA indicando que o runtime detectou um código gerenciado inválido VARIANT passado por um módulo não gerenciado.

Configuração

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

Consulte também