invalidVariant MDA

Note

本文專指 .NET 框架。 此規定不適用於較新的 .NET 實作,包括 .NET 6 及更新版本。

invalidVariant當從原生或非受管理程式碼呼叫到受管程式碼時,遇到無效VARIANT結構時,會啟動受管理除錯助理(MDA)。

Symptoms

在原生程式碼與受管理程式碼之間轉換過程中,涉及將 a VARIANT 編組到物件時出現的意外行為。

原因

原生程式碼是將一個錯誤的 VARIANT 結構傳給受管理程式碼。 執行時會嘗試將此 VARIANT 資料編組到物件,若 MDA VARIANT 無效則啟動。 無效 VARIANTS 的例子包括 a VARIANT VT_EMPTY VARTYPE |VT_BYREF或A,VT_VARIANT VARIANTVARTYPE

解決方法

通過 的 VARIANT 原生或非管理程式碼必須確保 正確 VARIANT 形成並初始化。

對運行時間的影響

MDA 對執行時的行為沒有影響。

Output

一個 MDA 訊息,表示執行時偵測到由非管理模組傳送給受管理程式碼的無效 VARIANT 程式碼。

Configuration

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

另請參閱