Win32 API 日本語リファレンス
ホームUI.Xaml.Diagnostics › IVisualTreeService2

IVisualTreeService2

COM
IID130f5136-ec43-4f61-89c7-9801a36d2e95継承元IVisualTreeService自前メソッド開始 vtbl15

メソッド 4

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

vtbl 15 HRESULT GetPropertyIndex(ULONGLONG object, LPWSTR propertyName, DWORD* pPropertyIndex)
objectULONGLONGinプロパティのインデックスを取得する対象オブジェクトを識別するハンドルである。
propertyNameLPWSTRinインデックスを取得するプロパティの名前を表す文字列である。
pPropertyIndexDWORD*out指定したプロパティのインデックスを受け取る。
vtbl 16 HRESULT GetProperty(ULONGLONG object, DWORD propertyIndex, ULONGLONG* pValue)
objectULONGLONGinプロパティ値を取得する対象オブジェクトを識別するハンドルである。
propertyIndexDWORDin取得するプロパティのインデックスを指定する。
pValueULONGLONG*outプロパティの値を識別するハンドルを受け取る。
vtbl 17 HRESULT ReplaceResource(ULONGLONG resourceDictionary, ULONGLONG key, ULONGLONG newValue)
resourceDictionaryULONGLONGinリソースを置換する対象のリソースディクショナリを識別するハンドルである。
keyULONGLONGin置換するリソースのキーを識別するハンドルである。
newValueULONGLONGin新しいリソース値を識別するハンドルである。
vtbl 18 HRESULT RenderTargetBitmap(ULONGLONG handle, RenderTargetBitmapOptions options, DWORD maxPixelWidth, DWORD maxPixelHeight, IBitmapData** ppBitmapData)
handleULONGLONGinビットマップとしてレンダリングする対象要素を識別するハンドルである。
optionsRenderTargetBitmapOptionsinレンダリング動作を指定する RenderTargetBitmapOptions 値である。
maxPixelWidthDWORDin出力ビットマップの最大幅をピクセル単位で指定する。
maxPixelHeightDWORDin出力ビットマップの最大高さをピクセル単位で指定する。
ppBitmapDataIBitmapData**outレンダリング結果のビットマップデータを表す IBitmapData インターフェイスへのポインタを受け取る。

HSP用 COM定義

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

出力引数:
#define global IID_IVisualTreeService2 "{130F5136-EC43-4F61-89C7-9801A36D2E95}"
#usecom global IVisualTreeService2 IID_IVisualTreeService2 "{}"
#comfunc global IVisualTreeService2_GetPropertyIndex    15 int64,wstr,var
#comfunc global IVisualTreeService2_GetProperty         16 int64,int,var
#comfunc global IVisualTreeService2_ReplaceResource     17 int64,int64,int64
#comfunc global IVisualTreeService2_RenderTargetBitmap  18 int64,int,int,int,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。