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

IDirect3DSwapChain9

COM
IID794950f2-adfc-458a-905e-10a10b0b503b継承元IUnknown自前メソッド開始 vtbl3

メソッド 7

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

vtbl 3 HRESULT Present(RECT* pSourceRect, RECT* pDestRect, HWND hDestWindowOverride, RGNDATA* pDirtyRegion, DWORD dwFlags)
pSourceRectRECT*in転送元の矩形へのポインタ。NULLで全体を表す。
pDestRectRECT*in転送先の矩形へのポインタ。NULLで全体を表す。
hDestWindowOverrideHWNDin表示先を上書きするウィンドウハンドル。NULLで既定。
pDirtyRegionRGNDATA*in更新領域を示すRGNDATAへのポインタ。NULLで全体。
dwFlagsDWORDin表示動作を示すフラグ。D3DPRESENT_DONOTWAITなど。
vtbl 4 HRESULT GetFrontBufferData(IDirect3DSurface9* pDestSurface)
pDestSurfaceIDirect3DSurface9*inフロントバッファ内容を受け取る転送先サーフェスへのポインタ。
vtbl 5 HRESULT GetBackBuffer(DWORD iBackBuffer, D3DBACKBUFFER_TYPE Type, IDirect3DSurface9** ppBackBuffer)
iBackBufferDWORDin取得するバックバッファの0始まりのインデックス。
TypeD3DBACKBUFFER_TYPEinバックバッファの種別を示すD3DBACKBUFFER_TYPE。
ppBackBufferIDirect3DSurface9**out取得したバックバッファサーフェスのポインタを受け取る出力。
vtbl 6 HRESULT GetRasterStatus(D3DRASTER_STATUS* pRasterStatus)
pRasterStatusD3DRASTER_STATUS*inout走査線の状態を受け取るD3DRASTER_STATUSへのポインタ。
vtbl 7 HRESULT GetDisplayMode(D3DDISPLAYMODE* pMode)
pModeD3DDISPLAYMODE*inout現在の表示モードを受け取るD3DDISPLAYMODE構造体へのポインタ。
vtbl 8 HRESULT GetDevice(IDirect3DDevice9** ppDevice)
ppDeviceIDirect3DDevice9**outこのスワップチェーンを作成したデバイスのポインタを受け取る出力。
vtbl 9 HRESULT GetPresentParameters(D3DPRESENT_PARAMETERS* pPresentationParameters)
pPresentationParametersD3DPRESENT_PARAMETERS*inout現在のプレゼンテーション設定を受け取るD3DPRESENT_PARAMETERSへのポインタ。

HSP用 COM定義

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

出力引数:
#define global IID_IDirect3DSwapChain9 "{794950F2-ADFC-458A-905E-10A10B0B503B}"
#usecom global IDirect3DSwapChain9 IID_IDirect3DSwapChain9 "{}"
#comfunc global IDirect3DSwapChain9_Present               3 var,var,sptr,var,int
#comfunc global IDirect3DSwapChain9_GetFrontBufferData    4 sptr
#comfunc global IDirect3DSwapChain9_GetBackBuffer         5 int,int,sptr
#comfunc global IDirect3DSwapChain9_GetRasterStatus       6 var
#comfunc global IDirect3DSwapChain9_GetDisplayMode        7 var
#comfunc global IDirect3DSwapChain9_GetDevice             8 sptr
#comfunc global IDirect3DSwapChain9_GetPresentParameters  9 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。