ホーム › UI.TextServices › ITfContext
ITfContext
COMメソッド 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)
| tid | DWORD | in | 編集セッションを要求するテキストサービスのクライアント識別子 (TfClientId) を指定する。 |
| pes | ITfEditSession* | in | 実行する編集セッションを実装した ITfEditSession へのポインタである。 |
| dwFlags | TF_CONTEXT_EDIT_CONTEXT_FLAGS | in | 要求するアクセス種別 (読み取り/書き込み) や同期/非同期の動作を指定する TF_CONTEXT_EDIT_CONTEXT_FLAGS の値である。 |
| phrSession | HRESULT* | out | 編集セッションの実行結果を表す HRESULT を受け取るポインタである。 |
| tid | DWORD | in | 確認対象のテキストサービスのクライアント識別子 (TfClientId) を指定する。 |
| pfWriteSession | BOOL* | out | 指定したクライアントが現在書き込みセッション中であるか否かを受け取るポインタである。 |
vtbl 5 HRESULT GetSelection(DWORD ec, DWORD ulIndex, DWORD ulCount, TF_SELECTION* pSelection, DWORD* pcFetched)
| ec | DWORD | in | 読み取りアクセスが許可された編集クッキーを指定する。 |
| ulIndex | DWORD | in | 取得を開始する選択範囲のインデックスを指定する。すべての選択範囲を対象とする場合は TF_DEFAULT_SELECTION を指定する。 |
| ulCount | DWORD | in | 取得を要求する選択範囲の数を指定する。 |
| pSelection | TF_SELECTION* | out | 取得した選択範囲を格納する TF_SELECTION 構造体の配列を受け取る。 |
| pcFetched | DWORD* | out | 実際に取得された選択範囲の数を受け取るポインタである。 |
vtbl 6 HRESULT SetSelection(DWORD ec, DWORD ulCount, TF_SELECTION* pSelection)
| ec | DWORD | in | 書き込みアクセスが許可された編集クッキーを指定する。 |
| ulCount | DWORD | in | 設定する選択範囲の数を指定する。 |
| pSelection | TF_SELECTION* | in | 設定する選択範囲を格納した TF_SELECTION 構造体の配列へのポインタである。 |
| ec | DWORD | in | 読み取りアクセスが許可された編集クッキーを指定する。 |
| ppStart | ITfRange** | out | ドキュメント先頭を指す空の ITfRange インターフェイスを受け取るポインタである。 |
| ec | DWORD | in | 読み取りアクセスが許可された編集クッキーを指定する。 |
| ppEnd | ITfRange** | out | ドキュメント末尾を指す空の ITfRange インターフェイスを受け取るポインタである。 |
vtbl 9 HRESULT GetActiveView(ITfContextView** ppView)
| ppView | ITfContextView** | out | 現在アクティブなコンテキストビューを表す ITfContextView インターフェイスを受け取るポインタである。 |
vtbl 10 HRESULT EnumViews(IEnumTfContextViews** ppEnum)
| ppEnum | IEnumTfContextViews** | out | このコンテキストのビューを列挙する IEnumTfContextViews インターフェイスを受け取るポインタである。 |
| pdcs | TS_STATUS* | out | ドキュメントの状態 (読み取り専用や無効化など) を受け取る TS_STATUS 構造体へのポインタである。 |
vtbl 12 HRESULT GetProperty(GUID* guidProp, ITfProperty** ppProp)
| guidProp | GUID* | in | 取得対象のプロパティを識別する GUID へのポインタである。 |
| ppProp | ITfProperty** | out | 指定したプロパティを操作する ITfProperty インターフェイスを受け取るポインタである。 |
vtbl 13 HRESULT GetAppProperty(GUID* guidProp, ITfReadOnlyProperty** ppProp)
| guidProp | GUID* | in | 取得対象のアプリケーションプロパティを識別する GUID へのポインタである。 |
| ppProp | ITfReadOnlyProperty** | out | 指定したアプリケーションプロパティへの読み取り専用アクセスを提供する ITfReadOnlyProperty インターフェイスを受け取るポインタである。 |
vtbl 14 HRESULT TrackProperties(GUID** prgProp, DWORD cProp, GUID** prgAppProp, DWORD cAppProp, ITfReadOnlyProperty** ppProperty)
| prgProp | GUID** | in | 追跡対象のプロパティを識別する GUID ポインタの配列である。 |
| cProp | DWORD | in | prgProp 配列に含まれるプロパティ GUID の数を指定する。 |
| prgAppProp | GUID** | in | 追跡対象のアプリケーションプロパティを識別する GUID ポインタの配列である。 |
| cAppProp | DWORD | in | prgAppProp 配列に含まれるアプリケーションプロパティ GUID の数を指定する。 |
| ppProperty | ITfReadOnlyProperty** | out | 指定したプロパティ群を統合して読み取る ITfReadOnlyProperty インターフェイスを受け取るポインタである。 |
vtbl 15 HRESULT EnumProperties(IEnumTfProperties** ppEnum)
| ppEnum | IEnumTfProperties** | out | このコンテキストに存在するプロパティを列挙する IEnumTfProperties インターフェイスを受け取るポインタである。 |
vtbl 16 HRESULT GetDocumentMgr(ITfDocumentMgr** ppDm)
| ppDm | ITfDocumentMgr** | out | このコンテキストを所有するドキュメントマネージャを表す ITfDocumentMgr インターフェイスを受け取るポインタである。 |
vtbl 17 HRESULT CreateRangeBackup(DWORD ec, ITfRange* pRange, ITfRangeBackup** ppBackup)
| ec | DWORD | in | 読み取りアクセスが許可された編集クッキーを指定する。 |
| pRange | ITfRange* | in | バックアップを作成する対象のテキスト範囲を示す ITfRange へのポインタである。 |
| ppBackup | ITfRangeBackup** | 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 指定が可能。#define global IID_ITfContext "{AA80E7FD-2021-11D2-93E0-0060B067B86E}" #usecom global ITfContext IID_ITfContext "{}" #comfunc global ITfContext_RequestEditSession 3 int,sptr,int,sptr #comfunc global ITfContext_InWriteSession 4 int,sptr #comfunc global ITfContext_GetSelection 5 int,int,int,sptr,sptr #comfunc global ITfContext_SetSelection 6 int,int,sptr #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 sptr #comfunc global ITfContext_GetProperty 12 sptr,sptr #comfunc global ITfContext_GetAppProperty 13 sptr,sptr #comfunc global ITfContext_TrackProperties 14 sptr,int,sptr,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が無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。