IGraphConfig::P ushThroughData 方法 (strmif.h)
[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayer、 IMFMediaEngine 和 媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
方法 PushThroughData
将数据通过筛选器图推送到指定的引脚。
语法
HRESULT PushThroughData(
[in] IPin *pOutputPin,
[in] IPinConnection *pConnection,
[in] HANDLE hEventAbort
);
参数
[in] pOutputPin
指向筛选器图中输出引脚 的 IPin 接口的指针。
[in] pConnection
指向筛选器图中输入引脚 的 IPinConnection 接口的指针。 此参数可以为 NULL。
[in] hEventAbort
事件的句柄。 如果调用方是在其数据处理线程之一上调用的筛选器,则此参数应是将筛选器置于停止状态时将发出信号的事件的句柄。 否则,此参数可以为 NULL。 有关详细信息,请参阅“备注”。
返回值
如果成功,则返回S_OK。 否则, 将返回一个错误代码,该值可能是下列值之一,或者未列出的其他值之一。
返回代码 | 说明 |
---|---|
|
未能分配必要的内存。 |
|
找不到候选输入引脚。 |
|
筛选器状态在操作期间发生更改。 |
备注
此方法通过任何挂起的数据,从指定的输出引脚向下推送到指定的输入引脚。 (可选)可以将输入引脚保留为未指定状态,让方法在筛选器图中搜索最佳候选项。 请勿从推送数据的线程中调用此方法。
如果筛选器在其自己的数据处理线程之一上调用此方法,则会造成死锁。 方法获取筛选器图上的锁,这可能会阻止筛选器在收到 对 IMediaFilter::Stop 的调用时停止。 为了防止这种情况,该方法采用筛选器提供的事件对象的句柄。 如果筛选器收到对其 Stop 方法的调用,则它应向事件发出信号。
要求
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | strmif.h (包括 Dshow.h) |
Library | Strmiids.lib |