Speicherverlust, wenn Sie ein Enumeratorobjekt für Internet Explorer 10 in einer Anwendung verwenden

Betrachten Sie das folgende Szenario:

  • Sie entwickeln eine Browser-Steuerelement Host oder ein ActiveX-Steuerelement.

  • Die Anwendung oder das ActiveX-Steuerelement referenziert das Enumerationsobjekt Auflistungsschnittstelle einer HTML-Seite. Um diese Funktion zu erstellen, finden Sie die folgenden Richtlinien:

    • In C++ ist der Enumerator Get__newEnum Funktion einer Auflistung Schnittstelle abgerufen.  Ist ein Beispiel für eine Auflistungsschnittstelle IHTMLElementCollectionund diese abrufen, indem Sie IHTMLDocument2::get_allaufrufen.

    • In Visual Basic wird dieser Schritt im Hintergrund in einer Foreach-Konstrukt in einer Sammlung (z. B. die document.all) ausgeführt.

  • Ausführen die Anwendung auf einem Computer mit Internet Explorer 10 installiert.

In diesem Szenario tritt ein Speicherverlust.

Hinweis Da ActiveX-Steuerelemente mehr Speicher als systemeigenen HTML-Elemente verwenden, ist der Speicherverlust deutlicher, wenn eines der Elemente in der Auflistung ein ActiveX-Steuerelement ist.

Ein Speicherverlust tritt beispielsweise folgenden C++-Code in eine Funktion ein Webbrowser Control Host-Anwendung verwenden. In dieser Situation wird eine große Menge Speicher Verlust eines der Elemente auf der Webseite ein ActiveX-Steuerelement ist.
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();
}

Installieren Sie zum Beheben dieses Problems das folgende Update:

2862772 MS13-059: Kumulatives Sicherheitsupdate für Internet Explorer: 13. August 2013

Um weitere Informationen zur Terminologie für Softwareupdates zu erhalten, klicken Sie auf die folgende Artikelnummer, um den Artikel der Microsoft Knowledge Base anzuzeigen:

824684 Erläuterung von der standardmäßigen Standardbegriffen bei Microsoft Softwareupdates

Benötigen Sie weitere Hilfe?

Ihre Office-Fähigkeiten erweitern
Schulungen erkunden
Neue Funktionen als Erster erhalten
Microsoft Insider beitreten

War diese Information hilfreich?

Vielen Dank für Ihr Feedback!

×