Помощник по отладке управляемого кода invalidVariant
Примечание.
Эта статья относится к .NET Framework. Он не применяется к более новым реализациям .NET, включая .NET 6 и более поздние версии.
Помощник по отладке управляемого кода (MDA) invalidVariant
активируется, когда во время вызова из машинного или неуправляемого кода обнаруживается недопустимая структура VARIANT
.
Симптомы
Непредвиденное поведение во время перехода между машинным и управляемым кодом, связанным с маршалингом VARIANT
объекта.
Причина
Машинный код передает в управляемый код структуру VARIANT
неправильного формата. Среда выполнения пытается выполнить маршалинг этой структуры VARIANT
в объект и активирует MDA, если VARIANT
является недопустимой. Примеры недопустимых VARIANT
S включают a VARIANT
с VARTYPE
VT_EMPTY | VT_BYREF или VARIANT
VT_VARIANT VARTYPE
.
Разрешение
Машинный или неуправляемый код, передающий VARIANT
, должен убедиться, что структура VARIANT
правильно сформирована и инициализирована.
Влияние на среду выполнения
MDA не оказывает влияния на поведение среды выполнения.
Выходные данные
Сообщение MDA, указывающее, что среда выполнения обнаружила недопустимую структуру VARIANT
, переданную в управляемый код неуправляемым модулем.
Настройка
<mdaConfig>
<assistants>
<invalidVariant />
</assistants>
</mdaConfig>