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 끄기 또는 기타 전체 화면 애플리케이션에서 전환
- 호출 애플리케이션이 제공한 버퍼가 충분히 크지 않은지 DXGI_ERROR_MORE_DATA.
- 애플리케이션이 데스크톱 이미지를 소유하지 않고 GetFramePointerShape 라고 하는 경우 DXGI_ERROR_INVALID_CALL.
- getFramePointerShape에 대한 매개 변수 중 하나가 올바르지 않으면 E_INVALIDARG. 예를 들어 pPointerShapeInfo가 NULL인 경우 입니다.
- DXGI_ERROR 항목에 설명된 다른 오류 코드일 수 있습니다.
설명
GetFramePointerShape 는 pPointerShapeBufferSizeRequired의 변수에 크기 값을 저장합니다. 이 값은 pPointerShapeBufferSizeRequired 가 새 포인터 셰이프 픽셀 데이터를 저장하는 데 필요한 바이트 수를 지정합니다. 다음 상황에서 값을 사용하여 pPointerShapeBuffer에 전달하는 향후 버퍼에 할당할 메모리 양을 결정할 수 있습니다.
- 버퍼가 충분히 크지 않기 때문에 GetFramePointerShape가 DXGI_ERROR_MORE_DATA 실패합니다.
- GetFramePointerShape 는 필요한 것보다 큰 버퍼를 제공합니다. pPointerShapeBufferSizeRequired에서 반환된 크기 값은 호출자가 PointerShapeBufferSize 매개 변수에 할당하고 지정한 버퍼 공간과 비교하여 실제로 사용된 버퍼 공간의 양을 호출자에게 알릴 수 있습니다.
요구 사항
지원되는 최소 클라이언트 | Windows 8 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2012 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | dxgi1_2.h |
라이브러리 | Dxgi.lib |