次の方法で共有


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

AcquireDirect3D12BufferResourceWithTimeout メソッドは、Direct3D 12バック バッファー リソースの所有権をプラットフォームからアプリケーションに切り替え、リソースが使用可能になるまでの期間引数で示される時間まで待機します。 アプリケーションがリソースの制御を既に所有している場合、取得は成功と見なされ、メソッドはすぐに返されます。

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

このメソッドは、省略可能なタイムアウト値を受け入れます。 duration 引数に 0 以外の値が存在する場合、システムはバッファーが使用可能になるまでそのミリ秒を待機します。 既定の動作では、待機しません。 タイムアウト値 0 を指定し、バッファーを取得する準備ができていない場合、メソッド呼び出しはエラー コード E_NOTREADYで失敗します。

構文

HRESULT AcquireDirect3D12BufferResourceWithTimeout(
  ID3D12Resource     *pResourceToAcquire,
  ID3D12CommandQueue *pCommandQueue,
  UINT64             duration
);

パラメーター

pResourceToAcquire

種類: ID3D12Resource*

取得するDirect3D 12 リソース。

pCommandQueue

種類: ID3D12CommandQueue*

アプリケーション用にリソースを取得するときに、このリソースの状態を遷移するために使用するDirect3D 12 コマンド キュー。 リソースは、取得時に D3D12_RESOURCE_STATE_COMMON 状態になります。

duration

型: UINT64

このパラメーターが 0 以外の値に設定されている場合、呼び出しはそのバッファーが取得されるまでの時間を待機します。 バッファーを取得する前にタイムアウト期間が経過すると、 メソッドはエラー コード E_TIMEOUTで失敗します。 このパラメーターは、 TimeSpan.Duration フィールドと同様に、100 ナノ秒単位で指定されます。

戻り値

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

要件

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