IDXGIFactoryMedia::CreateDecodeSwapChainForCompositionSurfaceHandle 메서드(dxgi1_3.h)
기존 DirectComposition 표면 핸들에 대한 YUV 스왑 체인을 만듭니다. 스왑 체인은 기존 버퍼를 사용하여 만들어지고 설명 요소가 거의 필요하지 않습니다. 대신 이 메서드를 사용하려면 디코딩된 프레임 데이터를 저장하려면 DirectComposition 표면 핸들과 IDXGIResource 버퍼가 필요합니다. 스왑 체인 형식은 IDXGIResource의 하위 리소스 형식에 따라 결정됩니다.
구문
HRESULT CreateDecodeSwapChainForCompositionSurfaceHandle(
[in] IUnknown *pDevice,
[in, optional] HANDLE hSurface,
[in] DXGI_DECODE_SWAP_CHAIN_DESC *pDesc,
[in] IDXGIResource *pYuvDecodeBuffers,
[in, optional] IDXGIOutput *pRestrictToOutput,
[out] IDXGIDecodeSwapChain **ppSwapChain
);
매개 변수
[in] pDevice
스왑 체인의 Direct3D 디바이스에 대한 포인터입니다. 이 매개 변수는 NULL일 수 없습니다. D3D_DRIVER_TYPE_REFERENCE 같은 소프트웨어 드라이버는 컴퍼지션 스왑 체인에 대해 지원되지 않습니다.
[in, optional] hSurface
기존 DirectComposition 표면에 대한 핸들입니다. 이 매개 변수는 NULL일 수 없습니다.
[in] pDesc
스왑 체인 설명에 대한 DXGI_DECODE_SWAP_CHAIN_DESC 구조체에 대한 포인터입니다. 이 매개 변수는 NULL일 수 없습니다.
[in] pYuvDecodeBuffers
CreateDecodeSwapChainForCompositionSurfaceHandle이 디코딩하는 정보를 포함하는 리소스를 나타내는 IDXGIResource 인터페이스에 대한 포인터입니다.
[in, optional] pRestrictToOutput
콘텐츠를 제한할 스왑 체인의 IDXGIOutput 인터페이스에 대한 포인터입니다. 스왑 체인이 다른 출력으로 이동되면 콘텐츠는 검은색입니다. 필요에 따라 이 매개 변수를 DXGI_PRESENT_RESTRICT_TO_OUTPUT 사용하여 이 출력의 콘텐츠를 제한하는 출력 대상으로 설정할 수 있습니다. 스왑 체인이 다른 출력으로 이동되면 콘텐츠는 검은색입니다.
또한 현재 호출에서 DXGI_PRESENT_RESTRICT_TO_OUTPUT 플래그를 전달하여 콘텐츠가 다른 출력에서 검은색으로 표시되도록 해야 합니다. 콘텐츠를 다른 출력으로 제한하려면 새 스왑 체인을 만들어야 합니다. 그러나 DXGI_PRESENT_RESTRICT_TO_OUTPUT 플래그에 따라 콘텐츠를 조건부로 제한할 수 있습니다.
콘텐츠를 출력 대상으로 제한하지 않으려면 이 매개 변수를 NULL 로 설정합니다.
[out] ppSwapChain
이 메서드가 만드는 스왑 체인에 대한 IDXGIDecodeSwapChain 인터페이스에 대한 포인터를 수신하는 변수에 대한 포인터입니다.
반환 값
CreateDecodeSwapChainForCompositionSurfaceHandle은 다음을 반환합니다.
- 스왑 체인을 성공적으로 만들었는지 S_OK.
- E_OUTOFMEMORY 메모리를 사용할 수 없는 경우 작업을 완료합니다.
- 호출 애플리케이션이 잘못된 데이터를 제공한 경우(예: pDesc, pYuvDecodeBuffers 또는 ppSwapChain이 NULL인 경우) DXGI_ERROR_INVALID_CALL.
- pDevice에 전달하는 디바이스 유형으로 정의된 DXGI_ERROR 항목에 설명된 다른 오류 코드일 수 있습니다.
설명
pYuvDecodeBuffers 매개 변수를 통해 제공되는 IDXGIResource는 하나 이상의 하위 리소스를 가리킬 수 있어야 하며 모든 하위 리소스는 D3D11_BIND_DECODER 플래그를 사용하여 만들어야 합니다.
요구 사항
지원되는 최소 클라이언트 | Windows 8.1 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2012 R2 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | dxgi1_3.h |
라이브러리 | Dxgi.lib |