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


Метод CBaseReferenceClock.AdvisePeriodic

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

Метод AdvisePeriodic создает периодический запрос на получение рекомендаций. Этот метод реализует метод IReferenceClock::AdvisePeriodic .

Синтаксис

HRESULT AdvisePeriodic(
   REFERENCE_TIME StartTime,
   REFERENCE_TIME PeriodTime,
   HSEMAPHORE     hSemaphore,
   DWORD_PTR      *pdwAdviseToken
);

Параметры

StartTime

Время первого уведомления в 100-наносекундных единицах. Значение должно быть больше нуля и меньше MAX_TIME.

PeriodTime

Время между уведомлениями в 100 наносекундных единицах. Должен быть больше нуля.

hSemaphore

Обработка семафора, созданного вызывающим элементом.

pdwAdviseToken

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

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

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

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

Комментарии

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

Требования

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

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

Класс CBaseReferenceClock