다음을 통해 공유


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

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

구문

HRESULT GetFrameMoveRects(
  [in]  UINT                   MoveRectsBufferSize,
  [out] DXGI_OUTDUPL_MOVE_RECT *pMoveRectBuffer,
  [out] UINT                   *pMoveRectsBufferSizeRequired
);

매개 변수

[in] MoveRectsBufferSize

호출자가 pMoveRectBuffer 매개 변수에 전달한 버퍼의 크기(바이트)입니다.

[out] pMoveRectBuffer

바탕 화면 프레임의 이동된 사각형 영역을 식별하는 DXGI_OUTDUPL_MOVE_RECT 구조체 배열에 대한 포인터입니다.

[out] pMoveRectsBufferSizeRequired

GetFrameMoveRectspMoveRectBuffer의 버퍼에 이동된 지역에 대한 정보를 저장해야 하는 바이트 수를 수신하는 변수에 대한 포인터입니다.

필요한 버퍼 크기를 반환하는 방법에 대한 자세한 내용은 비고를 참조하세요.

반환 값

GetFrameMoveRects는 다음을 반환합니다.

  • 이동된 사각형에 대한 정보를 성공적으로 검색했는지 S_OK.
  • 데스크톱 중복 인터페이스가 잘못된 경우 DXGI_ERROR_ACCESS_LOST. 데스크톱 중복 인터페이스는 일반적으로 바탕 화면에 다른 유형의 이미지가 표시될 때 유효하지 않습니다. 이 상황의 예는 다음과 같습니다.
    • 데스크톱 스위치
    • 모드 변경
    • DWM 켜기, DWM 끄기 또는 기타 전체 화면 애플리케이션에서 전환
    이 경우 애플리케이션은 IDXGIOutputDuplication 인터페이스를 해제하고 새 콘텐츠에 대한 새 IDXGIOutputDuplication 을 만들어야 합니다.
  • 호출 애플리케이션이 제공한 버퍼가 충분히 크지 않은지 DXGI_ERROR_MORE_DATA.
  • 애플리케이션이 데스크톱 이미지를 소유하지 않고 GetFrameMoveRects 라고 하는 경우 DXGI_ERROR_INVALID_CALL.
  • GetFrameMoveRects에 대한 매개 변수 중 하나가 잘못된지 E_INVALIDARG. 예를 들어 pMoveRectBuffer가 NULL인 경우입니다.
  • DXGI_ERROR 항목에 설명된 다른 오류 코드일 수 있습니다.

설명

GetFrameMoveRects는pMoveRectsBufferSizeRequired의 변수에 크기 값을 저장합니다. 이 값은 GetFrameMoveRects 에서 이동된 지역에 대한 정보를 저장하는 데 필요한 바이트 수를 지정합니다. 다음 상황에서 이 값을 사용하여 pMoveRectBuffer에 전달하는 이후 버퍼에 할당할 메모리 양을 결정할 수 있습니다.

  • 버퍼가 충분히 크지 않기 때문에 getFrameMoveRects는 DXGI_ERROR_MORE_DATA 함께 실패합니다.
  • GetFrameMoveRects는 필요 이상으로 큰 버퍼를 제공합니다. pMoveRectsBufferSizeRequired에서 반환되는 크기 값은 호출자가 MoveRectsBufferSize 매개 변수에 할당하고 지정한 버퍼 공간과 비교하여 실제로 사용된 버퍼 공간의 양을 호출자에게 알릴 수 있습니다.
호출자는 pMoveRectsBufferSizeRequired 에서 반환된 값을 사용하여 반환된 DXGI_OUTDUPL_MOVE_RECT 구조체의 수를 확인할 수도 있습니다.

버퍼에는 현재 프레임의 이동 RECT 목록이 포함됩니다.

참고 시각적으로 정확한 데스크톱 복사본을 생성하려면 애플리케이션이 먼저 모든 이동 RECT를 처리한 후 더티 RECT를 처리해야 합니다.
 

요구 사항

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

추가 정보

IDXGIOutputDuplication