다음을 통해 공유


IDCompositionDevice2::CreateSurfaceFactory 메서드(dcomp.h)

다른 DirectComposition 표면 또는 가상 표면 개체를 만드는 데 사용할 수 있는 Microsoft DirectComposition Surface 팩터리 개체를 만듭니다.

구문

HRESULT CreateSurfaceFactory(
  [in]  IUnknown                    *renderingDevice,
  [out] IDCompositionSurfaceFactory **surfaceFactory
);

매개 변수

[in] renderingDevice

DirectComposition 표면 개체를 만드는 데 사용할 DirectX 디바이스에 대한 포인터입니다. IDXGIDevice 또는 ID2D1Device 인터페이스를 구현하는 개체에 대한 포인터여야 합니다. 이 매개 변수는 NULL이 아니어야 합니다.

[out] surfaceFactory

새로 만든 Surface 팩터리 개체입니다. 이 매개 변수는 NULL이 아니어야 합니다.

반환 값

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

설명

Surface 팩터리를 사용하면 애플리케이션이 DirectComposition과 함께 둘 이상의 단일 DXGI 또는 Direct2D 디바이스를 동시에 사용할 수 있습니다. 각 Surface 팩터리는 하나의 DXGI 또는 Direct2D 디바이스와 영구적으로 연결되지만 DirectComposition 디바이스에는 표면 팩터리 수가 없을 수 있습니다.

각 Surface 팩터리는 다른 표면 팩터리와 독립적으로 리소스를 관리합니다. 특히 DirectComposition 풀은 표면 할당 및 할당 취소 비용을 완화하기 위해 할당을 표면화합니다. 이 풀은 표면별 팩터리 기준으로 수행됩니다.

DCompositionCreateDevice2 함수가 NULL이 아닌 renderingDevice 매개 변수를 사용하여 호출되는 경우 반환된 DirectComposition 디바이스 개체는 지정된 렌더링 디바이스와 연결된 커버 아래에 암시적 표면 팩터리를 가집니다. 이 암시적 표면 팩터리는 IDCompositionDevice::CreateSurface, IDCompositionDevice::CreateVirtualSurface, IDCompositionDevice2::CreateSurfaceIDCompositionDevice2::CreateVirtualSurface 메서드를 서비스하는 데 사용됩니다.

응용 프로그램이 직접 참조를 보유하기 때문에 직접 또는 하나 이상의 이러한 표면이 하나 이상의 시각적 개체와 연결되어 있기 때문에 표면 개체가 생성된 표면이나 가상 표면이 활성 상태로 유지되는 한 표면 개체는 활성 상태로 유지됩니다.

요구 사항

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

추가 정보

IDCompositionDevice2

IDCompositionDevice2::CreateSurface

IDCompositionDevice2::CreateVirtualSurface