Win32 API 日本語リファレンス
ホームStorage.IndexServer › IPixelFilter

IPixelFilter

COM
IID3d7df9a7-8da6-4fbf-a45b-7592f06d93a9継承元IFilter自前メソッド開始 vtbl8

メソッド 2

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

vtbl 8 HRESULT GetImageInfo(IMAGE_INFO* imageInfo)
imageInfoIMAGE_INFO*out画像の情報を受け取る IMAGE_INFO 構造体へのポインタである。
vtbl 9 HRESULT GetPixelsForImage(FLOAT scalingFactor, RECT* sourceRect, DWORD pixelBufferSize, BYTE* pixelBuffer)
scalingFactorFLOATin画像に適用する拡大縮小率を指定する。
sourceRectRECT*in取得対象とする元画像内の矩形領域を指定する。
pixelBufferSizeDWORDinピクセルバッファのサイズをバイト単位で指定する。
pixelBufferBYTE*out取得したピクセルデータを受け取るバッファへのポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_IPixelFilter "{3D7DF9A7-8DA6-4FBF-A45B-7592F06D93A9}"
#usecom global IPixelFilter IID_IPixelFilter "{}"
#comfunc global IPixelFilter_GetImageInfo       8 var
#comfunc global IPixelFilter_GetPixelsForImage  9 float,var,int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。