Поделиться через


Метод CBaseReferenceClock.AdviseTime

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]

Метод AdviseTime создает одноразовый запрос на консультирование. Этот метод реализует метод IReferenceClock::AdviseTime .

Синтаксис

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

Параметры

baseTime

Базовое эталонное время в единицах 100 наносекунд.

streamTime

Время смещения потока в единицах 100 наносекунд.

hEvent

Дескриптор события, созданного вызывающим.

pdwAdviseToken

Указатель на переменную, которая получает идентификатор для запроса на получение рекомендаций.

Возвращаемое значение

Возвращает одно из значений HRESULT , показанных в следующей таблице.

Код возврата Описание
S_OK
Успешное завершение
E_INVALIDARG
Недопустимые значения времени
E_OUTOFMEMORY
Failure
E_POINTER
Аргумент указателя NULL

Комментарии

Этот метод создает одноразовый запрос на получение рекомендаций для ссылочного времени baseTime + streamTime. Сумма должна быть больше нуля и меньше MAX_TIME, иначе метод возвращает E_INVALIDARG. В запрошенное время часы сигналит о событии, указанном в параметре hEvent .

Чтобы отменить уведомление до достижения времени, вызовите метод CBaseReferenceClock::Unadvise и передайте значение pdwAdviseToken , возвращенное этим вызовом. После получения уведомления часы автоматически очищают его, поэтому не нужно вызывать Unadvise. Однако это не является ошибкой.

Требования

Требование Значение
Заголовок
Refclock.h (включая Streams.h)
Библиотека
Strmbase.lib (розничные сборки);
Strmbasd.lib (отладочные сборки)

См. также раздел

Класс CBaseReferenceClock