다음을 통해 공유


IHolographicQuadLayerInterop::AcquireDirect3D12BufferResource 메서드(windows.graphics.holographic.interop.h)

AcquireDirect3D12BufferResource 메서드는 Direct3D 12 콘텐츠 버퍼 리소스의 소유권을 플랫폼에서 애플리케이션으로 전환합니다. 애플리케이션이 이미 리소스의 제어권을 소유하고 있는 경우 인수는 여전히 성공으로 간주됩니다.

IHolographicQuadLayerUpdateParametersInterop::CommitDirect3D12Resource를 호출하여 HolographicFrame에 리소스를 커밋한 후 애플리케이션은 AcquireDirect3D12BufferResource를 사용하여 애플리케이션에서 다시 획득할 때까지 해당 리소스의 제어를 시스템에 포기해야 합니다. 시스템은 쿼드 계층을 표시하는 데 더 이상 필요하지 않을 때까지 버퍼를 소유합니다. 시스템에서 버퍼 제어를 포기했는지 여부를 확인하려면 AcquireDirect3D12BufferResource 또는 AcquireDirect3D12BufferResourceWithTimeout을 호출합니다. 애플리케이션이 쿼드 계층에 대한 새 업데이트 렌더링을 시작할 준비가 되었을 때 버퍼를 가져올 수 없는 경우 새 리소스를 만들고 버퍼 큐에 추가하거나 버퍼를 사용할 수 있을 때까지 대기하여 큐 크기를 제한해야 합니다.

이 메서드를 호출할 때 버퍼를 가져올 준비가 되지 않은 경우 메서드 호출이 실패하고 오류 코드 E_NOTREADY 즉시 반환합니다.

애플리케이션은 AcquireDirect3D12BufferResourceWithTimeout 을 호출하여 더 많은 작업을 큐에 대기하기 전에 리소스를 사용할 수 있게 될 때까지 대기하여 큐 크기를 제한할 수 있습니다.

구문

HRESULT AcquireDirect3D12BufferResource(
  ID3D12Resource     *pResourceToAcquire,
  ID3D12CommandQueue *pCommandQueue
);

매개 변수

pResourceToAcquire

형식: ID3D12Resource*

획득할 Direct3D 12 리소스입니다. 리소스를 획득하면 리소스가 D3D12_RESOURCE_STATE_COMMON 상태가 됩니다.

pCommandQueue

형식: ID3D12CommandQueue*

애플리케이션에 대해 리소스를 가져올 때 이 리소스의 상태를 전환하는 데 사용할 Direct3D 12 명령 큐입니다.

반환 값

S_OK 성공하면 실패 이유를 나타내는 HRESULT 오류 코드를 반환합니다. 또한 COM 오류 코드(UI, 오디오, DirectX, 코덱)를 참조하세요.

요구 사항

   
지원되는 최소 클라이언트 Windows 10 버전 2004(10.0; 빌드 19041)
지원되는 최소 서버 Windows Server 버전 2004(10.0; 빌드 19041)
머리글 windows.graphics.holographic.interop.h

추가 정보

AcquireDirect3D12BufferResourceWithTimeout