Метод IPinFlowControl::Block (strmif.h)
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]
Метод Block
блокирует или разблокирует поток данных из контакта.
Синтаксис
HRESULT Block(
[in] DWORD dwBlockFlags,
[in] HANDLE hEvent
);
Параметры
[in] dwBlockFlags
Флаг, указывающий, следует ли блокировать или разблокировать закрепление. Необходимо установить одно из следующих значений.
- Ноль: разблокировка потока данных из закрепления.
- AM_PIN_FLOW_CONTROL_BLOCK. Блокировка потока данных из закрепления.
[in] hEvent
Дескриптор объекта события или NULL. Если этот параметр не равен NULL, метод является асинхронным и возвращается немедленно. Событие получает сигнал по завершении операции. Если этот параметр имеет значение NULL, метод является синхронным и не завершается, пока закрепление не будет заблокировано. Если dwBlockFlags равно нулю, этот параметр должен иметь значение NULL.
Возвращаемое значение
Возвращает значение HRESULT . Ниже приведены возможные значения.
Код возврата | Описание |
---|---|
|
Закрепление уже разблокировано. |
|
Успешно. |
|
Закрепление уже заблокировано в другом потоке. |
|
Закрепление уже заблокировано в вызывающем потоке. |
Комментарии
Этот метод может быть синхронным или асинхронным:
- Чтобы вызвать его асинхронно, используйте функцию CreateEvent для создания объекта события. Передайте дескриптор события в параметре hEvent . Метод возвращает немедленно и сообщает о событии после завершения операции. Вызовите функцию ожидания, например WaitForSingleObject , чтобы дождаться события.
- Чтобы вызвать этот метод синхронно, задайте для параметра hEventзначение NULL. Метод блокируется до завершения. Метод может не завершиться, пока контакт не будет готов к доставке примера. Если фильтр приостановлен, метод может блокироваться на неопределенный срок. Поэтому не следует вызывать этот метод синхронно из потока приложения main.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | strmif.h (включая Dshow.h) |
Библиотека | Strmiids.lib |