Metodo IMFClock::GetCorrelatedTime (mfidl.h)

Recupera l'ultima ora dell'orologio correlata all'ora di sistema.

Sintassi

HRESULT GetCorrelatedTime(
  [in]  DWORD    dwReserved,
  [out] LONGLONG *pllClockTime,
  [out] MFTIME   *phnsSystemTime
);

Parametri

[in] dwReserved

Riservato, deve essere zero.

[out] pllClockTime

Riceve l'ultima ora dell'orologio noto, in unità della frequenza dell'orologio.

[out] phnsSystemTime

Riceve l'ora di sistema corrispondente all'ora dell'orologio restituita in pllClockTime, in unità da 100 nanosecondi.

Valore restituito

Il metodo restituisce un HRESULT. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.

Codice restituito Descrizione
S_OK
Il metodo è riuscito.
MF_E_CLOCK_NO_TIME_SOURCE
L'orologio non ha un'origine temporale.

Commenti

A un intervallo fisso, un orologio correla i suoi tick di orologio interno con l'ora di sistema. Il tempo di sistema è il tempo restituito dal contatore delle prestazioni ad alta risoluzione. Questo metodo restituisce:

  • Ora dell'orologio più recente correlata all'ora di sistema.
  • Ora di sistema durante l'esecuzione della correlazione.
L'ora dell'orologio viene restituita nel parametro pllClockTime ed è espressa in unità della frequenza dell'orologio. Se il metodo FMClock::GetClockCharacteristics dell'orologio restituisce il flag MFCLOCK_CHARACTERISTICS_FLAG_FREQUENCY_10MHZ , la frequenza dell'orologio è 10 MHz (ogni segno di spunta del clock è 100 nanosecondi). In caso contrario, è possibile ottenere la frequenza dell'orologio chiamando FMClock::GetProperties. La frequenza viene specificata nel membro qwClockFrequency della struttura MFCLOCK_PROPERTIES restituita da tale metodo.

Il tempo di sistema viene restituito nel parametro phnsSystemTime ed è sempre espresso in 100-nanosecondi.

Per scoprire quanto spesso l'orologio correla l'ora dell'orologio con l'ora di sistema, chiamare GetProperties. L'intervallo di correlazione viene specificato nel membro qwCorrelationRate della struttura MFCLOCK_PROPERTIES . Se qwCorrelationRate è zero, significa che l'orologio esegue la correlazione ogni volta che viene chiamato GetCorrelationTime . In caso contrario, è possibile calcolare l'ora dell'orologio corrente tramite l'estrapolazione dall'ultima ora correlata.

Alcuni clock supportano le modifiche della frequenza tramite l'interfaccia FMRateControl . In tal caso, l'ora dell'orologio avanza a velocità di frequenza × frequenza corrente. Se un orologio non espone l'interfaccia FMRateControl , la frequenza è sempre 1,0.

Per l'orologio della presentazione, l'ora dell'orologio è l'ora di presentazione ed è sempre relativa all'ora di inizio specificata in FMPresentationClock::Start. È anche possibile ottenere l'ora di presentazione chiamando FMPresentationClock::GetTime.

Requisiti

Requisito Valore
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

FMIClock

MFTIME