FIX: MFC ActiveX 컨트롤 컨테이너와 Visual C++에서 무한 재귀가 상태를 입력할 때 A 스택 오버플로가 발생합니다.

기술 자료 번역 기술 자료 번역
기술 자료: 192942 - 이 문서가 적용되는 제품 보기.
이 문서가 보관되었습니다. "그대로" 제공되었으며, 업데이트가 되지 않을 것입니다.
모두 확대 | 모두 축소

현상

특정 상황에서 MFC ActiveX 컨트롤 컨테이너와 결국 스택 오버플로가 발생할 수 있는 무한 재귀가 상태를 입력합니다. 컨트롤 사이트 위치가 변경되면 이 현상이, 프로그램이 외관상 중단 및 결국 스택 오버플로가 발생할 (0xC00000FD라는) 운영 체제 예외입니다. 스택 추적은 다음과 같습니다:
   COleControlSite::MoveWindow
   COleControl::XOleInPlaceObject::SetObjectRects
   COleControl::OnSetObjectRects
   COleControlSite::MoveWindow
   ...
				

원인

컨트롤 사이트 위치가 변경되면 컨테이너 코드 (있을 경우) 반영자 창 (있을 경우) 및 추적기 사각형은 위치를 변경합니다. 컨트롤 컨테이너 코드 COleControl::XOleInPlaceObject::SetObjectRects 결국 호출합니다. MFC 소스 CTLINPLC.CPP을 참조하십시오. SetObjectRects() 있으면 리플렉터 창을 반환합니다 GetOuterWindow() 호출합니다. 리플렉터 창을 변수가 NULL 인 경우 다음 동일한 창 개체, 반환된 창 개체를 사용하여 다음 MoveWindow 이라고 반환됩니다. 이로 인해 MoveWindow 자체에 대한 재귀 루프를 결과 호출할 수 있습니다.

해결 방법

한 가지 해결 방법은 해당 MFC42.DLL Visual C++ 5.0 버전의 복사하는 것입니다 (파일 버전: 4.21.7303)이 이 문제가 발생하는 프로그램의 홈 디렉터리로. 이로 인해 Windows 시스템 디렉터리에 있는 MFC42.DLL 대신 이전 버전의 MFC 사용하여 프로그램이 됩니다.

현재 상태

Microsoft는 이 Microsoft 버그를 확인했습니다 제품에 이 문서에 나열된. 이 버그가 있는 Visual Studio 6.0 서비스 팩 1에서 수정되었습니다.

이 서비스 팩을 얻으려면 다음 Microsoft 웹 사이트를 방문하십시오.
http://msdn2.microsoft.com/en-us/vstudio/Aa718362.aspx
Visual Studio 6.0 서비스 팩 1에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
193009Visual Studio 6.0 서비스 팩 1 추가 정보
194022Visual Studio 6.0 서비스 팩, 어떤, 위치, 이유
194295Visual Studio 서비스 팩이 설치되었는지 확인하는 방법

추가 정보

이 버그는 Corel Office 제품군 8 일부로 제공되는 WordPerfect 8 발견되었습니다. 이 버그는 경우에만 Visual C++ 6.0 버전과 해당 MFC42.DLL 발생합니다.

속성

기술 자료: 192942 - 마지막 검토: 2014년 2월 22일 토요일 - 수정: 5.2
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Foundation Class Library 4.2?을(를) 다음과 함께 사용했을 때
    • Microsoft Visual C++ 6.0 Enterprise Edition
    • Microsoft Visual C++ 6.0 Professional Edition
    • Microsoft Visual C++, 32-bit Learning Edition 6.0
키워드:?
kbnosurvey kbarchive kbmt kbqfe kbbug kbfix kbnoupdate kbvc600sp1fix kbvs600sp1fix KB192942 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com