Bagikan melalui


MDA invalidVariant

Catatan

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

Asisten penelusuran kesalahan terkelola (MDA) invalidVariant diaktifkan ketika struktur VARIANT yang tidak valid 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 penyusunan VARIANT ke objek.

Penyebab

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

Resolusi

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 bahasa umum.

Output

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

Konfigurasi

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

Lihat juga