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 |