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

ITfContext

COM
IIDaa80e7fd-2021-11d2-93e0-0060b067b86e継承元IUnknown自前メソッド開始 vtbl3

メソッド 15

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

vtbl 3 HRESULT RequestEditSession(DWORD tid, ITfEditSession* pes, TF_CONTEXT_EDIT_CONTEXT_FLAGS dwFlags, HRESULT* phrSession)
tidDWORDin編集セッションを要求するテキストサービスのクライアント識別子 (TfClientId) を指定する。
pesITfEditSession*in実行する編集セッションを実装した ITfEditSession へのポインタである。
dwFlagsTF_CONTEXT_EDIT_CONTEXT_FLAGSin要求するアクセス種別 (読み取り/書き込み) や同期/非同期の動作を指定する TF_CONTEXT_EDIT_CONTEXT_FLAGS の値である。
phrSessionHRESULT*out編集セッションの実行結果を表す HRESULT を受け取るポインタである。
vtbl 4 HRESULT InWriteSession(DWORD tid, BOOL* pfWriteSession)
tidDWORDin確認対象のテキストサービスのクライアント識別子 (TfClientId) を指定する。
pfWriteSessionBOOL*out指定したクライアントが現在書き込みセッション中であるか否かを受け取るポインタである。
vtbl 5 HRESULT GetSelection(DWORD ec, DWORD ulIndex, DWORD ulCount, TF_SELECTION* pSelection, DWORD* pcFetched)
ecDWORDin読み取りアクセスが許可された編集クッキーを指定する。
ulIndexDWORDin取得を開始する選択範囲のインデックスを指定する。すべての選択範囲を対象とする場合は TF_DEFAULT_SELECTION を指定する。
ulCountDWORDin取得を要求する選択範囲の数を指定する。
pSelectionTF_SELECTION*out取得した選択範囲を格納する TF_SELECTION 構造体の配列を受け取る。
pcFetchedDWORD*out実際に取得された選択範囲の数を受け取るポインタである。
vtbl 6 HRESULT SetSelection(DWORD ec, DWORD ulCount, TF_SELECTION* pSelection)
ecDWORDin書き込みアクセスが許可された編集クッキーを指定する。
ulCountDWORDin設定する選択範囲の数を指定する。
pSelectionTF_SELECTION*in設定する選択範囲を格納した TF_SELECTION 構造体の配列へのポインタである。
vtbl 7 HRESULT GetStart(DWORD ec, ITfRange** ppStart)
ecDWORDin読み取りアクセスが許可された編集クッキーを指定する。
ppStartITfRange**outドキュメント先頭を指す空の ITfRange インターフェイスを受け取るポインタである。
vtbl 8 HRESULT GetEnd(DWORD ec, ITfRange** ppEnd)
ecDWORDin読み取りアクセスが許可された編集クッキーを指定する。
ppEndITfRange**outドキュメント末尾を指す空の ITfRange インターフェイスを受け取るポインタである。
vtbl 9 HRESULT GetActiveView(ITfContextView** ppView)
ppViewITfContextView**out現在アクティブなコンテキストビューを表す ITfContextView インターフェイスを受け取るポインタである。
vtbl 10 HRESULT EnumViews(IEnumTfContextViews** ppEnum)
ppEnumIEnumTfContextViews**outこのコンテキストのビューを列挙する IEnumTfContextViews インターフェイスを受け取るポインタである。
vtbl 11 HRESULT GetStatus(TS_STATUS* pdcs)
pdcsTS_STATUS*outドキュメントの状態 (読み取り専用や無効化など) を受け取る TS_STATUS 構造体へのポインタである。
vtbl 12 HRESULT GetProperty(GUID* guidProp, ITfProperty** ppProp)
guidPropGUID*in取得対象のプロパティを識別する GUID へのポインタである。
ppPropITfProperty**out指定したプロパティを操作する ITfProperty インターフェイスを受け取るポインタである。
vtbl 13 HRESULT GetAppProperty(GUID* guidProp, ITfReadOnlyProperty** ppProp)
guidPropGUID*in取得対象のアプリケーションプロパティを識別する GUID へのポインタである。
ppPropITfReadOnlyProperty**out指定したアプリケーションプロパティへの読み取り専用アクセスを提供する ITfReadOnlyProperty インターフェイスを受け取るポインタである。
vtbl 14 HRESULT TrackProperties(GUID** prgProp, DWORD cProp, GUID** prgAppProp, DWORD cAppProp, ITfReadOnlyProperty** ppProperty)
prgPropGUID**in追跡対象のプロパティを識別する GUID ポインタの配列である。
cPropDWORDinprgProp 配列に含まれるプロパティ GUID の数を指定する。
prgAppPropGUID**in追跡対象のアプリケーションプロパティを識別する GUID ポインタの配列である。
cAppPropDWORDinprgAppProp 配列に含まれるアプリケーションプロパティ GUID の数を指定する。
ppPropertyITfReadOnlyProperty**out指定したプロパティ群を統合して読み取る ITfReadOnlyProperty インターフェイスを受け取るポインタである。
vtbl 15 HRESULT EnumProperties(IEnumTfProperties** ppEnum)
ppEnumIEnumTfProperties**outこのコンテキストに存在するプロパティを列挙する IEnumTfProperties インターフェイスを受け取るポインタである。
vtbl 16 HRESULT GetDocumentMgr(ITfDocumentMgr** ppDm)
ppDmITfDocumentMgr**outこのコンテキストを所有するドキュメントマネージャを表す ITfDocumentMgr インターフェイスを受け取るポインタである。
vtbl 17 HRESULT CreateRangeBackup(DWORD ec, ITfRange* pRange, ITfRangeBackup** ppBackup)
ecDWORDin読み取りアクセスが許可された編集クッキーを指定する。
pRangeITfRange*inバックアップを作成する対象のテキスト範囲を示す ITfRange へのポインタである。
ppBackupITfRangeBackup**out後で範囲を復元するための ITfRangeBackup インターフェイスを受け取るポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_ITfContext "{AA80E7FD-2021-11D2-93E0-0060B067B86E}"
#usecom global ITfContext IID_ITfContext "{}"
#comfunc global ITfContext_RequestEditSession  3 int,sptr,int,var
#comfunc global ITfContext_InWriteSession      4 int,var
#comfunc global ITfContext_GetSelection        5 int,int,int,var,var
#comfunc global ITfContext_SetSelection        6 int,int,var
#comfunc global ITfContext_GetStart            7 int,sptr
#comfunc global ITfContext_GetEnd              8 int,sptr
#comfunc global ITfContext_GetActiveView       9 sptr
#comfunc global ITfContext_EnumViews           10 sptr
#comfunc global ITfContext_GetStatus           11 var
#comfunc global ITfContext_GetProperty         12 var,sptr
#comfunc global ITfContext_GetAppProperty      13 var,sptr
#comfunc global ITfContext_TrackProperties     14 var,int,var,int,sptr
#comfunc global ITfContext_EnumProperties      15 sptr
#comfunc global ITfContext_GetDocumentMgr      16 sptr
#comfunc global ITfContext_CreateRangeBackup   17 int,sptr,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。