Share via


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

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

구문

HRESULT GetFramePointerShape(
  [in]  UINT                            PointerShapeBufferSize,
  [out] void                            *pPointerShapeBuffer,
  [out] UINT                            *pPointerShapeBufferSizeRequired,
  [out] DXGI_OUTDUPL_POINTER_SHAPE_INFO *pPointerShapeInfo
);

매개 변수

[in] PointerShapeBufferSize

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

[out] pPointerShapeBuffer

GetFramePointerShape가 새 포인터 셰이프에 대한 픽셀 데이터를 복사하고 반환하는 버퍼에 대한 포인터입니다.

[out] pPointerShapeBufferSizeRequired

GetFramePointerShape가 pPointerShapeBuffer의 버퍼에 새 포인터 셰이프 픽셀 데이터를 저장하는 데 필요한 바이트 수를 수신하는 변수에 대한 포인터입니다.

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

[out] pPointerShapeInfo

포인터 셰이프 정보를 수신하는 DXGI_OUTDUPL_POINTER_SHAPE_INFO 구조체에 대한 포인터입니다.

반환 값

GetFramePointerShape 는 다음을 반환합니다.

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

설명

GetFramePointerShapepPointerShapeBufferSizeRequired의 변수에 크기 값을 저장합니다. 이 값은 pPointerShapeBufferSizeRequired 가 새 포인터 셰이프 픽셀 데이터를 저장하는 데 필요한 바이트 수를 지정합니다. 다음 상황에서 값을 사용하여 pPointerShapeBuffer에 전달하는 향후 버퍼에 할당할 메모리 양을 결정할 수 있습니다.

  • 버퍼가 충분히 크지 않기 때문에 GetFramePointerShape가 DXGI_ERROR_MORE_DATA 실패합니다.
  • GetFramePointerShape 는 필요한 것보다 큰 버퍼를 제공합니다. pPointerShapeBufferSizeRequired에서 반환된 크기 값은 호출자가 PointerShapeBufferSize 매개 변수에 할당하고 지정한 버퍼 공간과 비교하여 실제로 사용된 버퍼 공간의 양을 호출자에게 알릴 수 있습니다.
pPointerShapeInfo 매개 변수는 새 포인터 셰이프를 설명합니다.

요구 사항

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

추가 정보

IDXGIOutputDuplication