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.) 此外,位元組數據流可能包含 MF_BYTESTREAM_CONTENT_TYPE 屬性,並指定 MIME 類型。
當作業完成時,位元組數據流處理程式會呼叫 IMFAsyncCallback::Invoke 方法。 Invoke 方法應該呼叫 IMFByteStreamHandler::EndCreateObject 以取得媒體來源的指標。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2008 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | mfidl.h |
程式庫 | Mfuuid.lib |