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

IDCompositionDevice

COM
IIDc37ea93a-e7aa-450d-b16f-9746cb0407f3継承元IUnknown自前メソッド開始 vtbl3

メソッド 24

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

vtbl 3 HRESULT Commit()
vtbl 4 HRESULT WaitForCommitCompletion()
vtbl 5 HRESULT GetFrameStatistics(DCOMPOSITION_FRAME_STATISTICS* statistics)
statisticsDCOMPOSITION_FRAME_STATISTICS*out合成フレームのタイミング統計を受け取るDCOMPOSITION_FRAME_STATISTICSへのポインタ。
vtbl 6 HRESULT CreateTargetForHwnd(HWND hwnd, BOOL topmost, IDCompositionTarget** target)
hwndHWNDin合成内容を表示する対象ウィンドウのハンドル。
topmostBOOLinターゲットを最前面バインドにするか。TRUEで最前面。
targetIDCompositionTarget**out作成されたIDCompositionTargetのポインタを受け取る出力。
vtbl 7 HRESULT CreateVisual(IDCompositionVisual** visual)
visualIDCompositionVisual**out作成された空のIDCompositionVisualのポインタを受け取る出力。
vtbl 8 HRESULT CreateSurface(DWORD width, DWORD height, DXGI_FORMAT pixelFormat, DXGI_ALPHA_MODE alphaMode, IDCompositionSurface** surface)
widthDWORDinサーフェスの幅(ピクセル)。
heightDWORDinサーフェスの高さ(ピクセル)。
pixelFormatDXGI_FORMATinサーフェスのピクセルフォーマットを示すDXGI_FORMAT。
alphaModeDXGI_ALPHA_MODEinアルファの扱いを示すDXGI_ALPHA_MODE。
surfaceIDCompositionSurface**out作成されたIDCompositionSurfaceのポインタを受け取る出力。
vtbl 9 HRESULT CreateVirtualSurface(DWORD initialWidth, DWORD initialHeight, DXGI_FORMAT pixelFormat, DXGI_ALPHA_MODE alphaMode, IDCompositionVirtualSurface** virtualSurface)
initialWidthDWORDin仮想サーフェスの初期幅(ピクセル)。
initialHeightDWORDin仮想サーフェスの初期高さ(ピクセル)。
pixelFormatDXGI_FORMATinサーフェスのピクセルフォーマットを示すDXGI_FORMAT。
alphaModeDXGI_ALPHA_MODEinアルファの扱いを示すDXGI_ALPHA_MODE。
virtualSurfaceIDCompositionVirtualSurface**out作成されたIDCompositionVirtualSurfaceのポインタを受け取る出力。
vtbl 10 HRESULT CreateSurfaceFromHandle(HANDLE handle, IUnknown** surface)
handleHANDLEin既存の共有サーフェスを参照するハンドル。
surfaceIUnknown**outラップされたサーフェスのIUnknownポインタを受け取る出力。
vtbl 11 HRESULT CreateSurfaceFromHwnd(HWND hwnd, IUnknown** surface)
hwndHWNDin内容を取り込む元のウィンドウハンドル。
surfaceIUnknown**outラップされたサーフェスのIUnknownポインタを受け取る出力。
vtbl 12 HRESULT CreateTranslateTransform(IDCompositionTranslateTransform** translateTransform)
translateTransformIDCompositionTranslateTransform**out作成された平行移動変換IDCompositionTranslateTransformの出力ポインタ。
vtbl 13 HRESULT CreateScaleTransform(IDCompositionScaleTransform** scaleTransform)
scaleTransformIDCompositionScaleTransform**out作成された拡大縮小変換IDCompositionScaleTransformの出力ポインタ。
vtbl 14 HRESULT CreateRotateTransform(IDCompositionRotateTransform** rotateTransform)
rotateTransformIDCompositionRotateTransform**out作成された回転変換IDCompositionRotateTransformの出力ポインタ。
vtbl 15 HRESULT CreateSkewTransform(IDCompositionSkewTransform** skewTransform)
skewTransformIDCompositionSkewTransform**out作成されたせん断変換IDCompositionSkewTransformの出力ポインタ。
vtbl 16 HRESULT CreateMatrixTransform(IDCompositionMatrixTransform** matrixTransform)
matrixTransformIDCompositionMatrixTransform**out作成された行列変換IDCompositionMatrixTransformの出力ポインタ。
vtbl 17 HRESULT CreateTransformGroup(IDCompositionTransform** transforms, DWORD elements, IDCompositionTransform** transformGroup)
transformsIDCompositionTransform**inグループ化する変換オブジェクトの配列へのポインタ。
elementsDWORDintransforms配列の要素数。
transformGroupIDCompositionTransform**out作成された変換グループのポインタを受け取る出力。
vtbl 18 HRESULT CreateTranslateTransform3D(IDCompositionTranslateTransform3D** translateTransform3D)
translateTransform3DIDCompositionTranslateTransform3D**out作成された3D平行移動変換の出力ポインタ。
vtbl 19 HRESULT CreateScaleTransform3D(IDCompositionScaleTransform3D** scaleTransform3D)
scaleTransform3DIDCompositionScaleTransform3D**out作成された3D拡大縮小変換の出力ポインタ。
vtbl 20 HRESULT CreateRotateTransform3D(IDCompositionRotateTransform3D** rotateTransform3D)
rotateTransform3DIDCompositionRotateTransform3D**out作成された3D回転変換の出力ポインタ。
vtbl 21 HRESULT CreateMatrixTransform3D(IDCompositionMatrixTransform3D** matrixTransform3D)
matrixTransform3DIDCompositionMatrixTransform3D**out作成された3D行列変換の出力ポインタ。
vtbl 22 HRESULT CreateTransform3DGroup(IDCompositionTransform3D** transforms3D, DWORD elements, IDCompositionTransform3D** transform3DGroup)
transforms3DIDCompositionTransform3D**inグループ化する3D変換オブジェクトの配列へのポインタ。
elementsDWORDintransforms3D配列の要素数。
transform3DGroupIDCompositionTransform3D**out作成された3D変換グループのポインタを受け取る出力。
vtbl 23 HRESULT CreateEffectGroup(IDCompositionEffectGroup** effectGroup)
effectGroupIDCompositionEffectGroup**out作成されたエフェクトグループIDCompositionEffectGroupの出力ポインタ。
vtbl 24 HRESULT CreateRectangleClip(IDCompositionRectangleClip** clip)
clipIDCompositionRectangleClip**out作成された矩形クリップIDCompositionRectangleClipの出力ポインタ。
vtbl 25 HRESULT CreateAnimation(IDCompositionAnimation** animation)
animationIDCompositionAnimation**out作成された空のアニメーションIDCompositionAnimationの出力ポインタ。
vtbl 26 HRESULT CheckDeviceState(BOOL* pfValid)
pfValidBOOL*outデバイスがまだ有効かを受け取るBOOLポインタ。FALSEで再作成が必要。

HSP用 COM定義

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

出力引数:
#define global IID_IDCompositionDevice "{C37EA93A-E7AA-450D-B16F-9746CB0407F3}"
#usecom global IDCompositionDevice IID_IDCompositionDevice "{}"
#comfunc global IDCompositionDevice_Commit                      3
#comfunc global IDCompositionDevice_WaitForCommitCompletion     4
#comfunc global IDCompositionDevice_GetFrameStatistics          5 var
#comfunc global IDCompositionDevice_CreateTargetForHwnd         6 sptr,int,sptr
#comfunc global IDCompositionDevice_CreateVisual                7 sptr
#comfunc global IDCompositionDevice_CreateSurface               8 int,int,int,int,sptr
#comfunc global IDCompositionDevice_CreateVirtualSurface        9 int,int,int,int,sptr
#comfunc global IDCompositionDevice_CreateSurfaceFromHandle     10 sptr,sptr
#comfunc global IDCompositionDevice_CreateSurfaceFromHwnd       11 sptr,sptr
#comfunc global IDCompositionDevice_CreateTranslateTransform    12 sptr
#comfunc global IDCompositionDevice_CreateScaleTransform        13 sptr
#comfunc global IDCompositionDevice_CreateRotateTransform       14 sptr
#comfunc global IDCompositionDevice_CreateSkewTransform         15 sptr
#comfunc global IDCompositionDevice_CreateMatrixTransform       16 sptr
#comfunc global IDCompositionDevice_CreateTransformGroup        17 sptr,int,sptr
#comfunc global IDCompositionDevice_CreateTranslateTransform3D  18 sptr
#comfunc global IDCompositionDevice_CreateScaleTransform3D      19 sptr
#comfunc global IDCompositionDevice_CreateRotateTransform3D     20 sptr
#comfunc global IDCompositionDevice_CreateMatrixTransform3D     21 sptr
#comfunc global IDCompositionDevice_CreateTransform3DGroup      22 sptr,int,sptr
#comfunc global IDCompositionDevice_CreateEffectGroup           23 sptr
#comfunc global IDCompositionDevice_CreateRectangleClip         24 sptr
#comfunc global IDCompositionDevice_CreateAnimation             25 sptr
#comfunc global IDCompositionDevice_CheckDeviceState            26 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。