Note
この記事は .NET Framework に固有のものです。 .NET 6 以降のバージョンを含む、.NET の新しい実装には適用されません。
invalidVariant マネージド デバッグ アシスタント (MDA) は、ネイティブ コードまたはアンマネージド コードからマネージド コードへの呼び出し中に無効なVARIANT構造体が検出されるとアクティブになります。
Symptoms
VARIANTのマーシャリングを含むネイティブ コードとマネージド コード間のオブジェクトへの移行中の予期しない動作。
原因
ネイティブ コードは、形式が正しくない VARIANT 構造をマネージド コードに渡しています。 ランタイムは、この VARIANT をオブジェクトにマーシャリングしようと試み、 VARIANT が有効でない場合は MDA をアクティブにします。 無効なVARIANTの例には、VARTYPE VT_EMPTYを含むVARIANTが含まれます |VARTYPE VT_VARIANTを使用したVT_BYREFまたはVARIANT。
Resolution
VARIANTを渡すネイティブ コードまたはアンマネージ コードは、VARIANTが正しく形成され、初期化されていることを確認する必要があります。
ランタイムへの影響
MDA はランタイムの動作には影響しません。
アウトプット
アンマネージド モジュールによってマネージド コードに渡された無効な VARIANT がランタイムによって検出されたことを示す MDA メッセージ。
コンフィギュレーション
<mdaConfig>
<assistants>
<invalidVariant />
</assistants>
</mdaConfig>
こちらも参照ください
.NET