Win32 API 日本語リファレンス
ホームWeb.InternetExplorer › IViewObjectPresentFlipSite

IViewObjectPresentFlipSite

COM
IID30510846-98b5-11cf-bb82-00aa00bdce0b継承元IUnknown自前メソッド開始 vtbl3

メソッド 8

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

vtbl 3 HRESULT CreateSurfacePresenterFlip(IUnknown* pDevice, DWORD width, DWORD height, DWORD backBufferCount, DXGI_FORMAT format, VIEW_OBJECT_ALPHA_MODE mode, ISurfacePresenterFlip** ppSPFlip)
pDeviceIUnknown*inoptionalサーフェスの生成に使用するグラフィックスデバイスの IUnknown インターフェイスポインタを指定する。
widthDWORDin生成するサーフェスの幅をピクセル単位で指定する。
heightDWORDin生成するサーフェスの高さをピクセル単位で指定する。
backBufferCountDWORDin生成するバックバッファの数を指定する。
formatDXGI_FORMATinサーフェスのピクセルフォーマット (DXGI_FORMAT) を指定する。
modeVIEW_OBJECT_ALPHA_MODEinサーフェスのアルファ合成モード (VIEW_OBJECT_ALPHA_MODE) を指定する。
ppSPFlipISurfacePresenterFlip**out生成された ISurfacePresenterFlip インターフェイスポインタを受け取る。
vtbl 4 HRESULT GetDeviceLuid(LUID* pLuid)
pLuidLUID*out使用しているグラフィックスデバイスの一意な識別子 (LUID) を受け取る。
vtbl 5 HRESULT EnterFullScreen()
vtbl 6 HRESULT ExitFullScreen()
vtbl 7 HRESULT IsFullScreen(BOOL* pfFullScreen)
pfFullScreenBOOL*out全画面表示かどうかを示す論理値を受け取る。全画面の場合は TRUE が設定される。
vtbl 8 HRESULT GetBoundingRect(RECT* pRect)
pRectRECT*out対象の境界を表す外接矩形 (RECT) を受け取る。
vtbl 9 HRESULT GetMetrics(POINT* pPos, SIZE* pSize, FLOAT* pScaleX, FLOAT* pScaleY)
pPosPOINT*out対象の位置を表す座標 (POINT) を受け取る。
pSizeSIZE*out対象のサイズ (SIZE) を受け取る。
pScaleXFLOAT*out水平方向の拡大縮小率を受け取る。
pScaleYFLOAT*out垂直方向の拡大縮小率を受け取る。
vtbl 10 HRESULT GetFullScreenSize(SIZE* pSize)
pSizeSIZE*out全画面表示時のサイズ (SIZE) を受け取る。

HSP用 COM定義

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

出力引数:
#define global IID_IViewObjectPresentFlipSite "{30510846-98B5-11CF-BB82-00AA00BDCE0B}"
#usecom global IViewObjectPresentFlipSite IID_IViewObjectPresentFlipSite "{}"
#comfunc global IViewObjectPresentFlipSite_CreateSurfacePresenterFlip  3 sptr,int,int,int,int,int,sptr
#comfunc global IViewObjectPresentFlipSite_GetDeviceLuid               4 var
#comfunc global IViewObjectPresentFlipSite_EnterFullScreen             5
#comfunc global IViewObjectPresentFlipSite_ExitFullScreen              6
#comfunc global IViewObjectPresentFlipSite_IsFullScreen                7 var
#comfunc global IViewObjectPresentFlipSite_GetBoundingRect             8 var
#comfunc global IViewObjectPresentFlipSite_GetMetrics                  9 var,var,var,var
#comfunc global IViewObjectPresentFlipSite_GetFullScreenSize           10 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。