다음을 통해 공유


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를 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다.

반환 코드 Description
S_OK
메서드가 성공했습니다.
E_INVALIDARG
인수가 잘못되었습니다.

설명

이 함수는 punkSurface에 지정된 Direct3D 표면에 대한 포인터를 포함하는 미디어 버퍼 개체를 만듭니다. 버퍼를 잠그면 호출자가 Surface 메모리에 액세스할 수 있습니다. 버퍼 개체가 제거되면 표면이 해제됩니다. 미디어 버퍼에 대한 자세한 내용은 미디어 버퍼를 참조하세요.

참고 이 함수는 Direct3D 표면 자체를 할당하지 않습니다.
 
이 함수에서 만든 버퍼 개체는 IMF2DBuffer 인터페이스도 노출합니다. 자세한 내용은 DirectX Surface 버퍼를 참조하세요.

이 함수는 DXGI 표면을 지원하지 않습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 mfapi.h
라이브러리 Evr.lib
DLL Evr.dll

추가 정보

DirectX Surface 버퍼

미디어 버퍼

미디어 파운데이션 함수