PRB: CAxWindow 구성원 메모리 누수가 발생할 수 있다

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

현상

CAxWindow CreateControl()AttachControl() 함수를 메모리가 누수될 수 있습니다 않으면 제대로 사용할 수 있습니다.

원인

합성 컨트롤에 ActiveX 컨트롤 또는 ATL 포함을 지원하는 모든 창을 만드는 다음 두 가지 기술을 메모리 누수가 발생할 수 있습니다.
//Intialize ATL control containment.
AtlAxWinInit();

//Create container window.
HWND hWndCont = m_ax.Create(m_hWnd, rect, 0, WS_CHILD | WS_VISIBLE);

//Create & activate ActiveX control
HRESULT hr = m_ax.CreateControl("MSCAL.Calendar");
				
OR -
//Intialize ATL control containment.
AtlAxWinInit();
//Create container window
HWND hWndCont = m_ax.Create(m_hWnd, rect, 0, WS_CHILD | WS_VISIBLE);

// Create ActiveX control.
CComPtr<IUnknown> spunk;
HRESULT hr = CLSIDFromProgID(OLESTR("MSCAL.Calendar"), &clsid);
hr = CoCreateInstance(clsid, NULL, CLSCTX_ALL, IID_IUnknown, (void**)&spunk);

// Activate ActiveX control.
HRESULT hr = m_ax.AttachControl(spunk);
				
두 기술 모두 위치 Create() 호출이 CAxHostWindow 개체 만들 때 발생합니다. 또한 호출이 CreateControl() 또는 AttachControl() 다른 CAxHostWindow 개체 만듭니다. 소멸 시에 Create()에 의해 만들어진 CAxHostWindow 개체가 해제됩니다.

해결 방법

Q218442 문서에서 설명하는 방법 중 하나가 실행할된 때 ActiveX 컨트롤을 만들 수 있습니다.

현재 상태

이것은 의도적으로 설계된 동작입니다.

참조

자세한 내용은 아래 문서 번호를 눌러 Microsoft 기술 자료에 있는 문서를 클릭하십시오.
192560HOWTO: 모든 창 ATL 컨트롤 포함 지원 추가
218442HOWTO: ActiveX 컨트롤을 합성 컨트롤에 프로그래밍 방식으로 추가

속성

기술 자료: 229904 - 마지막 검토: 2014년 2월 23일 일요일 - 수정: 3.0
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft ActiveX Template Library 3.0?을(를) 다음과 함께 사용했을 때
    • Microsoft Visual C++ 6.0 Enterprise Edition
    • Microsoft Visual C++ 6.0 Professional Edition
    • Microsoft Visual C++, 32-bit Learning Edition 6.0
    • Microsoft Visual C++ .NET 2003 Standard Edition
    • Microsoft Visual C++ .NET 2002 Standard Edition
키워드:?
kbnosurvey kbarchive kbmt kbctrl kbpending kbprb KB229904 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