共用方式為


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。 可能的值包括 (但不限於) 下表中的這些值。

傳回碼 描述
S_OK
此方法已成功。
MF_E_CANNOT_PARSE_BYTESTREAM
無法剖析位元組數據流。

備註

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

另請參閱

IMFByteStreamHandler

配置處理程式和 Byte-Stream 處理程式