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