共用方式為


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 方法會將緩衝區複製到下向上格式。 下層格式與 GDI 相容,適用於未壓縮的 RGB 影像。 如果此參數為 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
程式庫 Evr.lib
Dll Evr.dll

另請參閱

DirectX Surface 緩衝區

媒體緩衝區

媒體基礎函式