ホーム › System.WinRT.Holographic › IHolographicCameraInterop
IHolographicCameraInterop
COMメソッド 5
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 6 HRESULT CreateDirect3D12BackBufferResource(ID3D12Device* pDevice, D3D12_RESOURCE_DESC* pTexture2DDesc, ID3D12Resource** ppCreatedTexture2DResource)
| pDevice | ID3D12Device* | in | リソース生成に使用する Direct3D 12 デバイス ID3D12Device へのポインタを指定する。 |
| pTexture2DDesc | D3D12_RESOURCE_DESC* | in | 作成するバックバッファ用 2D テクスチャの記述子 D3D12_RESOURCE_DESC へのポインタを指定する。 |
| ppCreatedTexture2DResource | ID3D12Resource** | out | 作成されたバックバッファリソース ID3D12Resource へのポインタを受け取る出力ポインタである。 |
vtbl 7 HRESULT CreateDirect3D12HardwareProtectedBackBufferResource(ID3D12Device* pDevice, D3D12_RESOURCE_DESC* pTexture2DDesc, ID3D12ProtectedResourceSession* pProtectedResourceSession, ID3D12Resource** ppCreatedTexture2DResource)
| pDevice | ID3D12Device* | in | リソース生成に使用する Direct3D 12 デバイス ID3D12Device へのポインタを指定する。 |
| pTexture2DDesc | D3D12_RESOURCE_DESC* | in | 作成するバックバッファ用 2D テクスチャの記述子 D3D12_RESOURCE_DESC へのポインタを指定する。 |
| pProtectedResourceSession | ID3D12ProtectedResourceSession* | in | 保護されたコンテンツに使用する ID3D12ProtectedResourceSession へのポインタを指定する。 |
| ppCreatedTexture2DResource | ID3D12Resource** | out | 作成されたハードウェア保護バックバッファリソース ID3D12Resource へのポインタを受け取る出力ポインタである。 |
vtbl 8 HRESULT AcquireDirect3D12BufferResource(ID3D12Resource* pResourceToAcquire, ID3D12CommandQueue* pCommandQueue)
| pResourceToAcquire | ID3D12Resource* | in | 取得(レンダリング用に確保)する Direct3D 12 リソース ID3D12Resource へのポインタを指定する。 |
| pCommandQueue | ID3D12CommandQueue* | in | リソース取得を同期させる Direct3D 12 コマンドキュー ID3D12CommandQueue へのポインタを指定する。 |
vtbl 9 HRESULT AcquireDirect3D12BufferResourceWithTimeout(ID3D12Resource* pResourceToAcquire, ID3D12CommandQueue* pCommandQueue, ULONGLONG duration)
| pResourceToAcquire | ID3D12Resource* | in | 取得(レンダリング用に確保)する Direct3D 12 リソース ID3D12Resource へのポインタを指定する。 |
| pCommandQueue | ID3D12CommandQueue* | in | リソース取得を同期させる Direct3D 12 コマンドキュー ID3D12CommandQueue へのポインタを指定する。 |
| duration | ULONGLONG | in | 取得を待機する最大時間をタイムアウト値として指定する。 |
vtbl 10 HRESULT UnacquireDirect3D12BufferResource(ID3D12Resource* pResourceToUnacquire)
| pResourceToUnacquire | ID3D12Resource* | in | 取得を解除して解放する Direct3D 12 リソース ID3D12Resource へのポインタを指定する。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IHolographicCameraInterop "{7CC1F9C5-6D02-41FA-9500-E1809EB48EEC}" #usecom global IHolographicCameraInterop IID_IHolographicCameraInterop "{}" #comfunc global IHolographicCameraInterop_CreateDirect3D12BackBufferResource 6 sptr,var,sptr #comfunc global IHolographicCameraInterop_CreateDirect3D12HardwareProtectedBackBufferResource 7 sptr,var,sptr,sptr #comfunc global IHolographicCameraInterop_AcquireDirect3D12BufferResource 8 sptr,sptr #comfunc global IHolographicCameraInterop_AcquireDirect3D12BufferResourceWithTimeout 9 sptr,sptr,int64 #comfunc global IHolographicCameraInterop_UnacquireDirect3D12BufferResource 10 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IHolographicCameraInterop "{7CC1F9C5-6D02-41FA-9500-E1809EB48EEC}" #usecom global IHolographicCameraInterop IID_IHolographicCameraInterop "{}" #comfunc global IHolographicCameraInterop_CreateDirect3D12BackBufferResource 6 sptr,sptr,sptr #comfunc global IHolographicCameraInterop_CreateDirect3D12HardwareProtectedBackBufferResource 7 sptr,sptr,sptr,sptr #comfunc global IHolographicCameraInterop_AcquireDirect3D12BufferResource 8 sptr,sptr #comfunc global IHolographicCameraInterop_AcquireDirect3D12BufferResourceWithTimeout 9 sptr,sptr,int64 #comfunc global IHolographicCameraInterop_UnacquireDirect3D12BufferResource 10 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。