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


Метод IReferenceClock::AdviseTime (strmif.h)

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

Метод AdviseTime создает однократный запрос на получение рекомендаций.

Синтаксис

HRESULT AdviseTime(
  [in]  REFERENCE_TIME baseTime,
  [in]  REFERENCE_TIME streamTime,
  [in]  HEVENT         hEvent,
  [out] DWORD_PTR      *pdwAdviseCookie
);

Параметры

[in] baseTime

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

[in] streamTime

Stream время смещения в 100 наносекундных единицах. См. заметки.

[in] hEvent

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

[out] pdwAdviseCookie

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

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

Возвращает значение HRESULT . Ниже приведены возможные значения.

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

Комментарии

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

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

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header strmif.h (включая Dshow.h)
Библиотека Strmiids.lib

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

Коды ошибок и успешного выполнения

Интерфейс IReferenceClock