Share via


IDXGIOutputDuplication::AcquireNextFrame 메서드(dxgi1_2.h)

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

구문

HRESULT AcquireNextFrame(
  [in]  UINT                    TimeoutInMilliseconds,
  [out] DXGI_OUTDUPL_FRAME_INFO *pFrameInfo,
  [out] IDXGIResource           **ppDesktopResource
);

매개 변수

[in] TimeoutInMilliseconds

제한 시간 간격(밀리초)입니다. 이 간격은 이 메서드가 호출자에게 반환되기 전에 새 프레임을 기다리는 시간을 지정합니다. 이 메서드는 간격이 경과하고 새 데스크톱 이미지를 사용할 수 없는 경우 를 반환합니다.

제한 시간 간격에 대한 자세한 내용은 비고를 참조하세요.

[out] pFrameInfo

프레임의 타이밍 및 프레젠테이션 통계를 설명하는 DXGI_OUTDUPL_FRAME_INFO 구조를 수신하는 메모리 위치에 대한 포인터입니다.

[out] ppDesktopResource

데스크톱 비트맵을 포함하는 표면의 IDXGIResource 인터페이스를 수신하는 변수에 대한 포인터입니다.

반환 값

AcquireNextFrame 은 다음을 반환합니다.

  • 다음 데스크톱 이미지를 성공적으로 수신했는지 S_OK.
  • 데스크톱 중복 인터페이스가 잘못된 경우 DXGI_ERROR_ACCESS_LOST. 데스크톱 중복 인터페이스는 일반적으로 바탕 화면에 다른 유형의 이미지가 표시될 때 유효하지 않습니다. 이 상황의 예는 다음과 같습니다.
    • 데스크톱 스위치
    • 모드 변경
    • DWM 켜기, DWM 끄기 또는 기타 전체 화면 애플리케이션에서 전환
    이 경우 애플리케이션은 IDXGIOutputDuplication 인터페이스를 해제하고 새 콘텐츠에 대한 새 IDXGIOutputDuplication 을 만들어야 합니다.
  • DXGI_ERROR_WAIT_TIMEOUT 다음 데스크톱 프레임을 사용할 수 있게 되기 전에 시간 제한 간격이 경과된 경우입니다.
  • 애플리케이션이 이전 프레임을 해제하지 않고 AcquireNextFrame 이라고 하는 경우 DXGI_ERROR_INVALID_CALL.
  • acquireNextFrame에 대한 매개 변수 중 하나가 올바르지 않으면 E_INVALIDARG. 예를 들어 pFrameInfo가 NULL인 경우 입니다.
  • DXGI_ERROR 항목에 설명된 다른 오류 코드일 수 있습니다.

설명

AcquireNextFrame이 성공적으로 반환되면 호출 애플리케이션은 ppDesktopResource의 변수에서 AcquireNextFrame이 반환하는 데스크톱 이미지에 액세스할 수 있습니다. 호출자가 TimeoutInMilliseconds 매개 변수에서 시간 제한 간격을 0으로 지정하는 경우 AcquireNextFrame 은 사용할 수 있는 새 데스크톱 이미지가 있는지 확인하고, 즉시 반환하고, 반환 값으로 결과를 나타냅니다. 호출자가 TimeoutInMilliseconds 매개 변수에서 INFINITE 제한 시간 간격을 지정하는 경우 제한 시간 간격은 경과되지 않습니다.

참고TimeoutInMilliseconds 매개 변수에 지정한 대기를 취소할 수 없습니다. 따라서 다른 조건(예: 종료 신호)에 대해 주기적으로 검사 경우 무한이 아닌 시간 제한 간격을 지정해야 합니다. 제한 시간 간격이 경과한 후 이러한 다른 조건에 대해 검사 다음 AcquireNextFrame을 다시 호출하여 다음 프레임을 기다릴 수 있습니다.
 
AcquireNextFrame 은 운영 체제가 데스크톱 비트맵 이미지를 업데이트하거나 하드웨어 포인터의 모양이나 위치를 변경할 때 새 데스크톱 프레임을 가져옵니다. AcquireNextFrame이 획득하는 새 프레임에는 데스크톱 이미지만 업데이트되거나 포인터 모양이나 위치만 업데이트되거나 둘 다 업데이트될 수 있습니다.

요구 사항

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

추가 정보

IDXGIOutputDuplication