IMFMediaSink::AddStreamSink 方法 (mfidl.h)

将新的流接收器添加到媒体接收器。

语法

HRESULT AddStreamSink(
  [in]  DWORD         dwStreamSinkIdentifier,
  [in]  IMFMediaType  *pMediaType,
  [out] IMFStreamSink **ppStreamSink
);

parameters

[in] dwStreamSinkIdentifier

新流的标识符。 该值是任意的,但必须是唯一的。

[in] pMediaType

指向 IMFMediaType 接口的指针,指定流的媒体类型。 此参数可以为 NULL。

[out] ppStreamSink

接收指向新流接收器的 IMFStreamSink 接口的指针。 调用方必须释放接口。

返回值

该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。

返回代码 说明
S_OK
方法成功。
MF_E_INVALIDSTREAMNUMBER
指定的流标识符无效。
MF_E_SHUTDOWN
已调用媒体接收器的 Shutdown 方法。
MF_E_STREAMSINK_EXISTS
已经有一个具有相同流标识符的流接收器。
MF_E_STREAMSINKS_FIXED
此媒体接收器具有一组固定的流接收器。 无法添加新的流接收器。

注解

并非所有媒体接收器都支持此方法。 如果媒体接收器不支持此方法, IMFMediaSink::GetCharacteristics 方法将返回MEDIASINK_FIXED_STREAMS标志。

如果 pMediaTypeNULL,请使用 IMFMediaTypeHandler 接口设置媒体类型。 调用 IMFStreamSink::GetMediaTypeHandler 以获取指向接口的指针。

要求

   
最低受支持的客户端 Windows Vista [桌面应用 | UWP 应用]
最低受支持的服务器 Windows Server 2008 [桌面应用 | UWP 应用]
目标平台 Windows
标头 mfidl.h
Library Mfuuid.lib

另请参阅

IMFMediaSink

媒体接收器