次の方法で共有


MFCreateLegacyMediaBufferOnMFMediaBuffer 関数 (mfapi.h)

Media Foundation メディア バッファーを DirectX メディア オブジェクト (DMU) と互換性のあるバッファーに変換します。

構文

HRESULT MFCreateLegacyMediaBufferOnMFMediaBuffer(
  IMFSample      *pSample,
  IMFMediaBuffer *pMFMediaBuffer,
  DWORD          cbOffset,
  IMediaBuffer   **ppMediaBuffer
);

パラメーター

pSample

Media Foundation バッファーを含むサンプルの IMFSample インターフェイスへのポインター。 このパラメーターは、NULL でもかまいません。

pMFMediaBuffer

Media Foundation バッファーの IMFMediaBuffer インターフェイスへのポインター。

cbOffset

Media Foundation バッファーの先頭からのバイト単位のオフセット。 このオフセットは、DMO バッファーの開始場所を定義します。 このパラメーターが 0 の場合、DMO バッファーは Media Foundation バッファーの先頭から開始されます。

ppMediaBuffer

IMediaBuffer インターフェイスへのポインターを受け取ります。 このインターフェイスは、DirectShow SDK のドキュメントに記載されています。 呼び出し元はインターフェイスを解放する必要があります。

戻り値

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

リターン コード 説明
S_OK
関数が正常に実行されました。
E_INVALIDARG
引数が無効です。 pIMFMediaBuffer パラメーターは NULL にすることはできません。

解説

この関数によって作成された DMO バッファーは、 IMFSample インターフェイスも公開します。 pIMFSampleNULL の場合、すべての IMFSample メソッドはMF_E_NOT_INITIALIZEDを返します。 それ以外の場合は、 pIMFSample ポインターを呼び出します。

pIMFMediaBuffer によって指定された Media Foundation バッファーが IMF2DBuffer インターフェイスを公開している場合、DMO バッファーも IMF2DBuffer を公開します。

要件

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

関連項目

IMF2DBuffer

IMFMediaBuffer

IMFSample

メディア バッファー

メディア ファンデーション機能