다음을 통해 공유


invalidVariant MDA

네이티브 또는 비관리 코드에서 관리 코드를 호출하는 동안 잘못된 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>

참고 항목

참조

MarshalAsAttribute

개념

관리 디버깅 도우미를 사용하여 오류 진단

Interop 마샬링

기타 리소스

상호 운용성