Partilhar via


Método CBaseReferenceClock.AdviseTime

[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.]

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

Sintaxe

HRESULT AdviseTime(
   REFERENCE_TIME baseTime,
   REFERENCE_TIME streamTime,
   HEVENT         hEvent,
   DWORD_PTR      *pdwAdviseToken
);

Parâmetros

baseTime

Tempo de referência base, em unidades de 100 nanossegundos.

streamTime

Tempo de deslocamento de fluxo, em unidades de 100 nanossegundos.

hEvent

Identificador para um evento, criado pelo chamador.

pdwAdviseToken

Ponteiro para uma variável que recebe um identificador para a solicitação de consultoria.

Retornar valor

Retorna um dos valores HRESULT mostrados na tabela a seguir.

Código de retorno Descrição
S_OK
Êxito
E_INVALIDARG
Valores de tempo inválidos
E_OUTOFMEMORY
Falha
E_POINTER
Argumento de ponteiro NULL

Comentários

Esse método cria uma solicitação de consultoria única para o tempo de referência baseTime + streamTime. A soma deve ser maior que zero e menor que MAX_TIME ou o método retorna E_INVALIDARG. No momento solicitado, o relógio sinaliza o evento especificado no parâmetro hEvent .

Para cancelar a notificação antes que a hora seja atingida, chame o método CBaseReferenceClock::Unadvise e passe o valor pdwAdviseToken retornado dessa chamada. Depois que a notificação ocorre, o relógio a limpa automaticamente, portanto, não é necessário chamar Unadvise. No entanto, não é um erro fazer isso.

Requisitos

Requisito Valor
parâmetro
Refclock.h (inclua Streams.h)
Biblioteca
Strmbase.lib (builds de varejo);
Strmbasd.lib (builds de depuração)

Confira também

Classe CBaseReferenceClock