IMFSourceResolver::BeginCreateObjectFromByteStream 方法 (mfidl.h)
開始非同步要求,以從位元組資料流程建立媒體來源。
語法
HRESULT BeginCreateObjectFromByteStream(
[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
以 Null 結束的字串,其中包含位元組資料流程的原始 URL。 此參數可以是 Null。
[in] dwFlags
一或多個旗標的位 OR 。 請參閱 來源解析程式旗標。
[in] pProps
屬性存放區 之 IPropertyStore 介面的指標。 方法會將屬性存放區傳遞至位元組資料流程處理常式。 位元組資料流程處理常式可以使用屬性存放區來設定媒體來源。 此參數可以是 Null。 如需詳細資訊,請參閱 設定媒體來源。
[out] ppIUnknownCancelCookie
接收 IUnknown 指標或 Null值。 如果此值不是 Null,您可以將這個指標傳遞至 IMFSourceResolver::CancelObjectCreation 方法,以取消非同步作業。 呼叫端必須釋放 介面。 此參數可以是 Null。
[in] pCallback
回 呼物件的 IMFAsyncCallback 介面指標。 呼叫端必須實作這個介面。
[in] punkState
狀態物件的 IUnknown 介面指標,由呼叫端定義。 此參數可以是 Null。 您可以使用這個物件來保存狀態資訊。 叫用回呼時,物件會傳回給呼叫端。
傳回值
方法會傳回 HRESULT。 可能的值包括 (但不限於) 下表中的這些值。
傳回碼 | 描述 |
---|---|
|
此方法已成功。 |
|
dwFlags參數包含互斥旗標。 |
|
不支援位元組資料流程。 |
|
位元組資料流程不支援搜尋。 |
備註
dwFlags參數必須包含MF_RESOLUTION_MEDIASOURCE旗標,且不應包含MF_RESOLUTION_BYTESTREAM旗標。
來源解析程式會根據 URL 的副檔名或位元組資料流程的 MIME 類型,嘗試尋找一或多個位元組 (資料流程處理常式,或) 的 MIME 類型。 URL 是在選擇性 pwszURL 參數中指定,而 MIME 類型可以在位元組資料流程的 MF_BYTESTREAM_CONTENT_TYPE 屬性中指定。 位元組資料流程處理常式會依副檔名或 MIME 類型或兩者進行註冊,如 配置處理常式和 Byte-Stream 處理常式中所述。 呼叫端應該至少指定其中一個值。
當作業完成時,來源解析程式會呼叫 IMFAsyncCallback::Invoke 方法。 Invoke方法應該呼叫IMFSourceResolver::EndCreateObjectFromByteStream以取得媒體來源的指標。
需求
最低支援的用戶端 | Windows Vista [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2008 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | mfidl.h |
程式庫 | Mfuuid.lib |