ホーム › Graphics.DirectComposition › IDCompositionDevice
IDCompositionDevice
COMメソッド 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)
| statistics | DCOMPOSITION_FRAME_STATISTICS* | out | 合成フレームのタイミング統計を受け取るDCOMPOSITION_FRAME_STATISTICSへのポインタ。 |
vtbl 6 HRESULT CreateTargetForHwnd(HWND hwnd, BOOL topmost, IDCompositionTarget** target)
| hwnd | HWND | in | 合成内容を表示する対象ウィンドウのハンドル。 |
| topmost | BOOL | in | ターゲットを最前面バインドにするか。TRUEで最前面。 |
| target | IDCompositionTarget** | out | 作成されたIDCompositionTargetのポインタを受け取る出力。 |
vtbl 7 HRESULT CreateVisual(IDCompositionVisual** visual)
| visual | IDCompositionVisual** | out | 作成された空のIDCompositionVisualのポインタを受け取る出力。 |
vtbl 8 HRESULT CreateSurface(DWORD width, DWORD height, DXGI_FORMAT pixelFormat, DXGI_ALPHA_MODE alphaMode, IDCompositionSurface** surface)
| width | DWORD | in | サーフェスの幅(ピクセル)。 |
| height | DWORD | in | サーフェスの高さ(ピクセル)。 |
| pixelFormat | DXGI_FORMAT | in | サーフェスのピクセルフォーマットを示すDXGI_FORMAT。 |
| alphaMode | DXGI_ALPHA_MODE | in | アルファの扱いを示すDXGI_ALPHA_MODE。 |
| surface | IDCompositionSurface** | out | 作成されたIDCompositionSurfaceのポインタを受け取る出力。 |
vtbl 9 HRESULT CreateVirtualSurface(DWORD initialWidth, DWORD initialHeight, DXGI_FORMAT pixelFormat, DXGI_ALPHA_MODE alphaMode, IDCompositionVirtualSurface** virtualSurface)
| initialWidth | DWORD | in | 仮想サーフェスの初期幅(ピクセル)。 |
| initialHeight | DWORD | in | 仮想サーフェスの初期高さ(ピクセル)。 |
| pixelFormat | DXGI_FORMAT | in | サーフェスのピクセルフォーマットを示すDXGI_FORMAT。 |
| alphaMode | DXGI_ALPHA_MODE | in | アルファの扱いを示すDXGI_ALPHA_MODE。 |
| virtualSurface | IDCompositionVirtualSurface** | out | 作成されたIDCompositionVirtualSurfaceのポインタを受け取る出力。 |
| handle | HANDLE | in | 既存の共有サーフェスを参照するハンドル。 |
| surface | IUnknown** | out | ラップされたサーフェスのIUnknownポインタを受け取る出力。 |
| hwnd | HWND | in | 内容を取り込む元のウィンドウハンドル。 |
| surface | IUnknown** | out | ラップされたサーフェスのIUnknownポインタを受け取る出力。 |
vtbl 12 HRESULT CreateTranslateTransform(IDCompositionTranslateTransform** translateTransform)
| translateTransform | IDCompositionTranslateTransform** | out | 作成された平行移動変換IDCompositionTranslateTransformの出力ポインタ。 |
vtbl 13 HRESULT CreateScaleTransform(IDCompositionScaleTransform** scaleTransform)
| scaleTransform | IDCompositionScaleTransform** | out | 作成された拡大縮小変換IDCompositionScaleTransformの出力ポインタ。 |
vtbl 14 HRESULT CreateRotateTransform(IDCompositionRotateTransform** rotateTransform)
| rotateTransform | IDCompositionRotateTransform** | out | 作成された回転変換IDCompositionRotateTransformの出力ポインタ。 |
vtbl 15 HRESULT CreateSkewTransform(IDCompositionSkewTransform** skewTransform)
| skewTransform | IDCompositionSkewTransform** | out | 作成されたせん断変換IDCompositionSkewTransformの出力ポインタ。 |
vtbl 16 HRESULT CreateMatrixTransform(IDCompositionMatrixTransform** matrixTransform)
| matrixTransform | IDCompositionMatrixTransform** | out | 作成された行列変換IDCompositionMatrixTransformの出力ポインタ。 |
vtbl 17 HRESULT CreateTransformGroup(IDCompositionTransform** transforms, DWORD elements, IDCompositionTransform** transformGroup)
| transforms | IDCompositionTransform** | in | グループ化する変換オブジェクトの配列へのポインタ。 |
| elements | DWORD | in | transforms配列の要素数。 |
| transformGroup | IDCompositionTransform** | out | 作成された変換グループのポインタを受け取る出力。 |
vtbl 18 HRESULT CreateTranslateTransform3D(IDCompositionTranslateTransform3D** translateTransform3D)
| translateTransform3D | IDCompositionTranslateTransform3D** | out | 作成された3D平行移動変換の出力ポインタ。 |
vtbl 19 HRESULT CreateScaleTransform3D(IDCompositionScaleTransform3D** scaleTransform3D)
| scaleTransform3D | IDCompositionScaleTransform3D** | out | 作成された3D拡大縮小変換の出力ポインタ。 |
vtbl 20 HRESULT CreateRotateTransform3D(IDCompositionRotateTransform3D** rotateTransform3D)
| rotateTransform3D | IDCompositionRotateTransform3D** | out | 作成された3D回転変換の出力ポインタ。 |
vtbl 21 HRESULT CreateMatrixTransform3D(IDCompositionMatrixTransform3D** matrixTransform3D)
| matrixTransform3D | IDCompositionMatrixTransform3D** | out | 作成された3D行列変換の出力ポインタ。 |
vtbl 22 HRESULT CreateTransform3DGroup(IDCompositionTransform3D** transforms3D, DWORD elements, IDCompositionTransform3D** transform3DGroup)
| transforms3D | IDCompositionTransform3D** | in | グループ化する3D変換オブジェクトの配列へのポインタ。 |
| elements | DWORD | in | transforms3D配列の要素数。 |
| transform3DGroup | IDCompositionTransform3D** | out | 作成された3D変換グループのポインタを受け取る出力。 |
vtbl 23 HRESULT CreateEffectGroup(IDCompositionEffectGroup** effectGroup)
| effectGroup | IDCompositionEffectGroup** | out | 作成されたエフェクトグループIDCompositionEffectGroupの出力ポインタ。 |
vtbl 24 HRESULT CreateRectangleClip(IDCompositionRectangleClip** clip)
| clip | IDCompositionRectangleClip** | out | 作成された矩形クリップIDCompositionRectangleClipの出力ポインタ。 |
vtbl 25 HRESULT CreateAnimation(IDCompositionAnimation** animation)
| animation | IDCompositionAnimation** | out | 作成された空のアニメーションIDCompositionAnimationの出力ポインタ。 |
| pfValid | BOOL* | 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 指定が可能。#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 sptr #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 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。