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


Метод CBaseMediaFilter.GetState

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

Метод GetState извлекает состояние объекта (выполняется, остановлено или приостановлено). Этот метод реализует метод IMediaFilter::GetState .

Синтаксис

HRESULT GetState(
   DWORD        dwMilliSecsTimeout,
   FILTER_STATE *State
);

Параметры

dwMilliSecsTimeout

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

Состояние

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

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

Возвращает S_OK или E_POINTER.

Комментарии

В базовом классе все переходы состояния синхронны, а параметр dwMilliSecsTimeout игнорируется. Если производный класс выполняет асинхронные переходы состояния, он должен переопределить этот метод для ожидания во время перехода состояния с истечением времени ожидания dwMilliSecsTimeout миллисекунд .

Требования

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

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

Класс CBaseMediaFilter