Win32 API 日本語リファレンス
ホームUI.Wpf › IMILBitmapEffectImpl

IMILBitmapEffectImpl

COM
IIDcc2468f2-9936-47be-b4af-06b5df5dbcbb継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

out の IMILBitmapEffect オブジェクトを定義するメソッドを公開します。

解説(Remarks)

このインターフェイスは、カスタムエフェクトが IMILBitmapEffect も併せて公開する場合に実装する必要があります。

メソッド 7

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

vtbl 3 HRESULT IsInPlaceModificationAllowed(IMILBitmapEffectOutputConnector* pOutputConnector, VARIANT_BOOL* pfModifyInPlace)

エフェクトがインプレース(その場での)変更を許可するかどうかを判定します。

pOutputConnectorIMILBitmapEffectOutputConnector*inインプレース変更が許可されているかを確認する出力コネクタ。
pfModifyInPlaceVARIANT_BOOL*outインプレース変更が許可されている場合は TRUE を、それ以外の場合は FALSE を受け取るポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 4 HRESULT SetParentEffect(IMILBitmapEffectGroup* pParentEffect)

エフェクトの親を設定します。

pParentEffectIMILBitmapEffectGroup*inエフェクトの親となる IMILBitmapEffectGroup

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 5 HRESULT GetInputSource(DWORD uiIndex, IWICBitmapSource** ppBitmapSource)

入力 IWICBitmapSource インターフェイスを取得します。

uiIndexDWORDin入力ソースのインデックス。
ppBitmapSourceIWICBitmapSource**out入力ビットマップソースへのポインターを受け取るポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 6 HRESULT GetInputSourceBounds(DWORD uiIndex, MilRectD* pRect)

入力ソースの境界を取得します。

uiIndexDWORDin取得するビットマップソースのインデックス。
pRectMilRectD*out入力ソースの境界を受け取るポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 7 HRESULT GetInputBitmapSource(DWORD uiIndex, IMILBitmapEffectRenderContext* pRenderContext, VARIANT_BOOL* pfModifyInPlace, IWICBitmapSource** ppBitmapSource)

指定されたレンダーコンテキストにおける、エフェクトの入力ビットマップソースを取得します。

uiIndexDWORDin入力ビットマップソースのインデックス。
pRenderContextIMILBitmapEffectRenderContext*inIMILBitmapEffectRenderContext へのポインター。
pfModifyInPlaceVARIANT_BOOL*inoutインプレースで変更するかどうかを示す値。
ppBitmapSourceIWICBitmapSource**out入力 IWICBitmapSource インターフェイス へのポインターを受け取るポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 8 HRESULT GetOutputBitmapSource(DWORD uiIndex, IMILBitmapEffectRenderContext* pRenderContext, VARIANT_BOOL* pfModifyInPlace, IWICBitmapSource** ppBitmapSource)

指定されたレンダーコンテキストにおける、エフェクトの出力ビットマップソースを取得します。

uiIndexDWORDin出力ビットマップソースのインデックス。
pRenderContextIMILBitmapEffectRenderContext*inIMILBitmapEffectRenderContext へのポインター。
pfModifyInPlaceVARIANT_BOOL*inoutインプレースで変更するかどうかを示す値。
ppBitmapSourceIWICBitmapSource**out出力 IWICBitmapSource インターフェイス へのポインターを受け取るポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 9 HRESULT Initialize(IUnknown* pInner)

指定されたオブジェクトでエフェクトを初期化します。

pInnerIUnknown*inエフェクトの初期化に使用するオブジェクト。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

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

出力引数:
#define global IID_IMILBitmapEffectImpl "{CC2468F2-9936-47BE-B4AF-06B5DF5DBCBB}"
#usecom global IMILBitmapEffectImpl IID_IMILBitmapEffectImpl "{}"
#comfunc global IMILBitmapEffectImpl_IsInPlaceModificationAllowed  3 sptr,var
#comfunc global IMILBitmapEffectImpl_SetParentEffect               4 sptr
#comfunc global IMILBitmapEffectImpl_GetInputSource                5 int,sptr
#comfunc global IMILBitmapEffectImpl_GetInputSourceBounds          6 int,var
#comfunc global IMILBitmapEffectImpl_GetInputBitmapSource          7 int,sptr,var,sptr
#comfunc global IMILBitmapEffectImpl_GetOutputBitmapSource         8 int,sptr,var,sptr
#comfunc global IMILBitmapEffectImpl_Initialize                    9 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。