invalidVariant MDA
注意
本文專屬於 .NET Framework。 它不適用於較新的 .NET 實作,包括 .NET 6 和更新版本。
當從機器碼或 Unmanaged 程式碼呼叫至 Managed 程式碼時遇到無效的 VARIANT
結構,就會啟動 invalidVariant
Managed 偵錯助理 (MDA)。
徵兆
在原生程式代碼與 Managed 程式代碼之間轉換時,發生非預期的行為,涉及將 封送處理 VARIANT
至 物件。
原因
機器碼傳遞格式不正確的 VARIANT
結構給 Managed 程式碼。 如果 VARIANT
無效,則執行階段嘗試封送處理 VARIANT
給物件,並啟動 MDA。 無效 VARIANT
S 的範例包含 VARIANT
具有 VARTYPE
VT_EMPTY 的 |VT_BYREF或 VARIANT
具有 VARTYPE
VT_VARIANT 的 。
解決方法
傳遞 VARIANT
的機器碼或 Unmanaged 程式碼必須確保 VARIANT
格式正確且已初始化。
對執行階段的影響
此 MDA 對執行階段行為沒有影響。
輸出
MDA 訊息,指出執行階段偵測到無效的 VARIANT
由 Unmanaged 模組傳遞至 Managed 程式碼。
組態
<mdaConfig>
<assistants>
<invalidVariant />
</assistants>
</mdaConfig>