IMFByteStreamHandler::BeginCreateObject 方法 (mfidl.h)
开始异步请求以从字节流创建媒体源。
语法
HRESULT BeginCreateObject(
[in] IMFByteStream *pByteStream,
[in] LPCWSTR pwszURL,
[in] DWORD dwFlags,
[in] IPropertyStore *pProps,
[out] IUnknown **ppIUnknownCancelCookie,
[in] IMFAsyncCallback *pCallback,
[in] IUnknown *punkState
);
参数
[in] pByteStream
指向字节流的 IMFByteStream 接口的指针。
[in] pwszURL
包含字节流的原始 URL 的字符串。 此参数可以为 NULL。
[in] dwFlags
零个或多个标志的按位 OR。 请参阅 源冲突解决程序标志。
[in] pProps
指向属性 存储的 IPropertyStore 接口的指针。 字节流处理程序可以使用此属性存储来配置对象。 此参数可以为 NULL。 有关详细信息,请参阅 配置媒体源。
[out] ppIUnknownCancelCookie
接收 IUnknown 指针或值 NULL。 如果值不为 NULL,可以通过将此指针传递给 IMFByteStreamHandler::CancelObjectCreation 方法来取消异步操作。 调用方必须释放接口。 此参数可以为 NULL。
[in] pCallback
指向回调对象的 IMFAsyncCallback 接口的指针。 调用方必须实现此接口。
[in] punkState
指向状态对象的 IUnknown 接口的指针,由调用方定义。 此参数可以为 NULL。 可以使用此对象来保存状态信息。 调用回调时,对象将返回到调用方。
返回值
该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。
返回代码 | 说明 |
---|---|
|
方法成功。 |
|
无法分析字节流。 |
注解
dwFlags 参数必须包含 MF_RESOLUTION_MEDIASOURCE 标志,并且不应包含 MF_RESOLUTION_BYTESTREAM 标志。
字节流处理程序负责分析流和验证内容。 如果流无效或字节流处理程序无法分析流,则处理程序应返回失败代码。 不保证字节流与字节处理程序旨在分析的流类型匹配。
如果 pwszURL 参数不为 NULL,则字节流处理程序可能会在解析过程中使用该 URL。 (例如,它可能会使用文件扩展名,如果 present.) 此外,字节流可能包含指定 MIME 类型的 MF_BYTESTREAM_CONTENT_TYPE 属性。
操作完成后,字节流处理程序将调用 IMFAsyncCallback::Invoke 方法。 Invoke 方法应调用 IMFByteStreamHandler::EndCreateObject 以获取指向媒体源的指针。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2008 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | mfidl.h |
Library | Mfuuid.lib |