Поделиться через


Помощник по отладке управляемого кода invalidVariant

Помощник по отладке управляемого кода (MDA) invalidVariant активируется в случае, если в процессе вызова из машинного или неуправляемого кода в управляемый код обнаружена недопустимая структура VARIANT.

Признаки

Непредвиденное поведение во время передачи из машинного в управляемый код, включая маршалинг в объект VARIANT.

Причина

Машинный код передает структуру VARIANT неправильного формата в управляемый код. Среда выполнения пытается выполнить маршалинг данной структуры VARIANT в объект и активирует помощник по отладке управляемого кода, если структура VARIANT не является допустимой. Примерами недопустимых структур VARIANT является структура VARIANT, у которой для типа VARTYPE установлено значение VT_EMPTY | VT_BYREF, или структура VARIANT, у которой для типа VARTYPE установлено значение VT_VARIANT.

Решение

Необходимо обеспечить в машинном или неуправляемом коде, который передает структуру VARIANT, правильное форматирование и инициализацию VARIANT.

Влияние на среду выполнения

Данный помощник по отладке управляемого кода не оказывает влияния на расширение функциональности среды выполнения.

Output

Сообщение помощника по отладке управляемого кода, указывающее на обнаружение средой выполнения недопустимой структуры VARIANT, переданной в управляемый код неуправляемым модулем.

Конфигурация

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

См. также

Ссылки

MarshalAsAttribute

Основные понятия

Диагностика ошибок посредством управляемых помощников по отладке

Маршалинг взаимодействия

Другие ресурсы

Взаимодействие