Метод CBaseRenderer.GetState

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

Метод GetState извлекает состояние фильтров (выполняется, остановлено или приостановлено).

Синтаксис

HRESULT GetState(
   DWORD        dwMilliSecsTimeout,
   FILTER_STATE *State
);

Параметры

dwMilliSecsTimeout

Интервал времени ожидания в миллисекундах.

Состояние

Указатель на переменную, которая получает член перечисленного типа FILTER_STATE , указывая состояние фильтра.

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

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

Код возврата Описание
S_OK
Успешно.
VFW_S_STATE_INTERMEDIATE
Фильтр переходит в указанное состояние.
E_POINTER
Аргумент указателя NULL.

Комментарии

Этот метод переопределяет метод CBaseFilter::GetState . Когда отрисовщик приостановлен, он не завершает переход состояния, пока не получит образец для отрисовки. Если истекает время ожидания до завершения перехода состояния, метод возвращает VFW_S_STATE_INTERMEDIATE.

Требования

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

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

Класс CBaseRenderer