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 緩衝區

媒體緩衝區

媒體基礎函式