다음을 통해 공유


IDCompositionSurfaceFactory::CreateVirtualSurface 메서드(dcomp.h)

컴퍼지션을 위해 하나 이상의 시각적 개체와 연결할 수 있는 채우기가 거의 없는 표면을 만듭니다.

구문

HRESULT CreateVirtualSurface(
  [in]  UINT                        initialWidth,
  [in]  UINT                        initialHeight,
  [in]  DXGI_FORMAT                 pixelFormat,
  [in]  DXGI_ALPHA_MODE             alphaMode,
  [out] IDCompositionVirtualSurface **virtualSurface
);

매개 변수

[in] initialWidth

표면의 너비(픽셀)입니다. 최대 너비는 16,777,216픽셀입니다.

[in] initialHeight

표면의 높이(픽셀)입니다. 최대 높이는 16,777,216픽셀입니다.

[in] pixelFormat

표면의 픽셀 형식입니다.

[in] alphaMode

알파 채널이 픽셀 형식에 포함된 경우 알파 채널의 형식입니다. DXGI_ALPHA_MODE_PREMULTIPLIED 또는 DXGI_ALPHA_MODE_IGNORE 중 하나일 수 있습니다. DXGI_ALPHA_MODE_IGNORE 해석되는 DXGI_ALPHA_MODE_UNSPECIFIED 수도 있습니다.

[out] virtualSurface

새로 만든 가상 표면 개체입니다. 이 매개 변수는 NULL이 아니어야 합니다.

반환 값

함수가 성공하면 S_OK를 반환합니다. 그러지 않으면 HRESULT 오류 코드를 반환합니다. 오류 코드 목록은 DirectComposition 오류 코드를 참조하세요.

설명

새로 만든 가상 표면 개체가 초기화되지 않은 상태입니다. 초기화되지는 않았지만 표면은 시각적 트리의 컴퍼지션에 영향을 주지 않습니다. 100% 투명 픽셀로 초기화된 표면과 똑같이 동작합니다.

픽셀 데이터를 사용하여 표면을 초기화하려면 IDCompositionSurface::BeginDraw 메서드를 사용합니다. 이 메서드는 표면에 픽셀을 제공 할뿐만 아니라 해당 픽셀에 대한 실제 저장 공간을 할당합니다. 메모리 할당은 애플리케이션이 일부 메모리를 시스템에 반환할 때까지 유지됩니다. 애플리케이션은 IDCompositionVirtualSurface::Trim 또는 IDCompositionVirtualSurface::Resize 메서드를 호출하여 할당된 메모리의 일부 또는 전부를 해제할 수 있습니다.

Microsoft DirectComposition 표면은 다음 픽셀 형식을 지원합니다.

  • DXGI_FORMAT_B8G8R8A8_UNORM
  • DXGI_FORMAT_R8G8B8A8_UNORM
  • DXGI_FORMAT_R16G16B16A16_FLOAT

요구 사항

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

추가 정보

IDCompositionDevice2::CreateSurface

IDCompositionDevice2::CreateVirtualSurface

IDCompositionSurfaceFactory

IDCompositionSurfaceFactory::CreateVirtualSurface