invalidVariant MDA
Uwaga
Ten artykuł jest specyficzny dla programu .NET Framework. Nie ma zastosowania do nowszych implementacji platformy .NET, w tym .NET 6 i nowszych wersji.
Asystent invalidVariant
zarządzanego debugowania (MDA) jest aktywowany, gdy napotkano nieprawidłową VARIANT
strukturę podczas wywołania z kodu natywnego lub niezarządzanego do kodu zarządzanego.
Objawy
Nieoczekiwane zachowanie podczas przejścia między kodem natywnym i zarządzanym obejmującym marshalling obiektu VARIANT
do obiektu.
Przyczyna
Kod natywny przekazuje źle sformułowaną VARIANT
strukturę do kodu zarządzanego. Środowisko uruchomieniowe próbuje przeprowadzić marshaling tego VARIANT
obiektu do obiektu i aktywuje mdA, jeśli VARIANT
obiekt jest nieprawidłowy. Przykłady nieprawidłowego VARIANT
S obejmują obiekt VARIANT
z VARTYPE
VT_EMPTY | VT_BYREF lub z VARIANT
VARTYPE
VT_VARIANT.
Rozwiązanie
Kod natywny lub niezarządzany przekazujący VARIANT
musi upewnić się, że VARIANT
element jest poprawnie sformułowany i zainicjowany.
Wpływ na środowisko uruchomieniowe
MdA nie ma wpływu na zachowanie środowiska uruchomieniowego.
Wyjście
Komunikat MDA wskazujący, że środowisko uruchomieniowe wykryło nieprawidłowy VARIANT
kod przekazany do kodu zarządzanego przez niezarządzany moduł.
Konfigurowanie
<mdaConfig>
<assistants>
<invalidVariant />
</assistants>
</mdaConfig>