CDynamicOutputPin.AsynchronousBlockOutputPin 方法

[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayerIMFMediaEngine媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

方法 AsynchronousBlockOutputPin 阻止固定。 方法可能在阻止引脚之前返回。

语法

HRESULT AsynchronousBlockOutputPin(
   HANDLE hNotifyCallerPinBlockedEvent
);

参数

hNotifyCallerPinBlockedEvent

事件的句柄。 当输出引脚被阻止或调用方取消阻止操作时,将发出事件信号。

返回值

返回 HRESULT 值。 可能的值包括下表中显示的值。

返回代码 说明
S_OK
成功。
VFW_E_PIN_ALREADY_BLOCKED
固定已在另一个线程上被阻止。
VFW_E_PIN_ALREADY_BLOCKED_ON_THIS_THREAD
调用线程上已阻止 Pin。

备注

请勿从流式处理线程调用此方法。

如果没有流式处理线程正在使用引脚,此方法会立即阻止该引脚。 否则,它会将固定状态设置为“挂起”并返回 。 流式处理操作完成后,流式处理线程调用 CDynamicOutputPin::StopUsingOutputPin 方法,该方法会阻止引脚并发出 hNotifyCallerPinBlockedEvent 事件的信号。 若要取消挂起的块,请调用 CDynamicOutputPin::UnblockOutputPin 方法。

要求

要求
标头
Amfilter.h (包括 Streams.h)

Strmbase.lib (零售版本) ;
Strmbasd.lib (调试生成)

另请参阅

CDynamicOutputPin 类