Freigeben über


CBaseReferenceClock.AdviseTime-Methode

[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.]

Die AdviseTime -Methode erstellt eine einmalige Empfehlungsanforderung. Diese Methode implementiert die IReferenceClock::AdviseTime-Methode .

Syntax

HRESULT AdviseTime(
   REFERENCE_TIME baseTime,
   REFERENCE_TIME streamTime,
   HEVENT         hEvent,
   DWORD_PTR      *pdwAdviseToken
);

Parameter

baseTime

Basisreferenzzeit in 100 Nanosekundeneinheiten.

streamTime

Streamoffsetzeit in 100 Nanosekundeneinheiten.

hEvent

Handle für ein Ereignis, das vom Aufrufer erstellt wurde.

pdwAdviseToken

Zeiger auf eine Variable, die einen Bezeichner für die Empfehlungsanforderung empfängt.

Rückgabewert

Gibt einen der in der folgenden Tabelle gezeigten HRESULT-Werte zurück.

Rückgabecode BESCHREIBUNG
S_OK
Erfolgreich
E_INVALIDARG
Ungültige Zeitwerte
E_OUTOFMEMORY
Fehler
E_POINTER
NULL-Zeigerargument

Bemerkungen

Diese Methode erstellt eine einmalige Empfehlungsanforderung für die Referenzzeit baseTime + streamTime. Die Summe muss größer als null und kleiner als MAX_TIME sein, oder die Methode gibt E_INVALIDARG zurück. Zum angeforderten Zeitpunkt signalisiert die Uhr das im hEvent-Parameter angegebene Ereignis.

Um die Benachrichtigung abzubrechen, bevor der Zeitpunkt erreicht ist, rufen Sie die CBaseReferenceClock::Unadvise-Methode auf, und übergeben Sie den pdwAdviseToken-Wert , der von diesem Aufruf zurückgegeben wird. Nachdem die Benachrichtigung erfolgt ist, löscht die Uhr sie automatisch, sodass es nicht erforderlich ist, Unadvise aufzurufen. Es ist jedoch kein Fehler, dies zu tun.

Anforderungen

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

Siehe auch

CBaseReferenceClock-Klasse