증상
다음 시나리오를 고려하십시오.
-
웹 브라우저 컨트롤 호스트 응용 프로그램 또는 ActiveX 컨트롤을 개발 합니다.
-
응용 프로그램이 나 ActiveX 컨트롤은 HTML 페이지의 컬렉션 인터페이스에서 열거자 개체를 참조합니다. 이 기능을 만들려면 다음 지침을 참조 하십시오.
-
C + +에서는 컬렉션 인터페이스의 get__newEnum 함수를 호출 하 여 열거자를 가져옵니다. 컬렉션 인터페이스의 예로 IHTMLElementCollection이며이 일반적으로 IHTMLDocument2::get_all를 호출 하 여 가져옵니다.
-
Visual Basic 컬렉션 (예: document.all 컬렉션)이 이렇게 foreach 구문에서 수행 합니다.
-
-
Internet Explorer 10이 설치 되어 있는 컴퓨터에서 응용 프로그램을 실행 합니다.
이 시나리오에서는 메모리 누수가 발생합니다.
참고: ActiveX 컨트롤이 원시 HTML 요소 보다 더 많은 메모리를 소모 하기 때문에 메모리 누수는 컬렉션에 있는 요소 중 하나는 ActiveX 컨트롤 보다 명확해. 예를 들어, 다음 c + + 코드를 사용 하 여 웹 브라우저 컨트롤 호스트 응용 프로그램의 함수에서 메모리 누수가 발생 합니다. 이 경우 많은 양의 메모리 누수 경우 ActiveX 컨트롤은 웹 페이지의 요소 중 하나. void CEnumLeakDlg::OnBnClicked(){ IDispatch* pDocDisp = m_web.get_Document(); IHTMLDocument2* pDoc = NULL; HRESULT hr = pDocDisp->QueryInterface(IID_IHTMLDocument2, (void**)&pDoc); IHTMLElementCollection* pElColl = NULL; hr = pDoc->get_all(&pElColl); IUnknown* pEnum = NULL; hr = pElColl->get__newEnum(&pEnum); pEnum->Release(); pElColl->Release(); pDoc->Release(); pDocDisp->Release(); }해결 방법
이 문제를 해결 하려면 다음 업데이트를 설치 합니다.
2862772 MS13-059: Internet Explorer 용 누적 보안 업데이트: 2013 년 8 월 13,
자세한 내용
소프트웨어 업데이트 용어에 대한 자세한 내용을 보려면, 다음 문서 번호를 클릭하여 Microsoft 기술 자료의 문서를 확인하십시오.
Microsoft 소프트웨어 업데이트를 설명 하는 데 사용 되는 표준 용어에 대 한 824684 설명