MDA invalidVariant

Note

Artikel ini khusus untuk .NET Framework. Ini tidak berlaku untuk implementasi .NET yang lebih baru, termasuk .NET 6 dan versi yang lebih baru.

Asisten invalidVariant penelusuran kesalahan terkelola (MDA) diaktifkan ketika struktur yang tidak valid VARIANT ditemui selama panggilan dari kode asli atau tidak terkelola ke kode terkelola.

Gejala

Perilaku tak terduga selama transisi antara kode asli dan terkelola yang melibatkan marshalling objek VARIANT ke objek.

Penyebab

Kode asli meneruskan struktur cacat ke kode terkelola VARIANT . Runtime mencoba untuk melakukan marsekal ini VARIANT ke objek dan mengaktifkan MDA jika VARIANT tidak valid. Contoh S yang VARIANT tidak valid VARIANTtermasuk dengan VARTYPE VT_EMPTY | VT_BYREF atau VARIANT dengan VARTYPE VT_VARIANT.

Resolution

Kode asli atau tidak terkelola yang meneruskan VARIANT harus memastikan bahwa VARIANT dibentuk dan diinisialisasi dengan benar.

Efek pada Runtime

MDA tidak berpengaruh pada perilaku runtime.

Hasil

Pesan MDA yang menunjukkan bahwa runtime mendeteksi kode yang tidak valid VARIANT yang diteruskan ke kode terkelola oleh modul yang tidak dikelola.

Konfigurasi

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

Baca juga