次の方法で共有


MFCreateDXSurfaceBuffer 関数 (mfapi.h)

Direct3D 9 サーフェスを管理するメディア バッファー オブジェクトを作成します。

構文

HRESULT MFCreateDXSurfaceBuffer(
  [in]  REFIID         riid,
  [in]  IUnknown       *punkSurface,
  [in]  BOOL           fBottomUpWhenLinear,
  [out] IMFMediaBuffer **ppBuffer
);

パラメーター

[in] riid

Direct3D 9 サーフェスの種類を識別します。 現在、この値は IID_IDirect3DSurface9する必要があります。

[in] punkSurface

DirectX サーフェスの IUnknown インターフェイスへのポインター。

[in] fBottomUpWhenLinear

TRUE の場合、バッファーの IMF2DBuffer::ContiguousCopyTo メソッドはバッファーをボトムアップ形式にコピーします。 ボトムアップ形式は、非圧縮 RGB イメージの GDI と互換性があります。 このパラメーターが FALSE の場合、 ContiguousCopyTo メソッドは、DirectX と互換性のあるトップダウン形式にバッファーをコピーします。

トップダウンイメージとボトムアップ画像の詳細については、「 Image Stride」を参照してください。

[out] ppBuffer

IMFMediaBuffer インターフェイスへのポインターを受け取ります。 呼び出し元はバッファーを解放する必要があります。

戻り値

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

リターン コード 説明
S_OK
メソッドが成功しました。
E_INVALIDARG
引数が無効です。

解説

この関数は、 punkSurface で指定された Direct3D サーフェスへのポインターを保持するメディア バッファー オブジェクトを作成します。 バッファーをロックすると、呼び出し元はサーフェス メモリにアクセスできます。 バッファー オブジェクトが破棄されると、サーフェスが解放されます。 メディア バッファーの詳細については、「メディア バッファー」を参照してください。

メモ この関数では、Direct3D サーフェス自体は割り当てられません。
 
この関数によって作成されたバッファー オブジェクトは、 IMF2DBuffer インターフェイスも公開します。 詳細については、「 DirectX Surface Buffer」を参照してください。

この関数は DXGI サーフェスをサポートしていません。

要件

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

こちらもご覧ください

DirectX Surface Buffer

メディア バッファー

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