Metodo CBaseReferenceClock.AdvisePeriodic

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation anziché DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Il AdvisePeriodic metodo crea una richiesta di consulenza periodica. Questo metodo implementa il metodo IReferenceClock::AdvisePeriodic .

Sintassi

HRESULT AdvisePeriodic(
   REFERENCE_TIME StartTime,
   REFERENCE_TIME PeriodTime,
   HSEMAPHORE     hSemaphore,
   DWORD_PTR      *pdwAdviseToken
);

Parametri

StartTime

Ora della prima notifica, in 100-nanosecondi unità. Deve essere maggiore di zero e minore di MAX_TIME.

PeriodTime

Tempo compreso tra le notifiche, in unità da 100 nanosecondi. Deve essere maggiore di zero.

hSemaphore

Gestire un semaforo creato dal chiamante.

pdwAdviseToken

Puntatore a una variabile che riceve un identificatore per la richiesta di consulenza.

Valore restituito

Restituisce uno dei valori HRESULT visualizzati nella tabella seguente.

Codice restituito Descrizione
S_OK
Operazione riuscita
E_INVALIDARG
Valori di tempo non validi
E_OUTOFMEMORY
Operazioni non riuscite
E_POINTER
Argomento puntatore NULL

Commenti

A ogni notifica, l'orologio rilascia il semaforo specificato nel parametro hSemaphore . Quando non sono necessarie ulteriori notifiche, chiamare il metodo CBaseReferenceClock::Unadvise e passare il valore pdwAdviseToken restituito da questa chiamata.

Requisiti

Requisito Valore
Intestazione
Refclock.h (includere Streams.h)
Libreria
Strmbase.lib (build al dettaglio);
Strmbasd.lib (build di debug)

Vedi anche

Classe CBaseReferenceClock