MDA invalidVariant
Nota
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 invalidVariant
assistente de depuração gerenciado (MDA) é ativado quando uma estrutura inválida VARIANT
é encontrada durante uma chamada de código nativo ou não gerenciado para código gerenciado.
Sintomas
Comportamento inesperado durante uma transição entre código nativo e gerenciado envolvendo a empacotação de um VARIANT
para um objeto.
Motivo
O código nativo está passando uma estrutura malformada VARIANT
para o código gerenciado. O tempo de execução tenta empacotar isso VARIANT
para um objeto e ativa o MDA se o VARIANT
não for válido. Exemplos de S inválidos VARIANT
incluem um VARIANT
com VARTYPE
VT_EMPTY | VT_BYREF ou um VARIANT
com VARTYPE
VT_VARIANT.
Resolução
O código nativo ou não gerenciado que passa o VARIANT
deve garantir que o VARIANT
seja corretamente formado e inicializado.
Efeito no tempo de execução
O MDA não tem efeito sobre o comportamento do tempo de execução.
Saída
Uma mensagem MDA indicando que o tempo de execução detetou um código inválido VARIANT
passado para o código gerenciado por um módulo não gerenciado.
Configuração
<mdaConfig>
<assistants>
<invalidVariant />
</assistants>
</mdaConfig>