Share via


CUnknown-Klasse

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Cunknown-Klassenhierarchie

Die CUnknown-Klasse implementiert die IUnknown-Schnittstelle . Die meisten COM-Objekte (Component Object Model) in DirectShow werden von CUnknown abgeleitet.

Wenn Sie ein COM-Objekt implementieren, sollten Sie es von CUnknown ableiten. Das Ableiten von CUnknown bietet eine threadsichere Implementierung und erspart Ihnen die Implementierung von IUnknown.

Eine ausführliche Erläuterung der Verwendung dieser Basisklasse finden Sie unter Implementieren von IUnknown. Im Folgenden folgt eine kurze Zusammenfassung:

  • Schließen Sie das Makro DECLARE_IUNKNOWN in den öffentlichen Abschnitt Ihrer Klassendefinition ein. Dieses Makro deklariert die drei Methoden der IUnknown-Schnittstelle .
  • Überschreiben Sie die NonDelegatingQueryInterface-Methode , um andere Schnittstellen als IUnknown zu unterstützen. Rufen Sie innerhalb dieser Methode die GetInterface-Funktion auf, um Schnittstellenzeiger abzurufen.
  • Rufen Sie in Ihrem Klassenkonstruktor die CUnknown-Konstruktormethode auf.
Geschützte Membervariablen BESCHREIBUNG
m_cRef Referenzanzahl.
Öffentliche Methoden BESCHREIBUNG
CUnknown Konstruktormethode.
~ CUnknown Destruktormethode. Virtuellen.
GetOwner Ruft einen Zeiger auf das steuernde IUnknown ab.
INonDelegatingUnknown-Methoden BESCHREIBUNG
NonDelegatingAddRef Erhöht die Verweisanzahl.
NonDelegatingQueryInterface Ruft einen Schnittstellenzeiger ab und erhöht die Verweisanzahl.
NonDelegatingRelease Verringert die Verweisanzahl.

Anforderungen

Anforderung Wert
Header
Combase.h (Einschließen von Streams.h)
Bibliothek
Strmbase.lib (Einzelhandelsbuilds);
Strmbasd.lib (Debugbuilds)

Siehe auch

DirectShow-Basisklassen