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


Метод CBaseReferenceClock.GetTime

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

Метод GetTime извлекает текущее время ссылки. Этот метод реализует метод IReferenceClock::GetTime .

Синтаксис

HRESULT GetTime(
   REFERENCE_TIME *pTime
);

Параметры

pTime

Указатель на переменную, которая получает текущее время в 100-наносекундных единицах.

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

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

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

Комментарии

Этот метод вызывает метод CBaseReferenceClock::GetPrivateTime для определения времени в режиме реального времени. Если время часов строго больше предыдущего значения, GetTime использует время и возвращает S_OK. В противном GetTime случае использует предыдущее значение и возвращает S_FALSE. Таким образом, внутренние часы могут работать в обратном направлении в течение короткого периода, не вызывая обратный запуск ссылочного времени. Вместо этого время ссылки будет "застопоряться" на том же значении, пока внутренние часы не наверстят упущение.

Требования

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

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

Класс CBaseReferenceClock