Freigeben über


IReferenceClock-Schnittstelle (strmif.h)

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]

Die IReferenceClock Schnittstelle stellt die Referenzzeit für das Filterdiagramm bereit.

Filter, die als Referenzuhr fungieren können, können diese Schnittstelle verfügbar machen. Sie wird auch von der Systemreferenzuhr verfügbar gemacht. Der Filterdiagramm-Manager verwendet diese Schnittstelle, um das Filterdiagramm zu synchronisieren. Anwendungen können diese Schnittstelle verwenden, um die aktuelle Referenzzeit abzurufen oder eine Benachrichtigung über eine verstrichene Zeit anzufordern.

Weitere Informationen finden Sie unter Zeit und Uhren in DirectShow.

Filterentwickler: Implementieren Sie diese Schnittstelle, wenn Sie einen Filter schreiben, der zuverlässige Uhrzeiten generiert. Beispielsweise implementieren Audiorenderer diese Schnittstelle, da Audio-Soundboards in der Regel eine Referenzuhr enthalten. Verwenden Sie die CBaseReferenceClock-Klasse , um diese Schnittstelle zu implementieren.

Führen Sie die folgenden Schritte aus, um die Wahrscheinlichkeit zu erhöhen, dass ein Nicht-Renderingfilter vom Filter Graph-Manager als Verweis geschlossen ausgewählt wird:

  1. Implementieren Sie IReferenceClock im Filter.
  2. Implementieren Sie IAMFilterMiscFlags im Filter.
  3. Gibt AM_FILTER_MISC_FLAGS_IS_SOURCE von IAMFilterMiscFlags::GetMiscFlags zurück.
  4. Implementieren Sie IAMPushSource auf allen Ausgabepins.
  5. Return (* pFlags) = 0 from IAMPushSource::GetPushSourceFlags.
  6. Sie können E_NOTIMPL von allen anderen IAMPushSource-Methoden zurückgeben.

Vererbung

Die IReferenceClock-Schnittstelle erbt von der IUnknown-Schnittstelle . IReferenceClock verfügt auch über folgende Membertypen:

Methoden

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

 
IReferenceClock::AdvisePeriodic

Die AdvisePeriodic-Methode erstellt eine regelmäßige Empfehlungsanforderung.
IReferenceClock::AdviseTime

Die AdviseTime-Methode erstellt eine einmalige Empfehlungsanfrage.
IReferenceClock::GetTime

Die GetTime-Methode ruft die aktuelle Referenzzeit ab.
IReferenceClock::Unadvise

Die Unadvise-Methode entfernt eine ausstehende Empfehlungsanforderung.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile strmif.h (include Dshow.h)