共用方式為


VMRSurfaceAllocationFlags 列舉 (strmif.h)

[與此頁面相關的功能 DirectShow是舊版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayerIMFMediaEngine音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。

VMRSurfaceAllocationFlags列舉會與IVMRSurfaceAllocator::AllocateSurface方法搭配使用,以指定表面建立參數。

Syntax

typedef enum VMRSurfaceAllocationFlags {
  AMAP_PIXELFORMAT_VALID = 0x1,
  AMAP_3D_TARGET = 0x2,
  AMAP_ALLOW_SYSMEM = 0x4,
  AMAP_FORCE_SYSMEM = 0x8,
  AMAP_DIRECTED_FLIP = 0x10,
  AMAP_DXVA_TARGET = 0x20
} ;

常數

 
AMAP_PIXELFORMAT_VALID
值: 0x1
指出 lpPxFmt 欄位包含應該用來建立 DirectDraw 表面的有效資料。
AMAP_3D_TARGET
值: 0x2
表示建立的 DirectDraw 表面也應該是使用 DDSCAPS_3DDEVICE 旗標集所建立的 Direct3D 轉譯目標。
AMAP_ALLOW_SYSMEM
值: 0x4
表示如果您無法在視訊記憶體中配置 DirectDraw 介面,您將嘗試配置系統記憶體 DirectDraw 介面。 (附注:您不應該配置 AGP 記憶體介面。)
AMAP_FORCE_SYSMEM
值: 0x8
強制在系統記憶體中建立介面。 如果您要在轉譯影像之前使用 GDI 來處理影像,請指定此值。 表面必須符合目前的監視器顯示格式, (圖元深度) 。
AMAP_DIRECTED_FLIP
值: 0x10
表示呼叫 Flip 時,您應該將 Flip 傳遞給IVMRImagePresenter介面中PresentImage方法的指定 DirectDraw Surface。 正確支援此旗標非常重要,以便讓視訊解碼器與圖形驅動程式看到的 DXVA 緩衝區保持同步。
AMAP_DXVA_TARGET
值: 0x20
表示此表面將作為 DXVA 目標使用。

備註

AMAP_3D_TARGET無法與AMAP_FORCE_SYSMEM或AMAP_ALLOW_SYSMEM結合,因為無法在系統記憶體中建立 3D 表面。

規格需求

   
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
標頭 strmif.h (包含 Dshow.h)

另請參閱

DirectShow 列舉型別

IVMRSurfaceAllocator::AllocateSurface