다음을 통해 공유


VMRSurfaceAllocationFlags 열거형(strmif.h)

[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngineMedia Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 DirectShow 대신 MediaPlayer, IMFMediaEngine오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 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이 호출될 때 IVMRImagePresenter 인터페이스에서 PresentImage 메서드에 매개 변수로 전달된 지정된 DirectDraw Surface로 대칭 이동해야 합니다. 이 플래그에 대한 올바른 지원은 그래픽 드라이버에서 볼 수 있는 DXVA 버퍼와 동기화된 비디오 디코더에서 볼 수 있는 DXVA 버퍼를 유지하기 위해 매우 중요합니다.
AMAP_DXVA_TARGET
값: 0x20
이 표면이 DXVA 대상으로 사용됨을 나타냅니다.

설명

AMAP_3D_TARGET 시스템 메모리에서 3D 표면을 만들 수 없으므로 AMAP_FORCE_SYSMEM 또는 AMAP_ALLOW_SYSMEM 결합할 수 없습니다.

요구 사항

   
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
머리글 strmif.h(Dshow.h 포함)

추가 정보

DirectShow 열거형 형식

IVMRSurfaceAllocator::AllocateSurface