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

ITfProperty

COM
IIDe2449660-9542-11d2-bf46-00105a2799b5継承元ITfReadOnlyProperty自前メソッド開始 vtbl7

メソッド 4

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

vtbl 7 HRESULT FindRange(DWORD ec, ITfRange* pRange, ITfRange** ppRange, TfAnchor aPos)
ecDWORDin読み取りアクセスが許可された編集クッキーを指定する。
pRangeITfRange*in検索の起点となるテキスト範囲を示す ITfRange へのポインタである。
ppRangeITfRange**out起点位置で同一プロパティ値を持つ連続したテキスト範囲を表す ITfRange インターフェイスを受け取るポインタである。
aPosTfAnchorinpRange のどちらのアンカーを基準に検索するかを示す TfAnchor の値である。
vtbl 8 HRESULT SetValueStore(DWORD ec, ITfRange* pRange, ITfPropertyStore* pPropStore)
ecDWORDin書き込みアクセスが許可された編集クッキーを指定する。
pRangeITfRange*inプロパティ値を設定する対象のテキスト範囲を示す ITfRange へのポインタである。
pPropStoreITfPropertyStore*in範囲に関連付けるプロパティ値を保持する ITfPropertyStore へのポインタである。
vtbl 9 HRESULT SetValue(DWORD ec, ITfRange* pRange, VARIANT* pvarValue)
ecDWORDin書き込みアクセスが許可された編集クッキーを指定する。
pRangeITfRange*inプロパティ値を設定する対象のテキスト範囲を示す ITfRange へのポインタである。
pvarValueVARIANT*in範囲に設定するプロパティ値を保持する VARIANT へのポインタである。
vtbl 10 HRESULT Clear(DWORD ec, ITfRange* pRange)
ecDWORDin書き込みアクセスが許可された編集クッキーを指定する。
pRangeITfRange*inプロパティ値を消去する対象のテキスト範囲を示す ITfRange へのポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_ITfProperty "{E2449660-9542-11D2-BF46-00105A2799B5}"
#usecom global ITfProperty IID_ITfProperty "{}"
#comfunc global ITfProperty_FindRange      7 int,sptr,sptr,int
#comfunc global ITfProperty_SetValueStore  8 int,sptr,sptr
#comfunc global ITfProperty_SetValue       9 int,sptr,var
#comfunc global ITfProperty_Clear          10 int,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。