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

IDXGISwapChain1

COM
IID790a45f7-0d42-4876-983a-0a55cfe6f4aa継承元IDXGISwapChain自前メソッド開始 vtbl18

メソッド 11

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 18 HRESULT GetDesc1(DXGI_SWAP_CHAIN_DESC1* pDesc)
pDescDXGI_SWAP_CHAIN_DESC1*outスワップチェーンの拡張記述情報を受け取るDXGI_SWAP_CHAIN_DESC1構造体である。
vtbl 19 HRESULT GetFullscreenDesc(DXGI_SWAP_CHAIN_FULLSCREEN_DESC* pDesc)
pDescDXGI_SWAP_CHAIN_FULLSCREEN_DESC*out全画面表示時の記述情報を受け取るDXGI_SWAP_CHAIN_FULLSCREEN_DESC構造体である。
vtbl 20 HRESULT GetHwnd(HWND* pHwnd)
pHwndHWND*outスワップチェーンに関連付けられたウィンドウハンドル(HWND)を受け取る出力先である。
vtbl 21 HRESULT GetCoreWindow(GUID* refiid, void** ppUnk)
refiidGUID*in取得するコアウィンドウインターフェイスのGUIDを指定する。
ppUnkvoid**outコアウィンドウインターフェイスを受け取る出力先(void**)である。
vtbl 22 HRESULT Present1(DWORD SyncInterval, DXGI_PRESENT PresentFlags, DXGI_PRESENT_PARAMETERS* pPresentParameters)
SyncIntervalDWORDin垂直同期のフレーム待機数を指定する。0で即時、1以上でVSync同期となる。
PresentFlagsDXGI_PRESENTin表示動作を制御するDXGI_PRESENTフラグを指定する。
pPresentParametersDXGI_PRESENT_PARAMETERS*inダーティ矩形やスクロール情報を含むDXGI_PRESENT_PARAMETERS構造体を指定する。
vtbl 23 BOOL IsTemporaryMonoSupported()
vtbl 24 HRESULT GetRestrictToOutput(IDXGIOutput** ppRestrictToOutput)
ppRestrictToOutputIDXGIOutput**out表示を制限している出力IDXGIOutputを受け取る出力先である。
vtbl 25 HRESULT SetBackgroundColor(DXGI_RGBA* pColor)
pColorDXGI_RGBA*inスワップチェーンの背景色を指定するDXGI_RGBA構造体である。
vtbl 26 HRESULT GetBackgroundColor(DXGI_RGBA* pColor)
pColorDXGI_RGBA*out現在の背景色を受け取るDXGI_RGBA構造体である。
vtbl 27 HRESULT SetRotation(DXGI_MODE_ROTATION Rotation)
RotationDXGI_MODE_ROTATIONinスワップチェーンの回転方向をDXGI_MODE_ROTATIONで指定する。
vtbl 28 HRESULT GetRotation(DXGI_MODE_ROTATION* pRotation)
pRotationDXGI_MODE_ROTATION*out現在の回転方向DXGI_MODE_ROTATIONを受け取る出力先である。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IDXGISwapChain1 "{790A45F7-0D42-4876-983A-0A55CFE6F4AA}"
#usecom global IDXGISwapChain1 IID_IDXGISwapChain1 "{}"
#comfunc global IDXGISwapChain1_GetDesc1                  18 var
#comfunc global IDXGISwapChain1_GetFullscreenDesc         19 var
#comfunc global IDXGISwapChain1_GetHwnd                   20 sptr
#comfunc global IDXGISwapChain1_GetCoreWindow             21 var,sptr
#comfunc global IDXGISwapChain1_Present1                  22 int,int,var
#comfunc global IDXGISwapChain1_IsTemporaryMonoSupported  23
#comfunc global IDXGISwapChain1_GetRestrictToOutput       24 sptr
#comfunc global IDXGISwapChain1_SetBackgroundColor        25 var
#comfunc global IDXGISwapChain1_GetBackgroundColor        26 var
#comfunc global IDXGISwapChain1_SetRotation               27 int
#comfunc global IDXGISwapChain1_GetRotation               28 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。