Condividi tramite


Metodo IAMStreamControl::StartAt (strmif.h)

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine 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, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Il StartAt metodo informa il pin quando iniziare a recapitare i dati.

Sintassi

HRESULT StartAt(
  [in] const REFERENCE_TIME *ptStart,
  [in] DWORD                dwCookie
);

Parametri

[in] ptStart

Puntatore a un valore REFERENCE_TIME che specifica quando il pin deve iniziare a recapitare i dati. Se il valore è MAXLONGLONG (0x7FFFFFFFFFFFFFFF), il metodo annulla la richiesta di avvio precedente. Se psStart è NULL, il pin viene avviato immediatamente quando viene eseguito il grafico.

Per i pin di anteprima, solo i valori NULL e MAXLONGLONG sono validi, perché i pin di anteprima non timestampano gli esempi che recapitano.

[in] dwCookie

Specifica un valore da inviare insieme alla notifica di avvio. Vedere la sezione Osservazioni.

Valore restituito

Se il metodo ha esito positivo, il valore restituito viene S_OK. In caso contrario, restituisce un valore HRESULT che indica la causa dell'errore.

Commenti

Per impostazione predefinita, il pin recapita i dati non appena viene eseguito il grafico del filtro. Il StartAt metodo fa sì che il pin attenda fino a quando non viene eseguita un'ora specificata dopo l'esecuzione del grafico, prima che il pin inizi a recapitare i dati.

Se il parametro dwCookie è diverso da zero, il pin invierà un evento EC_STREAM_CONTROL_STARTED all'avvio del recapito dei dati. Il primo parametro di evento è un puntatore all'interfaccia IPin del pin e il secondo è il valore di dwCookie.

Questo metodo implementa i casi speciali seguenti:

  • Se ptStart è NULL, il pin viene avviato non appena viene eseguito il grafico. Non viene inviato alcun evento e il valore di dwCookie viene ignorato.
  • Se ptStart contiene il valore MAXLONGLONG ed è presente una richiesta di arresto in sospeso, il pin viene avviato all'esecuzione del grafico. Se non è presente alcuna richiesta di arresto in sospeso, il pin rimane arrestato. In entrambi i casi, non viene inviato alcun evento di avvio e il valore di dwCookie viene ignorato.
Questo metodo gestisce anche le condizioni limite seguenti:
  • Se l'ora di inizio è compresa tra l'ora di inizio e l'ora di arresto di un campione, il pin fornisce tale campione.
  • Se l'ora di inizio è uguale all'ora di arresto, il pin fornisce un campione.
MAXLONGLONG è il valore REFERENCE_TIME più grande possibile. Nella libreria di classi di base viene definita anche come costante MAX_TIME.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione strmif.h (include Dshow.h)
Libreria Strmiids.lib

Vedi anche

Codici di errore e di esito positivo

Interfaccia IAMStreamControl