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

ITfRangeACP

COM
IID057a6296-029b-4154-b79a-0d461d4ea94c継承元ITfRange自前メソッド開始 vtbl25

メソッド 2

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

vtbl 25 HRESULT GetExtent(INT* pacpAnchor, INT* pcch)
pacpAnchorINT*out範囲の開始位置を表す ACP 文字位置を受け取るポインタである。
pcchINT*out範囲の文字数 (長さ) を受け取るポインタである。
vtbl 26 HRESULT SetExtent(INT acpAnchor, INT cch)
acpAnchorINTin範囲の開始位置を表す ACP 文字位置を指定する。
cchINTin範囲の文字数 (長さ) を指定する。

HSP用 COM定義

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

出力引数:
#define global IID_ITfRangeACP "{057A6296-029B-4154-B79A-0D461D4EA94C}"
#usecom global ITfRangeACP IID_ITfRangeACP "{}"
#comfunc global ITfRangeACP_GetExtent  25 var,var
#comfunc global ITfRangeACP_SetExtent  26 int,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。