Share via


invalidVariant MDA

invalidVariant MDA(관리 디버깅 도우미)는 네이티브 코드나 비관리 코드에서 관리 코드로 호출하는 동안 잘못된 VARIANT 구조가 발생할 때 활성화됩니다.

증상

VARIANT를 개체로 마샬링하는 작업과 관련해서 네이티브 코드와 관리 코드 간에 전환하는 동안 발생하는 예기치 않은 동작입니다.

원인

네이티브 코드는 형식이 잘못된 VARIANT 구조를 관리 코드로 전달합니다. 런타임에서는 이 VARIANT를 개체로 마샬링하려고 시도하고 VARIANT가 유효하지 않으면 MDA를 활성화합니다. 잘못된 VARIANTS의 예로는 VARIANTVARTYPE VT_EMPTY | VT_BYREF를 함께 사용하거나 VARIANTVARTYPE VT_VARIANT와 함께 사용하는 경우가 있습니다.

해결 방법

VARIANT를 전달하는 네이티브 코드나 비관리 코드는 VARIANT가 제대로 서식 지정되고 초기화되었는지 확인해야 합니다.

런타임에 대한 영향

MDA는 런타임 동작에 영향을 미치지 않습니다.

출력

런타임에서 비관리 모듈을 통해 관리 코드에 전달된 잘못된 VARIANT를 감지했음을 나타내는 MDA 메시지입니다.

구성

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

참고 항목