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

IDXGISwapChain3

COM
IID94d99bdb-f1f8-4ab0-b236-7da0170edab1継承元IDXGISwapChain2自前メソッド開始 vtbl36

メソッド 4

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

vtbl 36 DWORD GetCurrentBackBufferIndex()
vtbl 37 HRESULT CheckColorSpaceSupport(DXGI_COLOR_SPACE_TYPE ColorSpace, DWORD* pColorSpaceSupport)
ColorSpaceDXGI_COLOR_SPACE_TYPEin対応を確認する色空間をDXGI_COLOR_SPACE_TYPEで指定する。
pColorSpaceSupportDWORD*outサポート状況を示すDXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAGを受け取るDWORD出力先である。
vtbl 38 HRESULT SetColorSpace1(DXGI_COLOR_SPACE_TYPE ColorSpace)
ColorSpaceDXGI_COLOR_SPACE_TYPEinスワップチェーンに設定する色空間をDXGI_COLOR_SPACE_TYPEで指定する。
vtbl 39 HRESULT ResizeBuffers1(DWORD BufferCount, DWORD Width, DWORD Height, DXGI_FORMAT Format, DWORD SwapChainFlags, DWORD* pCreationNodeMask, IUnknown** ppPresentQueue)
BufferCountDWORDinバックバッファの数を指定する。0で既存の数を維持する。
WidthDWORDinバックバッファの幅をピクセルで指定する。0でクライアント領域に合わせる。
HeightDWORDinバックバッファの高さをピクセルで指定する。0でクライアント領域に合わせる。
FormatDXGI_FORMATin新しいバックバッファのフォーマットをDXGI_FORMATで指定する。
SwapChainFlagsDWORDinスワップチェーンの動作オプションを示すDXGI_SWAP_CHAIN_FLAG値を指定する。
pCreationNodeMaskDWORD*in各バッファを配置するGPUノードを示すマスク配列(DWORD*)である。
ppPresentQueueIUnknown**in各バッファの表示に使うコマンドキュー(IUnknown)の配列である。

HSP用 COM定義

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

出力引数:
#define global IID_IDXGISwapChain3 "{94D99BDB-F1F8-4AB0-B236-7DA0170EDAB1}"
#usecom global IDXGISwapChain3 IID_IDXGISwapChain3 "{}"
#comfunc global IDXGISwapChain3_GetCurrentBackBufferIndex  36
#comfunc global IDXGISwapChain3_CheckColorSpaceSupport     37 int,var
#comfunc global IDXGISwapChain3_SetColorSpace1             38 int
#comfunc global IDXGISwapChain3_ResizeBuffers1             39 int,int,int,int,int,var,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。