ID3DDestructionNotifier-Schnittstelle (d3dcommon.h)

ID3DDestructionNotifier ist eine Schnittstelle, mit der Sie sich für Rückrufe registrieren können, wenn ein Direct3D-Nano-COM-Objekt zerstört wird.

Um eine Instanz dieser Schnittstelle abzurufen, rufen Sie ein Direct3D-Objekt mit dem IIDid3DDestructionNotifier auf.

Die Verwendung von ID3DDestructionNotifier anstelle von ID3D12Object::SetPrivateDataInterface oder Direct3D 11-Entsprechungen bietet stärkere Garantien für die Reihenfolge der Zerstörung. Mit ID3DDestructionNotifier sind implizite Beziehungen , z. B. ein ID3D11View mit einem Verweis auf die zugrunde liegende ID3D11Resource, garantiert gültig und für das Objekt, auf das verwiesen wird (hier das ID3D11Object), beim Aufrufen des Vernichtungsrückrufs weiterhin aktiv. Mit ID3D12Object::SetPrivateDataInterface können die impliziten Verweise freigegeben werden, bevor der Vernichtungsrückruf aufgerufen wird.

Es ist nicht sicher, auf das Objekt zuzugreifen, das während des Rückrufs zerstört wird.

Vererbung

Die ID3DDestructionNotifier-Schnittstelle erbt von der IUnknown-Schnittstelle .

Methoden

Die ID3DDestructionNotifier-Schnittstelle verfügt über diese Methoden.

 
ID3DDestructionNotifier::RegisterDestructionCallback

Registriert einen benutzerdefinierten Rückruf, der bei der Zerstörung des Objekts aufgerufen wird, aus dem dieser ID3DDestructionNotifier erstellt wurde.
ID3DDestructionNotifier::UnregisterDestructionCallback

Hebt die Registrierung eines Rückrufs auf, der bei RegisterDestructionCallback registriert wurde.

Hinweise

Der ID3DDestructionNotifier kann verwendet werden, um Ressourcen nachzuverfolgen, die unerwartet früh freigegeben werden, oder um ein Protokoll der Objektlöschung bereitzustellen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 7 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile d3dcommon.h

Weitere Informationen

ID3DDestructionNotifier::RegisterDestructionCallback

ID3DDestructionNotifier::UnregisterDestructionCallback

Allgemeine Versionsschnittstellen