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

IDCompositionSurfaceFactory

COM
IIDe334bc12-3937-4e02-85eb-fcf4eb30d2c8継承元IUnknown自前メソッド開始 vtbl3

メソッド 2

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

vtbl 3 HRESULT CreateSurface(DWORD width, DWORD height, DXGI_FORMAT pixelFormat, DXGI_ALPHA_MODE alphaMode, IDCompositionSurface** surface)
widthDWORDin作成するサーフェスの幅(ピクセル)。0より大きい値を指定する。
heightDWORDin作成するサーフェスの高さ(ピクセル)。0より大きい値を指定する。
pixelFormatDXGI_FORMATinサーフェスのピクセル形式を指定するDXGI_FORMAT列挙値である。
alphaModeDXGI_ALPHA_MODEinアルファの扱いを示すDXGI_ALPHA_MODE列挙値を指定する。
surfaceIDCompositionSurface**out作成されたサーフェスを受け取る出力ポインタである。
vtbl 4 HRESULT CreateVirtualSurface(DWORD initialWidth, DWORD initialHeight, DXGI_FORMAT pixelFormat, DXGI_ALPHA_MODE alphaMode, IDCompositionVirtualSurface** virtualSurface)
initialWidthDWORDin仮想サーフェスの初期幅(ピクセル)。後でResizeで変更可能である。
initialHeightDWORDin仮想サーフェスの初期高さ(ピクセル)。後でResizeで変更可能である。
pixelFormatDXGI_FORMATinサーフェスのピクセル形式を指定するDXGI_FORMAT列挙値である。
alphaModeDXGI_ALPHA_MODEinアルファの扱いを示すDXGI_ALPHA_MODE列挙値を指定する。
virtualSurfaceIDCompositionVirtualSurface**out作成された仮想サーフェスを受け取る出力ポインタである。

HSP用 COM定義

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

#define global IID_IDCompositionSurfaceFactory "{E334BC12-3937-4E02-85EB-FCF4EB30D2C8}"
#usecom global IDCompositionSurfaceFactory IID_IDCompositionSurfaceFactory "{}"
#comfunc global IDCompositionSurfaceFactory_CreateSurface         3 int,int,int,int,sptr
#comfunc global IDCompositionSurfaceFactory_CreateVirtualSurface  4 int,int,int,int,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。