IDXGIOutput1::D uplicateOutput 메서드(dxgi1_2.h)

어댑터 출력을 나타내는 IDXGIOutput1 인터페이스에서 데스크톱 중복 인터페이스를 만듭니다.

구문

HRESULT DuplicateOutput(
  [in]  IUnknown               *pDevice,
  [out] IDXGIOutputDuplication **ppOutputDuplication
);

매개 변수

[in] pDevice

데스크톱 이미지를 처리하는 데 사용할 수 있는 Direct3D 디바이스 인터페이스에 대한 포인터입니다. 이 디바이스는 출력이 연결된 어댑터에서 만들어야 합니다.

[out] ppOutputDuplication

IDXGIOutputDuplication 인터페이스를 수신하는 변수에 대한 포인터입니다.

반환 값

DuplicateOutput 은 다음을 반환합니다.

  • duplicateOutput이 데스크톱 중복 인터페이스를 성공적으로 만들었는지 S_OK.
  • 다음 이유 중 하나로 E_INVALIDARG.
    • 지정된 디바이스(pDevice)가 잘못되었거나 올바른 어댑터에서 만들어지지 않았거나 IDXGIFactory1(또는 IDXGIFactory1 에서 상속되는 DXGI 팩터리 인터페이스의 이후 버전)에서 만들어지지 않았습니다.
    • 호출하는 애플리케이션이 이미 이 데스크톱 출력을 복제하고 있습니다.
  • 애플리케이션에 현재 데스크톱 이미지에 대한 액세스 권한이 없는 경우 E_ACCESSDENIED. 예를 들어 LOCAL_SYSTEM 실행되는 애플리케이션만 보안 데스크톱에 액세스할 수 있습니다.
  • 생성된 IDXGIOutputDuplication 인터페이스가 현재 데스크톱 모드 또는 시나리오를 지원하지 않는 경우 DXGI_ERROR_UNSUPPORTED. 예를 들어 8bpp 및 비 DWM 데스크톱 모드는 지원되지 않습니다. DXGI_ERROR_UNSUPPORTED 함께 DuplicateOutput 이 실패하면 애플리케이션은 데스크톱 스위치 및 모드 변경에 대한 시스템 알림을 기다린 다음 이러한 알림이 발생한 후 DuplicateOutput 을 다시 호출할 수 있습니다. 자세한 내용은 EVENT_SYSTEM_DESKTOPSWITCH 및 모드 변경 알림(WM_DISPLAYCHANGE)을 참조하세요.
  • DXGI_ERROR_NOT_CURRENTLY_AVAILABLE DXGI가 최대 동시 중복 애플리케이션 수 제한(기본값 4)에 도달한 경우입니다. 따라서 호출하는 애플리케이션은 다른 애플리케이션이 닫히기 전까지 데스크톱 중복 인터페이스를 만들 수 없습니다.
  • 세션의 연결이 현재 끊어지므로 DuplicateOutput 이 실패하면 DXGI_ERROR_SESSION_DISCONNECTED.
  • 다른 오류 코드는 DXGI_ERROR 항목에 설명되어 있습니다.

Windows 7용 플랫폼 업데이트: Windows 7용 플랫폼 업데이트가 설치된 Windows 7 또는 Windows Server 2008 R2에서는 E_NOTIMPL 인해 DuplicateOutput 이 실패합니다. Windows 7용 플랫폼 업데이트에 대한 자세한 내용은 Windows 7용 플랫폼 업데이트를 참조하세요.

설명

애플리케이션이 전체 데스크톱을 복제하려는 경우 데스크톱의 각 활성 출력에 데스크톱 중복 인터페이스를 만들어야 합니다. 이 인터페이스는 각 출력 이미지의 타이밍을 동기화하는 명시적 방법을 제공하지 않습니다. 대신 애플리케이션은 각 출력의 타임스탬프를 사용한 다음 이미지를 결합하는 방법을 결정해야 합니다.

DuplicateOutput이 성공하려면 IDXGIFactory1 이상 버전의 IDXGIFactory1에서 상속되는 DXGI 팩터리 인터페이스의 pDevice를 만들어야 합니다.

현재 모드가 스테레오 모드인 경우 데스크톱 중복 인터페이스는 왼쪽 스테레오 이미지에 대한 이미지만 제공합니다.

기본적으로 4개의 프로세스만 단일 세션 내에서 동시에 IDXGIOutputDuplication 인터페이스를 사용할 수 있습니다. 프로세스에는 단일 데스크톱 출력에 하나의 데스크톱 중복 인터페이스만 있을 수 있습니다. 그러나 해당 프로세스에는 데스크톱의 일부인 각 출력에 대한 데스크톱 중복 인터페이스가 있을 수 있습니다.

성능 향상을 위해 DuplicateOutput1을 사용하는 것이 좋습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 windows 7용 Windows 8 및 플랫폼 업데이트 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 R2용 Windows Server 2012 및 플랫폼 업데이트 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 dxgi1_2.h
라이브러리 Dxgi.lib

추가 정보

DuplicateOutput1

IDXGIOutput1