IMFSourceResolver::CreateObjectFromByteStream メソッド (mfidl.h)

バイト ストリームからメディア ソースを作成します。 このメソッドは同期的です。

構文

HRESULT CreateObjectFromByteStream(
  [in]  IMFByteStream  *pByteStream,
  [in]  LPCWSTR        pwszURL,
  [in]  DWORD          dwFlags,
  [in]  IPropertyStore *pProps,
  [out] MF_OBJECT_TYPE *pObjectType,
  [out] IUnknown       **ppObject
);

パラメーター

[in] pByteStream

バイト ストリームの IMFByteStream インターフェイスへのポインター。

[in] pwszURL

バイト ストリームの URL を含む Null で終わる文字列。 URL は省略可能であり、 NULL にすることができます。 詳細については、「解説」を参照してください。

[in] dwFlags

フラグのビットごとの OR「ソース リゾルバー フラグ」を参照してください。

[in] pProps

プロパティ ストアの IPropertyStore インターフェイスへのポインター。 メソッドは、プロパティ ストアをバイト ストリーム ハンドラーに渡します。 バイト ストリーム ハンドラーは、プロパティ ストアを使用してメディア ソースを構成できます。 このパラメーターは、NULL でもかまいません。 詳細については、「 メディア ソースの構成」を参照してください。

[out] pObjectType

作成されたオブジェクトの種類を指定して、 MF_OBJECT_TYPE 列挙体のメンバーを受け取ります。

[out] ppObject

メディア ソースの IUnknown インターフェイスへのポインターを受け取ります。 呼び出し元はインターフェイスを解放する必要があります。

戻り値

このメソッドは HRESULT を返します。 有効な値を次の表に示しますが、これ以外にもあります。

リターン コード 説明
S_OK
メソッドが成功しました。
MF_E_SOURCERESOLVER_MUTUALLY_EXCLUSIVE_FLAGS
dwFlags パラメーターには、相互に排他的なフラグが含まれています。
MF_E_UNSUPPORTED_BYTESTREAM_TYPE
このバイト ストリームはサポートされていません。

解説

dwFlags パラメーターには、MF_RESOLUTION_MEDIASOURCE フラグを含める必要があり、MF_RESOLUTION_BYTESTREAM フラグを含めてはなりません。

ソース リゾルバーは、URL のファイル名拡張子、またはバイト ストリームの MIME の種類 (またはその両方) に基づいて、バイト ストリームの 1 つ以上のバイト ストリーム ハンドラーを検索しようとします。 URL は省略可能な pwszURL パラメーターで指定され、MIME の種類はバイト ストリームの MF_BYTESTREAM_CONTENT_TYPE 属性で指定できます。 バイト ストリーム ハンドラーは、「 スキーム ハンドラーと Byte-Stream ハンドラー」で説明されているように、ファイル名拡張子または MIME の種類、またはその両方によって登録されます。 呼び出し元は、これらの値の少なくとも 1 つを指定する必要があります (可能な場合は両方とも)。

  • pwszURL パラメーターに URL を指定します。
  • バイト ストリームに MF_BYTESTREAM_CONTENT_TYPE 属性を設定して、MIME の種類を指定します。 (この属性は、バイト ストリームの作成方法に応じて、バイト ストリームの作成時に既に設定されている場合があります)。
メモ このメソッドをリモートで呼び出すことはできません。
 

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー mfidl.h
Library Mfuuid.lib

関連項目

IMFSourceResolver

ソース リゾルバー