invalidVariant MDA

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>

こちらも参照ください