Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Hinweis
Die aktive Vorlagenbibliothek (ACTIVE Template Library, ATL) wird weiterhin unterstützt. Wir fügen jedoch keine Features mehr hinzu oder aktualisieren die Dokumentation.
COM selbst versucht nicht automatisch, ein Objekt aus dem Arbeitsspeicher zu entfernen, wenn das Objekt nicht mehr verwendet wird. Stattdessen muss der Objektprogrammierer das nicht verwendete Objekt entfernen. Der Programmierer bestimmt, ob ein Objekt basierend auf einer Verweisanzahl entfernt werden kann.
COM verwendet die IUnknown Methoden AddRef und Release, um die Referenzanzahl von Schnittstellen für ein Objekt zu verwalten. Die allgemeinen Regeln zum Aufrufen dieser Methoden sind:
Wenn ein Client einen Schnittstellenzeiger empfängt, muss
AddRefauf der Schnittstelle aufgerufen werden.Wenn der Client den Schnittstellenzeiger fertig verwendet hat, muss der Client
Releaseaufrufen.
In einer einfachen Implementierung erhöht sich jeder AddRef Aufruf und jeder Release Aufruf dekrementiert eine Zählervariable innerhalb des Objekts. Wenn die Anzahl auf Null zurückgibt, verfügt die Schnittstelle nicht mehr über Benutzer und kann sich selbst aus dem Arbeitsspeicher entfernen.
Die Verweiszählung kann auch implementiert werden, sodass jeder Verweis auf das Objekt (nicht auf eine einzelne Schnittstelle) gezählt wird. In diesem Fall delegieren die Aufrufe AddRef und Release jeweils an eine zentrale Implementierung des Objekts, und Release gibt das gesamte Objekt frei, wenn die Referenzanzahl null erreicht.
Hinweis
Wenn ein abgeleitetes CComObjectObjekt mithilfe des new Operators erstellt wird, ist die Referenzanzahl 0. Daher muss nach dem erfolgreichen Erstellen des AddRef-abgeleiteten Objekts ein Aufruf zu CComObject ausgeführt werden.
Siehe auch
Einführung in COM
Verwalten von Objektlebensdauern über Referenzzählung