Win32 API 日本語リファレンス
ホームGraphics.Dxgi › IDXGIFactory2

IDXGIFactory2

COM
IID50c83a1c-e072-4c48-87b0-3630fa36a6d0継承元IDXGIFactory1自前メソッド開始 vtbl14

メソッド 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)
pDeviceIUnknown*inスワップチェーンに関連付けるデバイス(IUnknown)を指定する。
hWndHWNDin出力先となるウィンドウのハンドル(HWND)を指定する。
pDescDXGI_SWAP_CHAIN_DESC1*in作成するスワップチェーンの記述DXGI_SWAP_CHAIN_DESC1を指定する。
pFullscreenDescDXGI_SWAP_CHAIN_FULLSCREEN_DESC*inoptional全画面時の記述DXGI_SWAP_CHAIN_FULLSCREEN_DESCを指定する。NULL可でウィンドウ専用となる。
pRestrictToOutputIDXGIOutput*inoptional表示を制限する出力IDXGIOutputを指定する。NULL可。
ppSwapChainIDXGISwapChain1**out作成されたIDXGISwapChain1を受け取る出力先である。
vtbl 16 HRESULT CreateSwapChainForCoreWindow(IUnknown* pDevice, IUnknown* pWindow, DXGI_SWAP_CHAIN_DESC1* pDesc, IDXGIOutput* pRestrictToOutput, IDXGISwapChain1** ppSwapChain)
pDeviceIUnknown*inスワップチェーンに関連付けるデバイス(IUnknown)を指定する。
pWindowIUnknown*in出力先となるコアウィンドウ(IUnknown)を指定する。
pDescDXGI_SWAP_CHAIN_DESC1*in作成するスワップチェーンの記述DXGI_SWAP_CHAIN_DESC1を指定する。
pRestrictToOutputIDXGIOutput*inoptional表示を制限する出力IDXGIOutputを指定する。NULL可。
ppSwapChainIDXGISwapChain1**out作成されたIDXGISwapChain1を受け取る出力先である。
vtbl 17 HRESULT GetSharedResourceAdapterLuid(HANDLE hResource, LUID* pLuid)
hResourceHANDLEin対象となる共有リソースのハンドル(HANDLE)を指定する。
pLuidLUID*outそのリソースが属するアダプタのLUIDを受け取る出力先である。
vtbl 18 HRESULT RegisterStereoStatusWindow(HWND WindowHandle, DWORD wMsg, DWORD* pdwCookie)
WindowHandleHWNDinステレオ状態変化の通知を受け取るウィンドウのハンドル(HWND)を指定する。
wMsgDWORDin状態変化時に送信されるウィンドウメッセージのIDを指定する。
pdwCookieDWORD*out登録解除に用いる識別子(Cookie)を受け取る出力先である。
vtbl 19 HRESULT RegisterStereoStatusEvent(HANDLE hEvent, DWORD* pdwCookie)
hEventHANDLEinステレオ状態変化時にシグナル状態にするイベントハンドルを指定する。
pdwCookieDWORD*out登録解除に用いる識別子(Cookie)を受け取る出力先である。
vtbl 20 void UnregisterStereoStatus(DWORD dwCookie)
dwCookieDWORDin登録時に取得したCookieを指定し、ステレオ状態通知を解除する。
vtbl 21 HRESULT RegisterOcclusionStatusWindow(HWND WindowHandle, DWORD wMsg, DWORD* pdwCookie)
WindowHandleHWNDinオクルージョン(遮蔽)状態変化の通知を受け取るウィンドウのハンドルを指定する。
wMsgDWORDin状態変化時に送信されるウィンドウメッセージのIDを指定する。
pdwCookieDWORD*out登録解除に用いる識別子(Cookie)を受け取る出力先である。
vtbl 22 HRESULT RegisterOcclusionStatusEvent(HANDLE hEvent, DWORD* pdwCookie)
hEventHANDLEinオクルージョン状態変化時にシグナル状態にするイベントハンドルを指定する。
pdwCookieDWORD*out登録解除に用いる識別子(Cookie)を受け取る出力先である。
vtbl 23 void UnregisterOcclusionStatus(DWORD dwCookie)
dwCookieDWORDin登録時に取得したCookieを指定し、オクルージョン状態通知を解除する。
vtbl 24 HRESULT CreateSwapChainForComposition(IUnknown* pDevice, DXGI_SWAP_CHAIN_DESC1* pDesc, IDXGIOutput* pRestrictToOutput, IDXGISwapChain1** ppSwapChain)
pDeviceIUnknown*inスワップチェーンに関連付けるデバイス(IUnknown)を指定する。
pDescDXGI_SWAP_CHAIN_DESC1*in作成するスワップチェーンの記述DXGI_SWAP_CHAIN_DESC1を指定する。
pRestrictToOutputIDXGIOutput*inoptional表示を制限する出力IDXGIOutputを指定する。NULL可。
ppSwapChainIDXGISwapChain1**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 指定が可能。