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

ITfRangeACP

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

公式ドキュメント

ITfRangeACP インターフェイスは TSF マネージャーによって実装され、アプリケーション文字位置 (ACP: application character position) ベースのアプリケーションが range オブジェクトへアクセスし、操作するために使用します。

メソッド 2

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

vtbl 25 HRESULT GetExtent(INT* pacpAnchor, INT* pcch)

ITfRangeACP::GetExtent メソッド

pacpAnchorINT*out範囲 (レンジ) の開始アンカーのアプリケーション文字位置を受け取る LONG 値へのポインターです。
pcchINT*out範囲 (レンジ) に含まれる文字数を受け取る LONG 値へのポインターです。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

説明
S_OK
メソッドは成功しました。
E_INVALIDARG
1 つ以上のパラメーターが無効です。
E_FAIL
不特定のエラーが発生しました。

解説(Remarks)

文字位置と範囲の長さは、テキストストアの実装を認識している呼び出し元にとってのみ意味を持つため、このメソッドは ACP ベースのコンテキストの所有者だけが呼び出してください。

vtbl 26 HRESULT SetExtent(INT acpAnchor, INT cch)

ITfRangeACP::SetExtent メソッド

acpAnchorINTin範囲 (レンジ) の開始アンカーのアプリケーション文字位置を指定します。
cchINTin範囲 (レンジ) に含まれる文字数を指定します。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

説明
S_OK
メソッドは成功しました。
E_INVALIDARG
1 つ以上のパラメーターが無効です。
E_FAIL
不特定のエラーが発生しました。

解説(Remarks)

文字位置と範囲の長さは、テキストストアの実装を認識している呼び出し元にとってのみ意味を持つため、このメソッドは ACP ベースのコンテキストの所有者だけが呼び出してください。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_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 方式にも切替可。