CBasePin.Connect 方法

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

方法 Connect 将引脚连接到另一个引脚。 此方法实现 IPin::Connect 方法。

语法

HRESULT Connect(
         IPin          *pReceivePin,
   const AM_MEDIA_TYPE *pmt
);

参数

pReceivePin

指向接收引脚的 IPin 接口的指针。

Pmt

指向 AM_MEDIA_TYPE 结构的指针,该结构指定连接的媒体类型。

返回值

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

返回代码 说明
S_OK
成功。
VFW_E_ALREADY_CONNECTED
引脚已连接。
VFW_E_NO_ACCEPTABLE_TYPES
找不到可接受的媒体类型。
VFW_E_NOT_STOPPED
筛选器处于活动状态,并且引脚不支持动态重新连接。
VFW_E_TYPE_NOT_ACCEPTED
指定的媒体类型是不能接受的。

备注

pmt 参数可以为 NULL。 它还可以指定部分媒体类型,主要类型、子类型或格式的值为 GUID_NULL。

在基类中,此方法测试引脚是否已连接以及筛选器是否已停止。 它将连接过程的其余部分委托给 CBasePin::AgreeMediaType 方法。

要求

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

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

另请参阅

CBasePin 类