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


Метод ICaptureGraphBuilder::ControlStream (strmif.h)

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

Примечание Интерфейс ICaptureGraphBuilder является устаревшим. Вместо этого используйте ICaptureGraphBuilder2 .
 
Отправляет сообщения управления потоком в контакт указанной категории в одном или нескольких фильтрах захвата в графе.

Синтаксис

HRESULT ControlStream(
  [in] const GUID     *pCategory,
  [in] IBaseFilter    *pFilter,
  [in] REFERENCE_TIME *pstart,
  [in] REFERENCE_TIME *pstop,
  [in] WORD           wStartCookie,
  [in] WORD           wStopCookie
);

Параметры

[in] pCategory

Указатель на GUID , указывающий категорию выходного закрепления. Список всех категорий закрепления см. в разделе Набор свойств закрепления. Это значение не может иметь значение NULL.

[in] pFilter

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

[in] pstart

Указатель на время начала записи. NULL означает , что начать сейчас. MAX_TIME означает отмену предыдущего запроса или отсутствие действий, если предыдущий запрос отсутствует.

[in] pstop

Указатель на время остановки записи. NULL означает , что остановить сейчас. MAX_TIME означает отмену предыдущего запроса или отсутствие действий, если предыдущий запрос отсутствует.

[in] wStartCookie

Указывает определенное значение, которое будет отправлено при запуске.

[in] wStopCookie

Указывает определенное значение, которое будет отправлено при остановке.

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

Возвращает S_FALSE, если уведомление о остановке отправляется до отрисовки последнего примера, отправленного фильтром отслеживания, в противном случае возвращает S_OK.

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

Если нет контактов, соответствующих описанию, или управление потоком не поддерживается для всех указанных контактов, эта функция вернет код сбоя.

Комментарии

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

Этот метод использует интерфейс IAMStreamControl на контактах.

Этот метод отправляет одно уведомление для каждого найденного фильтра с закреплением указанной категории.

Требования

   
Целевая платформа Windows
Header strmif.h (включая Dshow.h)

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

Коды ошибок и успешности

Интерфейс ICaptureGraphBuilder