Condividi tramite


Metodo CBaseReferenceClock.AdviseTime

[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 AdviseTime metodo crea una richiesta di consulenza one-shot. Questo metodo implementa il metodo IReferenceClock::AdviseTime .

Sintassi

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

Parametri

baseTime

Tempo di riferimento di base, in unità da 100 nanosecondi.

streamTime

Tempo di offset di flusso, in unità a 100 nanosecondi.

hEvent

Gestire un evento, 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

Questo metodo crea una richiesta di consulenza one-shot per il tempo di riferimento baseTime streamTime + . La somma deve essere maggiore di zero e minore di MAX_TIME oppure il metodo restituisce E_INVALIDARG. All'ora richiesta, l'orologio segnala l'evento specificato nel parametro hEvent .

Per annullare la notifica prima che venga raggiunta l'ora, chiamare il metodo CBaseReferenceClock::Unadvise e passare il valore pdwAdviseToken restituito da questa chiamata. Dopo aver eseguito la notifica, l'orologio lo cancella automaticamente, quindi non è necessario chiamare Unadvise. Tuttavia, non è un errore per farlo.

Requisiti

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

Vedi anche

Classe CBaseReferenceClock