ホーム › System.WinRT.Composition › ICompositionDrawingSurfaceInterop
ICompositionDrawingSurfaceInterop
COMメソッド 6
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| updateRect | RECT* | inoptional | 描画を更新する領域を指定する RECT へのポインタである。NULL を指定するとサーフェス全体が更新対象となる。 |
| iid | GUID* | in | 返す描画オブジェクトのインターフェイスを識別する GUID(IID)へのポインタである。 |
| updateObject | void** | out | 描画に使用する更新オブジェクトを受け取る出力ポインタのアドレスである。 |
| updateOffset | POINT* | out | 返されたオブジェクト内で描画を開始すべきオフセット座標を受け取る POINT へのポインタである。 |
vtbl 4 HRESULT EndDraw()
| sizePixels | SIZE | in | サーフェスのサイズをピクセル単位で指定する SIZE 構造体である。 |
| scrollRect | RECT* | inoptional | スクロール対象とする領域を指定する RECT へのポインタである。NULL を指定するとサーフェス全体が対象となる。 |
| clipRect | RECT* | inoptional | スクロール結果を制限するクリップ領域を指定する RECT へのポインタである。 |
| offsetX | INT | in | 水平方向のスクロール量をピクセル単位で指定する。 |
| offsetY | INT | in | 垂直方向のスクロール量をピクセル単位で指定する。 |
vtbl 7 HRESULT ResumeDraw()
vtbl 8 HRESULT SuspendDraw()
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ICompositionDrawingSurfaceInterop "{FD04E6E3-FE0C-4C3C-AB19-A07601A576EE}" #usecom global ICompositionDrawingSurfaceInterop IID_ICompositionDrawingSurfaceInterop "{}" #comfunc global ICompositionDrawingSurfaceInterop_BeginDraw 3 var,var,sptr,var #comfunc global ICompositionDrawingSurfaceInterop_EndDraw 4 #comfunc global ICompositionDrawingSurfaceInterop_Resize 5 int #comfunc global ICompositionDrawingSurfaceInterop_Scroll 6 var,var,int,int #comfunc global ICompositionDrawingSurfaceInterop_ResumeDraw 7 #comfunc global ICompositionDrawingSurfaceInterop_SuspendDraw 8 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ICompositionDrawingSurfaceInterop "{FD04E6E3-FE0C-4C3C-AB19-A07601A576EE}" #usecom global ICompositionDrawingSurfaceInterop IID_ICompositionDrawingSurfaceInterop "{}" #comfunc global ICompositionDrawingSurfaceInterop_BeginDraw 3 sptr,sptr,sptr,sptr #comfunc global ICompositionDrawingSurfaceInterop_EndDraw 4 #comfunc global ICompositionDrawingSurfaceInterop_Resize 5 int #comfunc global ICompositionDrawingSurfaceInterop_Scroll 6 sptr,sptr,int,int #comfunc global ICompositionDrawingSurfaceInterop_ResumeDraw 7 #comfunc global ICompositionDrawingSurfaceInterop_SuspendDraw 8 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。