Método IMFClock::GetCorrelatedTime (mfidl.h)
Recupera a hora do último relógio correlacionada com a hora do sistema.
Sintaxe
HRESULT GetCorrelatedTime(
[in] DWORD dwReserved,
[out] LONGLONG *pllClockTime,
[out] MFTIME *phnsSystemTime
);
Parâmetros
[in] dwReserved
Reservado, precisa ser zero.
[out] pllClockTime
Recebe a hora do último relógio conhecido, em unidades da frequência do relógio.
[out] phnsSystemTime
Recebe a hora do sistema que corresponde à hora do relógio retornada em pllClockTime, em unidades de 100 nanossegundos.
Retornar valor
O método retorna um HRESULT. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir.
Código de retorno | Descrição |
---|---|
|
O método foi bem-sucedido. |
|
O relógio não tem uma fonte de tempo. |
Comentários
Em algum intervalo fixo, um relógio correlaciona seus tiques de relógio internos com a hora do sistema. (A hora do sistema é a hora retornada pelo contador de desempenho de alta resolução.) Esse método retorna:
- A hora mais recente do relógio correlacionada com a hora do sistema.
- A hora do sistema em que a correlação foi executada.
A hora do sistema é retornada no parâmetro phnsSystemTime e sempre é expressa em unidades de 100 nanossegundos.
Para descobrir com que frequência o relógio correlaciona o horário do relógio com a hora do sistema, chame GetProperties. O intervalo de correlação é fornecido no membro qwCorrelationRate da estrutura MFCLOCK_PROPERTIES . Se qwCorrelationRate for zero, isso significa que o relógio executa a correlação sempre que GetCorrelatedTime é chamado. Caso contrário, você pode calcular a hora atual do relógio extrapolando a partir da última hora correlacionada.
Alguns relógios dão suporte a alterações de taxa por meio da interface IMFRateControl . Nesse caso, o tempo do relógio avança a uma velocidade de frequência × taxa atual. Se um relógio não expor a interface IMFRateControl , a taxa será sempre de 1,0.
Para o relógio de apresentação, a hora do relógio é a hora da apresentação e é sempre relativa à hora de início especificada em IMFPresentationClock::Start. Você também pode obter o tempo de apresentação chamando IMFPresentationClock::GetTime.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | mfidl.h |
Biblioteca | Mfuuid.lib |