IFilterGraph2::ReconnectEx 方法 (strmif.h)

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

方法 ReconnectEx 中断现有引脚连接,并使用指定的媒体类型将其重新连接到同一引脚。

应用程序不应调用此方法。 它在图形生成过程中由筛选器调用。

语法

HRESULT ReconnectEx(
  [in] IPin                *ppin,
  [in] const AM_MEDIA_TYPE *pmt
);

参数

[in] ppin

指向要断开连接和重新连接的引脚的指针。

[in] pmt

指向要重新连接的媒体类型的指针。 指定 NULL 以使用现有媒体类型。

返回值

返回 HRESULT 值。 可能的值包括以下值。

返回代码 说明
S_OK
成功。
S_FALSE
Pin 未连接。 无错误。
E_FAIL
失败。
E_POINTER
NULL 指针参数。
VFW_E_NOT_STOPPED
筛选器未停止,但在处于运行状态时不支持重新连接。

注解

筛选器可以调用此方法,以便重新协商引脚连接。 方法在单独的线程上执行。 在调用此方法之前,请在另一个引脚上调用 IPin::QueryAccept ,以确保重新连接尝试成功。 除非 QueryAccept 返回S_OK,否则不要调用此方法。 否则,由于重新连接是异步执行的,因此即使 ReconnectEx 方法成功,重新连接也可能失败,从而使筛选器图处于不一致状态。

此方法通过指定媒体类型改进了 IFilterGraph::Reconnect 方法。 这使得重新连接更有可能成功。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 strmif.h (包括 Dshow.h)
Library Strmiids.lib

另请参阅

错误和成功代码

IFilterGraph2 接口

重新连接 Pin