Compartilhar via


Interface IReferenceClock (strmif.h)

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

A IReferenceClock interface fornece o tempo de referência para o grafo de filtro.

Filtros que podem atuar como um relógio de referência podem expor essa interface. Ele também é exposto pelo Relógio de Referência do Sistema. O gerenciador de grafo de filtro usa essa interface para sincronizar o grafo de filtro. Os aplicativos podem usar essa interface para recuperar o tempo de referência atual ou para solicitar a notificação de um tempo decorrido.

Para obter mais informações, consulte Hora e relógios no DirectShow.

Filtrar desenvolvedores: Implemente essa interface se você estiver escrevendo um filtro que gere horários de relógio confiáveis. Por exemplo, os renderizadores de áudio implementam essa interface, pois as placas de som de áudio geralmente contêm um relógio de referência. Use a classe CBaseReferenceClock para implementar essa interface.

Para aumentar as chances de que um filtro não renderizado seja selecionado pelo Gerenciador de Grafo de Filtro como o fechamento da referência, siga estas etapas:

  1. Implemente IReferenceClock no filtro.
  2. Implemente IAMFilterMiscFlags no filtro.
  3. Retornar AM_FILTER_MISC_FLAGS_IS_SOURCE de IAMFilterMiscFlags::GetMiscFlags.
  4. Implemente IAMPushSource em todos os pinos de saída.
  5. Return (* pFlags) = 0 de IAMPushSource::GetPushSourceFlags.
  6. Você pode retornar E_NOTIMPL de todos os outros métodos IAMPushSource .

Herança

A interface IReferenceClock herda da interface IUnknown . IReferenceClock também tem estes tipos de membros:

Métodos

A interface IReferenceClock tem esses métodos.

 
IReferenceClock::AdvisePeriodic

O método AdvisePeriodic cria uma solicitação de aconselhamento periódica.
IReferenceClock::AdviseTime

O método AdviseTime cria uma solicitação de consultoria única.
IReferenceClock::GetTime

O método GetTime recupera a hora de referência atual.
IReferenceClock::Unadvise

O método Unadvise remove uma solicitação de consultoria pendente.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho strmif.h (inclua Dshow.h)