IDXGIOutputDuplication 인터페이스(dxgi1_2.h)

IDXGIOutputDuplication 인터페이스는 중복된 데스크톱 이미지에 액세스하고 조작합니다.

상속

IDXGIOutputDuplication 인터페이스는 IDXGIObject에서 상속됩니다. IDXGIOutputDuplication 에는 다음과 같은 유형의 멤버도 있습니다.

메서드

IDXGIOutputDuplication 인터페이스에는 이러한 메서드가 있습니다.

 
IDXGIOutputDuplication::AcquireNextFrame

애플리케이션이 다음 데스크톱 이미지를 처리할 준비가 되었음을 나타냅니다.
IDXGIOutputDuplication::GetDesc

중복된 출력에 대한 설명을 검색합니다. 이 설명은 바탕 화면 이미지를 포함하는 표면의 크기를 지정합니다.
IDXGIOutputDuplication::GetFrameDirtyRects

현재 데스크톱 프레임의 더티 사각형에 대한 정보를 가져옵니다.
IDXGIOutputDuplication::GetFrameMoveRects

현재 데스크톱 프레임의 이동된 사각형에 대한 정보를 가져옵니다.
IDXGIOutputDuplication::GetFramePointerShape

현재 데스크톱 프레임의 새 포인터 셰이프에 대한 정보를 가져옵니다.
IDXGIOutputDuplication::MapDesktopSurface

해당 데스크톱 이미지가 이미 시스템 메모리에 있는 경우 CPU에 데스크톱 이미지에 대한 효율적인 액세스를 제공합니다.
IDXGIOutputDuplication::ReleaseFrame

애플리케이션이 프레임 처리를 완료했음을 나타냅니다.
IDXGIOutputDuplication::UnMapDesktopSurface

IDXGIOutputDuplication::MapDesktopSurface를 사용하여 검색된 데스크톱 이미지에 대한 포인터를 무효화합니다.

설명

협업 애플리케이션은 IDXGIOutputDuplication 을 사용하여 데스크톱 이미지에 액세스할 수 있습니다. IDXGIOutputDuplication 은 비 8bpp DirectX 전체 화면 모드 및 8bpp가 아닌 OpenGL 전체 화면 모드의 DWM(데스크톱 창 관리자)에서 지원됩니다. 16비트 또는 32비트 GDI 비DWM 데스크톱 모드는 지원되지 않습니다.

애플리케이션은 별도의 스레드에서 IDXGIOutputDuplication 을 사용하여 데스크톱 이미지를 수신하고 특정 이미지 처리 파이프라인에 공급할 수 있습니다. 애플리케이션은 IDXGIOutputDuplication 을 사용하여 다음 작업을 수행합니다.

  1. 다음 데스크톱 이미지를 가져옵니다.
  2. 이미지를 설명하는 정보를 검색합니다.
  3. 이미지에 대한 작업을 수행합니다. 이 작업은 애플리케이션이 이미지의 픽셀 데이터를 읽을 수 있도록 이미지를 스테이징 버퍼에 복사하는 것만큼 간단할 수 있습니다. 애플리케이션이 IDXGISurface::Map을 호출한 후 애플리케이션은 픽셀 데이터를 읽습니다. 또는 이 작업이 더 복잡할 수 있습니다. 예를 들어 애플리케이션은 이미지의 업데이트된 영역에서 일부 픽셀 셰이더를 실행하여 클라이언트로 전송하기 위해 해당 지역을 인코딩할 수 있습니다.
  4. 애플리케이션은 각 데스크톱 이미지 처리를 완료한 후 이미지를 해제하고 1단계로 루프하고 단계를 반복합니다. 애플리케이션은 데스크톱 이미지 처리를 완료할 때까지 이러한 단계를 반복합니다.
운영 체제의 다음 구성 요소는 데스크톱 이미지를 생성할 수 있습니다.
  • 데스크톱 이미지를 작성하여 DWM
  • 전체 화면 DirectX 또는 OpenGL 애플리케이션
  • 별도의 데스크톱(예: 로그인 화면을 표시하는 데 사용되는 보안 데스크톱)으로 전환하여 애플리케이션
운영 체제가 데스크톱 이미지를 생성하는 다른 구성 요소로 전환하거나 모드 변경이 발생할 때 모든 현재 IDXGIOutputDuplication 인터페이스가 유효하지 않습니다. 이러한 상황에서 애플리케이션은 현재 IDXGIOutputDuplication 인터페이스를 삭제하고 새 IDXGIOutputDuplication 인터페이스를 만들어야 합니다.

IDXGIOutputDuplication이 유효하지 않은 상황의 예는 다음과 같습니다.

  • 데스크톱 스위치
  • 모드 변경
  • DWM 켜기, DWM 끄기 또는 기타 전체 화면 애플리케이션에서 전환
이러한 상황에서 애플리케이션은 IDXGIOutputDuplication 인터페이스를 해제해야 하며 새 콘텐츠에 대한 새 IDXGIOutputDuplication 인터페이스를 만들어야 합니다. 애플리케이션에 새 데스크톱 이미지에 대한 적절한 권한이 없는 경우 IDXGIOutput1::D uplicateOutput 메서드에 대한 호출이 실패합니다.

애플리케이션이 각 데스크톱 이미지를 처리하는 동안 운영 체제는 모든 데스크톱 이미지 업데이트를 단일 업데이트로 누적합니다. 데스크톱 업데이트에 대한 자세한 내용은 데스크톱 이미지 데이터 업데이트를 참조하세요.

데스크톱 이미지는 항상 DXGI_FORMAT_B8G8R8A8_UNORM 형식입니다.

Windows 스토어 앱에는 IDXGIOutputDuplication 인터페이스가 없습니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 8 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2012 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 dxgi1_2.h

추가 정보

DXGI 인터페이스

IDXGIObject