ホーム › Graphics.Direct3D12 › ID3D12SwapChainAssistant
ID3D12SwapChainAssistant
COMメソッド 4
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 LUID GetLUID()
vtbl 4 HRESULT GetSwapChainObject(GUID* riid, void** ppv)
| riid | GUID* | in | 取得するインターフェイスのGUID。通常はIDXGISwapChainのIIDを指定する。 |
| ppv | void** | out | 関連付けられたスワップチェーンオブジェクトを受け取る出力ポインタ。 |
vtbl 5 HRESULT GetCurrentResourceAndCommandQueue(GUID* riidResource, void** ppvResource, GUID* riidQueue, void** ppvQueue)
| riidResource | GUID* | in | 取得するリソースインターフェイスのGUID。通常はID3D12ResourceのIIDを指定する。 |
| ppvResource | void** | out | 現在のバックバッファリソースを受け取る出力ポインタ。 |
| riidQueue | GUID* | in | 取得するキューインターフェイスのGUID。通常はID3D12CommandQueueのIIDを指定する。 |
| ppvQueue | void** | out | 提示に用いるコマンドキューを受け取る出力ポインタ。 |
vtbl 6 HRESULT InsertImplicitSync()
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ID3D12SwapChainAssistant "{F1DF64B6-57FD-49CD-8807-C0EB88B45C8F}" #usecom global ID3D12SwapChainAssistant IID_ID3D12SwapChainAssistant "{}" #comfunc global ID3D12SwapChainAssistant_GetLUID 3 #comfunc global ID3D12SwapChainAssistant_GetSwapChainObject 4 var,sptr #comfunc global ID3D12SwapChainAssistant_GetCurrentResourceAndCommandQueue 5 var,sptr,var,sptr #comfunc global ID3D12SwapChainAssistant_InsertImplicitSync 6 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ID3D12SwapChainAssistant "{F1DF64B6-57FD-49CD-8807-C0EB88B45C8F}" #usecom global ID3D12SwapChainAssistant IID_ID3D12SwapChainAssistant "{}" #comfunc global ID3D12SwapChainAssistant_GetLUID 3 #comfunc global ID3D12SwapChainAssistant_GetSwapChainObject 4 sptr,sptr #comfunc global ID3D12SwapChainAssistant_GetCurrentResourceAndCommandQueue 5 sptr,sptr,sptr,sptr #comfunc global ID3D12SwapChainAssistant_InsertImplicitSync 6 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。