共用方式為


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

傳回碼 描述
S_OK
此方法已成功。
MF_E_SOURCERESOLVER_MUTUALLY_EXCLUSIVE_FLAGS
dwFlags參數包含互斥旗標。
MF_E_UNSUPPORTED_BYTESTREAM_TYPE
不支援位元組資料流程。
MF_E_BYTESTREAM_NOT_SEEKABLE
位元組資料流程不支援搜尋。

備註

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

另請參閱

IMFSourceResolver

來源解析程式