invalidVariant MDA

注释

本文特定于 .NET Framework。 它不适用于 .NET 的较新版本实现,包括 .NET 6 及更高版本。

invalidVariant 从本机或非托管代码调用托管代码期间遇到无效 VARIANT 结构时,将激活托管调试助手(MDA)。

症状

在本机代码和托管代码之间转换期间发生的意外行为,涉及对对象的封送 VARIANT

原因

本机代码正在将格式 VARIANT 不正确的结构传递给托管代码。 运行时尝试将此封 VARIANT 送给对象,并在 MDA 无效的情况下 VARIANT 激活 MDA。 无效 VARIANT的 S 包含 VARIANTVARTYPE VT_EMPTY的示例 |VT_BYREF或 VARIANT 具有 VARTYPE VT_VARIANT。

解决方案

传递 VARIANT 的本机或非托管代码必须确保 VARIANT 正确形成和初始化。

对运行时的影响

MDA 对运行时的行为没有影响。

输出

指示运行时检测到非托管模块传递给托管代码无效 VARIANT 的 MDA 消息。

配置

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

另见