invalidVariant MDA
참고 항목
이 문서는 .NET Framework와 관련이 있습니다. .NET 6 이상 버전을 포함하여 .NET의 최신 구현에는 적용되지 않습니다.
invalidVariant
MDA(관리 디버깅 도우미)는 네이티브 코드나 비관리 코드에서 관리 코드로 호출하는 동안 잘못된 VARIANT
구조가 발생할 때 활성화됩니다.
증상
VARIANT
를 개체로 마샬링하는 작업과 관련해서 네이티브 코드와 관리 코드 간에 전환하는 동안 발생하는 예기치 않은 동작입니다.
원인
네이티브 코드는 형식이 잘못된 VARIANT
구조를 관리 코드로 전달합니다. 런타임에서는 이 VARIANT
를 개체로 마샬링하려고 시도하고 VARIANT
가 유효하지 않으면 MDA를 활성화합니다. 잘못된 VARIANT
S의 예로는 VARIANT
와 VARTYPE
VT_EMPTY | VT_BYREF를 함께 사용하거나 VARIANT
를 VARTYPE
VT_VARIANT와 함께 사용하는 경우가 있습니다.
해결
VARIANT
를 전달하는 네이티브 코드나 비관리 코드는 VARIANT
가 제대로 서식 지정되고 초기화되었는지 확인해야 합니다.
런타임에 대한 영향
MDA는 런타임 동작에 영향을 미치지 않습니다.
출력
런타임에서 비관리 모듈을 통해 관리 코드에 전달된 잘못된 VARIANT
를 감지했음을 나타내는 MDA 메시지입니다.
구성
<mdaConfig>
<assistants>
<invalidVariant />
</assistants>
</mdaConfig>
참고 항목
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET