다음을 통해 공유


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 또는 ppSwapChainNULL인 경우) 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

추가 정보

IDXGIFactoryMedia