네이티브 또는 비관리 코드에서 관리 코드를 호출하는 동안 잘못된 VARIANT 구조가 발견되면 invalidVariant MDA(관리 디버깅 도우미)가 활성화됩니다.
증상
VARIANT를 개체로 마샬링하는 것을 포함하여 네이티브 코드와 관리 코드 간을 전환할 때 예기치 않은 동작이 발생합니다.
원인
네이티브 코드가 잘못된 VARIANT 구조를 관리 코드에 전달하고 있습니다. 런타임에 VARIANT를 개체로 마샬링하려고 시도할 때 VARIANT가 유효하지 않은 경우 MDA가 활성화됩니다. 잘못된 VARIANT의 예에는 VARTYPE VT_EMPTY | VT_BYREF를 가진 VARIANT, VARTYPE VT_VARIAN을 가진 VARIANT 등이 있습니다.
해결 방법
VARIANT를 전달하는 네이티브 또는 비관리 코드에서 VARIANT가 올바르게 구성되어 초기화되도록 해야 합니다.
런타임 효과
이 MDA는 런타임 동작에 아무런 영향을 주지 않습니다.
Output
관리되지 않는 모듈이 관리 코드에 전달한 잘못된 VARIANT를 런타임에서 검색했음을 나타내는 MDA 메시지입니다.
구성
<mdaConfig>
<assistants>
<invalidVariant />
</assistants>
</mdaConfig>