使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

症状

请考虑以下情形:

  • 您将开发一个 web 浏览器控件宿主应用程序或 ActiveX 控件。

  • 应用程序或 ActiveX 控件中的 HTML 页的集合接口引用枚举器对象。若要创建此功能,请参阅以下指南︰

    • 在 c + + 中,通过调用get__newEnum函数的集合接口获取枚举数。 集合接口的一个例子是IHTMLElementCollection,并且这通常通过调用IHTMLDocument2::get_all中获取。

    • 在 Visual Basic 中幕后在 foreach 构造集合 (例如,document.all 集合) 上执行此步骤。

  • 您已安装 Internet Explorer 10 的计算机上运行应用程序。

在这种情况下,发生内存泄漏。

注意:由于 ActiveX 控件占用更多内存比本机 HTML 元素,内存泄漏是更明显的 ActiveX 控件是否在集合中的元素之一。

例如,在 web 浏览器控件宿主应用程序的函数中使用下面的 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说明

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×