IHolographicCameraInterop::AcquireDirect3D12BufferResource メソッド (windows.graphics.holographic.interop.h)

AcquireDirect3D12BufferResource メソッドは、Direct3D 12バック バッファー リソースの所有権をプラットフォームからアプリケーションに移行します。 アプリケーションがリソースの制御を既に所有している場合でも、取得は成功と見なされます。

IHolographicQuadLayerUpdateParametersInterop::CommitDirect3D12Resource を呼び出して HolographicFrame にリソースをコミットした後、アプリケーションは、このメソッドを使用してアプリケーションによってリソースが再取得されるまで、そのリソースの制御をシステムが所有することを検討する必要があります。 システムは、バッファーがコミットされたフレームがプレゼンテーション キューを通過するまで、バッファーを所有します。 システムがバッファーの制御を放棄したかどうかを確認するには、 AcquireDirect3D12BufferResource または AcquireDirect3D12BufferResourceWithTimeout を呼び出します。 アプリケーションが新しい HolographicFrame のレンダリングを開始する準備ができた時点でバッファーを取得できない場合は、新しいリソースを作成してバッファー キューに追加するか、バッファーが使用可能になるのを待ってキュー サイズを制限する必要があります。

AcquireDirect3D12BufferResource が呼び出されたときにバッファーを取得する準備ができていない場合、メソッドの呼び出しは失敗し、エラー コード E_NOTREADYがすぐに返されます。

アプリケーションでは、 AcquireDirect3D12BufferResourceWithTimeout を呼び出して、リソースが使用可能になるまで待ってから、より多くの作業をキューに入れ、キューのサイズを制限できます。

構文

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

パラメーター

pResourceToAcquire

種類: ID3D12Resource*

取得するDirect3D 12 リソース。

pCommandQueue

種類: ID3D12CommandQueue*

アプリケーションの取得時にこのリソースの状態を遷移するために使用するDirect3D 12コマンド キュー。 リソースは、取得時に D3D12_RESOURCE_STATE_COMMON 状態になります。 リソースの取得時にリソースが既に共通状態にある場合、リソース遷移コマンドはキューに入らない可能性があります。

戻り値

S_OK 成功した場合は、失敗の理由を示す HRESULT エラー コードを返します。 COM エラー コード (UI、オーディオ、DirectX、コーデック) も参照してください。

要件

   
サポートされている最小のクライアント Windows 10バージョン 2004 (10.0;ビルド 19041)
サポートされている最小のサーバー Windows Server バージョン 2004 (10.0;ビルド 19041)
Header windows.graphics.holographic.interop.h