Condividi tramite


Metodo CPosPassThru.GetCurrentPosition

[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 GetCurrentPosition metodo recupera la posizione corrente, rispetto alla durata totale del flusso. Questo metodo implementa il metodo IMediaSeeking::GetCurrentPosition .

Sintassi

HRESULT GetCurrentPosition(
   LONGLONG *pCurrent
);

Parametri

pCurrent

Puntatore a una variabile che riceve la posizione corrente, in unità del formato ora corrente.

Valore restituito

Restituisce un valore HRESULT . I valori possibili includono quelli visualizzati nella tabella seguente.

Codice restituito Descrizione
S_OK
Operazione completata.
E_NOTIMPL
Il metodo non è supportato.
E_POINTER
Argomento puntatore NULL.

Commenti

Questo metodo chiama il metodo CPosPassThru::GetMediaTime per recuperare la posizione più recente. Se GetMediaTime ha esito negativo, il metodo chiama IMediaSeeking::GetCurrentPosition nel pin connesso.

Il metodo GetMediaTime ha esito negativo per impostazione predefinita nella classe base. Se il filtro memorizza nella cache la posizione corrente, eseguire l'override di GetMediaTime per restituire il valore memorizzato nella cache.

Requisiti

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

Vedi anche

Classe CPosPassThru