ホーム › Graphics.Dxgi › IDXGIFactory2
IDXGIFactory2
COMメソッド 11
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 14 BOOL IsWindowedStereoEnabled()
vtbl 15 HRESULT CreateSwapChainForHwnd(IUnknown* pDevice, HWND hWnd, DXGI_SWAP_CHAIN_DESC1* pDesc, DXGI_SWAP_CHAIN_FULLSCREEN_DESC* pFullscreenDesc, IDXGIOutput* pRestrictToOutput, IDXGISwapChain1** ppSwapChain)
| pDevice | IUnknown* | in | スワップチェーンに関連付けるデバイス(IUnknown)を指定する。 |
| hWnd | HWND | in | 出力先となるウィンドウのハンドル(HWND)を指定する。 |
| pDesc | DXGI_SWAP_CHAIN_DESC1* | in | 作成するスワップチェーンの記述DXGI_SWAP_CHAIN_DESC1を指定する。 |
| pFullscreenDesc | DXGI_SWAP_CHAIN_FULLSCREEN_DESC* | inoptional | 全画面時の記述DXGI_SWAP_CHAIN_FULLSCREEN_DESCを指定する。NULL可でウィンドウ専用となる。 |
| pRestrictToOutput | IDXGIOutput* | inoptional | 表示を制限する出力IDXGIOutputを指定する。NULL可。 |
| ppSwapChain | IDXGISwapChain1** | out | 作成されたIDXGISwapChain1を受け取る出力先である。 |
vtbl 16 HRESULT CreateSwapChainForCoreWindow(IUnknown* pDevice, IUnknown* pWindow, DXGI_SWAP_CHAIN_DESC1* pDesc, IDXGIOutput* pRestrictToOutput, IDXGISwapChain1** ppSwapChain)
| pDevice | IUnknown* | in | スワップチェーンに関連付けるデバイス(IUnknown)を指定する。 |
| pWindow | IUnknown* | in | 出力先となるコアウィンドウ(IUnknown)を指定する。 |
| pDesc | DXGI_SWAP_CHAIN_DESC1* | in | 作成するスワップチェーンの記述DXGI_SWAP_CHAIN_DESC1を指定する。 |
| pRestrictToOutput | IDXGIOutput* | inoptional | 表示を制限する出力IDXGIOutputを指定する。NULL可。 |
| ppSwapChain | IDXGISwapChain1** | out | 作成されたIDXGISwapChain1を受け取る出力先である。 |
| hResource | HANDLE | in | 対象となる共有リソースのハンドル(HANDLE)を指定する。 |
| pLuid | LUID* | out | そのリソースが属するアダプタのLUIDを受け取る出力先である。 |
| WindowHandle | HWND | in | ステレオ状態変化の通知を受け取るウィンドウのハンドル(HWND)を指定する。 |
| wMsg | DWORD | in | 状態変化時に送信されるウィンドウメッセージのIDを指定する。 |
| pdwCookie | DWORD* | out | 登録解除に用いる識別子(Cookie)を受け取る出力先である。 |
| hEvent | HANDLE | in | ステレオ状態変化時にシグナル状態にするイベントハンドルを指定する。 |
| pdwCookie | DWORD* | out | 登録解除に用いる識別子(Cookie)を受け取る出力先である。 |
vtbl 20 void UnregisterStereoStatus(DWORD dwCookie)
| dwCookie | DWORD | in | 登録時に取得したCookieを指定し、ステレオ状態通知を解除する。 |
| WindowHandle | HWND | in | オクルージョン(遮蔽)状態変化の通知を受け取るウィンドウのハンドルを指定する。 |
| wMsg | DWORD | in | 状態変化時に送信されるウィンドウメッセージのIDを指定する。 |
| pdwCookie | DWORD* | out | 登録解除に用いる識別子(Cookie)を受け取る出力先である。 |
| hEvent | HANDLE | in | オクルージョン状態変化時にシグナル状態にするイベントハンドルを指定する。 |
| pdwCookie | DWORD* | out | 登録解除に用いる識別子(Cookie)を受け取る出力先である。 |
vtbl 23 void UnregisterOcclusionStatus(DWORD dwCookie)
| dwCookie | DWORD | in | 登録時に取得したCookieを指定し、オクルージョン状態通知を解除する。 |
vtbl 24 HRESULT CreateSwapChainForComposition(IUnknown* pDevice, DXGI_SWAP_CHAIN_DESC1* pDesc, IDXGIOutput* pRestrictToOutput, IDXGISwapChain1** ppSwapChain)
| pDevice | IUnknown* | in | スワップチェーンに関連付けるデバイス(IUnknown)を指定する。 |
| pDesc | DXGI_SWAP_CHAIN_DESC1* | in | 作成するスワップチェーンの記述DXGI_SWAP_CHAIN_DESC1を指定する。 |
| pRestrictToOutput | IDXGIOutput* | inoptional | 表示を制限する出力IDXGIOutputを指定する。NULL可。 |
| ppSwapChain | IDXGISwapChain1** | out | 作成されたIDXGISwapChain1を受け取る出力先である。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IDXGIFactory2 "{50C83A1C-E072-4C48-87B0-3630FA36A6D0}" #usecom global IDXGIFactory2 IID_IDXGIFactory2 "{}" #comfunc global IDXGIFactory2_IsWindowedStereoEnabled 14 #comfunc global IDXGIFactory2_CreateSwapChainForHwnd 15 sptr,sptr,var,var,sptr,sptr #comfunc global IDXGIFactory2_CreateSwapChainForCoreWindow 16 sptr,sptr,var,sptr,sptr #comfunc global IDXGIFactory2_GetSharedResourceAdapterLuid 17 sptr,var #comfunc global IDXGIFactory2_RegisterStereoStatusWindow 18 sptr,int,var #comfunc global IDXGIFactory2_RegisterStereoStatusEvent 19 sptr,var #comfunc global IDXGIFactory2_UnregisterStereoStatus 20 int #comfunc global IDXGIFactory2_RegisterOcclusionStatusWindow 21 sptr,int,var #comfunc global IDXGIFactory2_RegisterOcclusionStatusEvent 22 sptr,var #comfunc global IDXGIFactory2_UnregisterOcclusionStatus 23 int #comfunc global IDXGIFactory2_CreateSwapChainForComposition 24 sptr,var,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IDXGIFactory2 "{50C83A1C-E072-4C48-87B0-3630FA36A6D0}" #usecom global IDXGIFactory2 IID_IDXGIFactory2 "{}" #comfunc global IDXGIFactory2_IsWindowedStereoEnabled 14 #comfunc global IDXGIFactory2_CreateSwapChainForHwnd 15 sptr,sptr,sptr,sptr,sptr,sptr #comfunc global IDXGIFactory2_CreateSwapChainForCoreWindow 16 sptr,sptr,sptr,sptr,sptr #comfunc global IDXGIFactory2_GetSharedResourceAdapterLuid 17 sptr,sptr #comfunc global IDXGIFactory2_RegisterStereoStatusWindow 18 sptr,int,sptr #comfunc global IDXGIFactory2_RegisterStereoStatusEvent 19 sptr,sptr #comfunc global IDXGIFactory2_UnregisterStereoStatus 20 int #comfunc global IDXGIFactory2_RegisterOcclusionStatusWindow 21 sptr,int,sptr #comfunc global IDXGIFactory2_RegisterOcclusionStatusEvent 22 sptr,sptr #comfunc global IDXGIFactory2_UnregisterOcclusionStatus 23 int #comfunc global IDXGIFactory2_CreateSwapChainForComposition 24 sptr,sptr,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。