Condividi tramite


Metodo IMFClockStateSink::OnClockStart (mfidl.h)

Chiamato all'avvio dell'orologio della presentazione.

Sintassi

HRESULT OnClockStart(
  [in] MFTIME   hnsSystemTime,
  [in] LONGLONG llClockStartOffset
);

Parametri

[in] hnsSystemTime

Ora di sistema all'avvio dell'orologio, in unità da 100 nanosecondi.

[in] llClockStartOffset

Nuova ora di inizio per l'orologio, in unità da 100 nanosecondi. Questo parametro può anche essere uguale PRESENTATION_CURRENT_POSITION, a indicare che l'orologio è stato avviato o riavviato dalla posizione corrente.

Valore restituito

Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

Questo metodo viene chiamato quando viene chiamato il metodo IMFPresentationClock::Start dell'orologio di presentazione, con l'eccezione seguente: se l'orologio viene sospeso e Start viene chiamato con il valore PRESENTATION_CURRENT_POSITION, IMFClockStateSink::OnClockRestart viene chiamato anziché OnClockStart.

L'orologio notifica l'origine dell'ora di presentazione chiamando il metodo OnClockStart dell'origine ora. Questa chiamata viene eseguita in modo sincrono all'interno del metodo Start . Se l'origine dell'ora restituisce un errore da OnClockStart, il metodo Start dell'orologio della presentazione restituisce un errore e la modifica dello stato non viene eseguita.

Per qualsiasi oggetto che non sia l'origine dell'ora di presentazione, il metodo OnClockStart viene chiamato in modo asincrono, dopo il completamento della modifica dello stato. In tal caso, il valore restituito da questo metodo viene ignorato.

Il valore specificato in llClockStartOffset è l'ora di presentazione all'avvio dell'orologio, quindi è relativa all'inizio della presentazione. I sink multimediali non devono eseguire il rendering di dati con un'ora di presentazione precedente a llClockStartOffSet. Se un campione sposta l'offset, ovvero se l'offset è compreso tra l'ora di inizio e di arresto dell'esempio, il sink deve tagliare l'esempio in modo che venga eseguito il rendering solo dei dati dopo il rendering di llClockStartOffset oppure semplicemente eliminare l'esempio.

Requisiti

   
Client minimo supportato Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione mfidl.h
Libreria Mfuuid.lib

Vedi anche

IMFClockStateSink

MFTIME

Orologio presentazione