IMFSinkWriter::GetServiceForStream 方法 (mfreadwrite.h)

查询接口的基础媒体接收器或编码器。

语法

HRESULT GetServiceForStream(
  [in]  DWORD   dwStreamIndex,
  [in]  REFGUID guidService,
  [in]  REFIID  riid,
  [out] LPVOID  *ppvObject
);

参数

[in] dwStreamIndex

要查询的流的从零开始的索引,或 MF_SINK_WRITER_MEDIASINK 查询媒体接收器本身。

[in] guidService

服务标识符 GUID 或 GUID_NULL。 如果值为 GUID_NULL,则 方法将调用 QueryInterface 以获取请求的接口。 否则,方法将调用 IMFGetService::GetService。 有关服务标识符的列表,请参阅 服务接口

[in] riid

接口标识符 (正在请求的接口的 IID) 。

[out] ppvObject

接收指向所请求接口的指针。 调用方必须释放接口。

返回值

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

如果 dwStreamIndex 参数等于 MF_SINK_WRITER_MEDIASINK,该方法将尝试从媒体接收器获取接口。 否则,它会尝试从位于指定索引处的流的编码器获取接口。 如果失败,或者不存在编码器,方法将尝试从媒体接收器上的流中获取接口。

如果接收器的输入和输出类型相同且经过压缩,则可能不需要编码,并且不会实例化视频编码器。 在这种情况下, GetServiceForStream 将返回MF_E_UNSUPPORTED_SERVICE。

如果安装了适用于 Windows Vista 的平台更新补充,则此接口在 Windows Vista 上可用。

要求

要求
最低受支持的客户端 适用于 Windows Vista 的 Windows 7、Windows Vista 和平台更新补充 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2008 R2 [桌面应用 |UWP 应用]
目标平台 Windows
标头 mfreadwrite.h

另请参阅

IMFSinkWriter

接收器编写器