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


Метод CDynamicOutputPin.Block

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

Метод Block блокирует или разблокирует поток данных из контакта. Этот метод реализует метод IPinFlowControl::Block .

Синтаксис

HRESULT Block(
   DWORD  dwBlockFlags,
   HANDLE hEvent
);

Параметры

dwBlockFlags

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

Ноль: разблокировка потока данных из закрепления.

AM_PIN_FLOW_CONTROL_BLOCK. Блокировка потока данных из закрепления.

hEvent

Дескриптор объекта события или NULL.

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

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

Код возврата Описание
S_FALSE
Закрепление уже разблокировано.
S_OK
Успешно.
E_INVALIDARG
Недопустимый аргумент.
VFW_E_PIN_ALREADY_BLOCKED
Закрепление уже заблокировано в другом потоке.
VFW_E_PIN_ALREADY_BLOCKED_ON_THIS_THREAD
Закрепление уже заблокировано в вызывающем потоке.

Комментарии

Дополнительные сведения об этом методе см. в разделе IPinFlowControl::Block. Для внутренних целей этот метод вызывает один из следующих защищенных методов:

Разблокировка всегда выполняется синхронно.

Требования

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

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

Класс CDynamicOutputPin