ホーム › Graphics.Dxgi › IDXGISwapChain
IDXGISwapChain
COMメソッド 10
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 8 HRESULT Present(DWORD SyncInterval, DXGI_PRESENT Flags)
| SyncInterval | DWORD | in | 垂直同期のフレーム待機数を指定する。0で即時、1以上でVSync同期となる。 |
| Flags | DXGI_PRESENT | in | 表示動作を制御するDXGI_PRESENTフラグ(TEST/DO_NOT_SEQUENCE等)を指定する。 |
| Buffer | DWORD | in | 取得するバックバッファのインデックス(0始まり)を指定する。 |
| riid | GUID* | in | 取得するバッファインターフェイスのGUID(例: ID3D11Texture2D)を指定する。 |
| ppSurface | void** | out | 取得したバッファインターフェイスを受け取る出力先(void**)である。 |
vtbl 10 HRESULT SetFullscreenState(BOOL Fullscreen, IDXGIOutput* pTarget)
| Fullscreen | BOOL | in | 全画面モードに移行するか指定する。TRUEで全画面、FALSEでウィンドウとなる。 |
| pTarget | IDXGIOutput* | inoptional | 全画面表示先の出力IDXGIOutputを指定する。NULL可で既定の出力を選ぶ。 |
vtbl 11 HRESULT GetFullscreenState(BOOL* pFullscreen, IDXGIOutput** ppTarget)
| pFullscreen | BOOL* | outoptional | 現在全画面か否かを受け取るBOOL出力先である。NULL可。 |
| ppTarget | IDXGIOutput** | outoptional | 全画面表示先の出力IDXGIOutputを受け取る出力先である。NULL可。 |
vtbl 12 HRESULT GetDesc(DXGI_SWAP_CHAIN_DESC* pDesc)
| pDesc | DXGI_SWAP_CHAIN_DESC* | out | スワップチェーンの記述情報を受け取るDXGI_SWAP_CHAIN_DESC構造体である。 |
vtbl 13 HRESULT ResizeBuffers(DWORD BufferCount, DWORD Width, DWORD Height, DXGI_FORMAT NewFormat, DWORD SwapChainFlags)
| BufferCount | DWORD | in | バックバッファの数を指定する。0で既存の数を維持する。 |
| Width | DWORD | in | バックバッファの幅をピクセルで指定する。0でクライアント領域に合わせる。 |
| Height | DWORD | in | バックバッファの高さをピクセルで指定する。0でクライアント領域に合わせる。 |
| NewFormat | DXGI_FORMAT | in | 新しいバックバッファのフォーマットをDXGI_FORMATで指定する。 |
| SwapChainFlags | DWORD | in | スワップチェーンの動作オプションを示すDXGI_SWAP_CHAIN_FLAG値を指定する。 |
vtbl 14 HRESULT ResizeTarget(DXGI_MODE_DESC* pNewTargetParameters)
| pNewTargetParameters | DXGI_MODE_DESC* | in | 対象出力の新しいモード(解像度・リフレッシュ等)を指定するDXGI_MODE_DESC構造体である。 |
vtbl 15 HRESULT GetContainingOutput(IDXGIOutput** ppOutput)
| ppOutput | IDXGIOutput** | out | スワップチェーンが主に属する出力IDXGIOutputを受け取る出力先である。 |
vtbl 16 HRESULT GetFrameStatistics(DXGI_FRAME_STATISTICS* pStats)
| pStats | DXGI_FRAME_STATISTICS* | out | 表示・同期に関する統計情報を受け取るDXGI_FRAME_STATISTICS構造体である。 |
| pLastPresentCount | DWORD* | out | 直近のPresent呼び出し回数を受け取るDWORD出力先である。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IDXGISwapChain "{310D36A0-D2E7-4C0A-AA04-6A9D23B8886A}" #usecom global IDXGISwapChain IID_IDXGISwapChain "{}" #comfunc global IDXGISwapChain_Present 8 int,int #comfunc global IDXGISwapChain_GetBuffer 9 int,var,sptr #comfunc global IDXGISwapChain_SetFullscreenState 10 int,sptr #comfunc global IDXGISwapChain_GetFullscreenState 11 var,sptr #comfunc global IDXGISwapChain_GetDesc 12 var #comfunc global IDXGISwapChain_ResizeBuffers 13 int,int,int,int,int #comfunc global IDXGISwapChain_ResizeTarget 14 var #comfunc global IDXGISwapChain_GetContainingOutput 15 sptr #comfunc global IDXGISwapChain_GetFrameStatistics 16 var #comfunc global IDXGISwapChain_GetLastPresentCount 17 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IDXGISwapChain "{310D36A0-D2E7-4C0A-AA04-6A9D23B8886A}" #usecom global IDXGISwapChain IID_IDXGISwapChain "{}" #comfunc global IDXGISwapChain_Present 8 int,int #comfunc global IDXGISwapChain_GetBuffer 9 int,sptr,sptr #comfunc global IDXGISwapChain_SetFullscreenState 10 int,sptr #comfunc global IDXGISwapChain_GetFullscreenState 11 sptr,sptr #comfunc global IDXGISwapChain_GetDesc 12 sptr #comfunc global IDXGISwapChain_ResizeBuffers 13 int,int,int,int,int #comfunc global IDXGISwapChain_ResizeTarget 14 sptr #comfunc global IDXGISwapChain_GetContainingOutput 15 sptr #comfunc global IDXGISwapChain_GetFrameStatistics 16 sptr #comfunc global IDXGISwapChain_GetLastPresentCount 17 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。