다음을 통해 공유


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

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

구문

HRESULT GetFrameDirtyRects(
  [in]  UINT DirtyRectsBufferSize,
  [out] RECT *pDirtyRectsBuffer,
  [out] UINT *pDirtyRectsBufferSizeRequired
);

매개 변수

[in] DirtyRectsBufferSize

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

[out] pDirtyRectsBuffer

데스크톱 프레임의 더티 사각형 영역을 식별하는 RECT 구조체 배열에 대한 포인터입니다.

[out] pDirtyRectsBufferSizeRequired

GetFrameDirtyRects에서 버퍼의 더티 지역에 대한 정보를 pDirtyRectsBuffer에 저장해야 하는 바이트 수를 수신하는 변수에 대한 포인터입니다.

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

반환 값

GetFrameDirtyRects는 다음을 반환합니다.

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

설명

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

  • 버퍼가 충분히 크지 않기 때문에 GetFrameDirtyRects는 DXGI_ERROR_MORE_DATA 실패합니다.
  • GetFrameDirtyRects 는 필요한 것보다 큰 버퍼를 제공합니다. pDirtyRectsBufferSizeRequired에서 반환되는 크기 값은 호출자가 DirtyRectsBufferSize 매개 변수에 할당하고 지정한 버퍼 공간과 비교하여 실제로 사용된 버퍼 공간의 양을 호출자에게 알릴 수 있습니다.
호출자는 pDirtyRectsBufferSizeRequired에서 반환된 값을 사용하여 pDirtyRectsBuffer 배열에서 반환되는 RECT수를 확인할 수도 있습니다.

버퍼에는 현재 프레임에 대한 더티 RECT목록이 포함됩니다.

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

요구 사항

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

추가 정보

IDXGIOutputDuplication