invalidVariant MDA

Note

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

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

Sintomas

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

Motivo

Código nativo é passar uma estrutura mal formada VARIANT para código gerido. O tempo de execução tenta enviar isto VARIANT para um objeto e ativa o MDA se o VARIANT não for válido. Exemplos de S inválidos VARIANTincluem a VARIANT com VARTYPE VT_EMPTY | VT_BYREF ou com VARIANTVARTYPE VT_VARIANT.

Resolução

O código nativo ou não gerido que passa deve VARIANT garantir que o VARIANT está corretamente formado e inicializado.

Efeito no tempo de execução

O MDA não tem efeito no comportamento do tempo de execução.

Output

Uma mensagem MDA indicando que o runtime detetou um código inválido VARIANT passado para gerido por um módulo não gerido.

Configuração

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

Ver também