ホーム › UI.TextServices › ITfKeystrokeMgr
ITfKeystrokeMgr
COMメソッド 14
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT AdviseKeyEventSink(DWORD tid, ITfKeyEventSink* pSink, BOOL fForeground)
| tid | DWORD | in | シンクを登録するクライアントのクライアント識別子 (TfClientId) を指定する。 |
| pSink | ITfKeyEventSink* | in | 登録するキーイベントシンク ITfKeyEventSink へのポインタである。 |
| fForeground | BOOL | in | フォアグラウンドのキーイベントシンクとして登録する場合は TRUE を指定する。 |
| tid | DWORD | in | 登録を解除するキーイベントシンクのクライアント識別子 (TfClientId) を指定する。 |
vtbl 5 HRESULT GetForeground(GUID* pclsid)
| pclsid | GUID* | out | 現在フォアグラウンドのテキストサービスのクラス識別子 (CLSID) を受け取る。 |
| wParam | WPARAM | in | キーダウンメッセージの WPARAM (仮想キーコード) を指定する。 |
| lParam | LPARAM | in | キーダウンメッセージの LPARAM (キーの状態情報) を指定する。 |
| pfEaten | BOOL* | out | テキストサービスがそのキーを処理する (消費する) 場合に TRUE を受け取る。 |
| wParam | WPARAM | in | キーアップメッセージの WPARAM (仮想キーコード) を指定する。 |
| lParam | LPARAM | in | キーアップメッセージの LPARAM (キーの状態情報) を指定する。 |
| pfEaten | BOOL* | out | テキストサービスがそのキーを処理する (消費する) 場合に TRUE を受け取る。 |
| wParam | WPARAM | in | キーダウンメッセージの WPARAM (仮想キーコード) を指定する。 |
| lParam | LPARAM | in | キーダウンメッセージの LPARAM (キーの状態情報) を指定する。 |
| pfEaten | BOOL* | out | テキストサービスがそのキーを処理した (消費した) 場合に TRUE を受け取る。 |
| wParam | WPARAM | in | キーアップメッセージの WPARAM (仮想キーコード) を指定する。 |
| lParam | LPARAM | in | キーアップメッセージの LPARAM (キーの状態情報) を指定する。 |
| pfEaten | BOOL* | out | テキストサービスがそのキーを処理した (消費した) 場合に TRUE を受け取る。 |
vtbl 10 HRESULT GetPreservedKey(ITfContext* pic, TF_PRESERVEDKEY* pprekey, GUID* pguid)
| pic | ITfContext* | in | 対象とするコンテキスト ITfContext へのポインタである。 |
| pprekey | TF_PRESERVEDKEY* | in | 問い合わせるキーの組み合わせを記述する TF_PRESERVEDKEY 構造体へのポインタである。 |
| pguid | GUID* | out | 該当する予約済みキーを識別する GUID を受け取る。 |
vtbl 11 HRESULT IsPreservedKey(GUID* rguid, TF_PRESERVEDKEY* pprekey, BOOL* pfRegistered)
| rguid | GUID* | in | 予約済みキーを識別する GUID へのポインタである。 |
| pprekey | TF_PRESERVEDKEY* | in | 問い合わせるキーの組み合わせを記述する TF_PRESERVEDKEY 構造体へのポインタである。 |
| pfRegistered | BOOL* | out | 指定したキーが予約済みとして登録されている場合に TRUE を受け取る。 |
vtbl 12 HRESULT PreserveKey(DWORD tid, GUID* rguid, TF_PRESERVEDKEY* prekey, LPWSTR pchDesc, DWORD cchDesc)
| tid | DWORD | in | 予約を登録するクライアントのクライアント識別子 (TfClientId) を指定する。 |
| rguid | GUID* | in | 予約済みキーを識別する GUID へのポインタである。 |
| prekey | TF_PRESERVEDKEY* | in | 予約するキーの組み合わせを記述する TF_PRESERVEDKEY 構造体へのポインタである。 |
| pchDesc | LPWSTR | in | 予約済みキーの説明文字列へのポインタである。 |
| cchDesc | DWORD | in | 説明文字列の文字数を指定する。 |
vtbl 13 HRESULT UnpreserveKey(GUID* rguid, TF_PRESERVEDKEY* pprekey)
| rguid | GUID* | in | 予約を解除するキーを識別する GUID へのポインタである。 |
| pprekey | TF_PRESERVEDKEY* | in | 予約を解除するキーの組み合わせを記述する TF_PRESERVEDKEY 構造体へのポインタである。 |
| rguid | GUID* | in | 説明を設定する予約済みキーを識別する GUID へのポインタである。 |
| pchDesc | LPWSTR | in | 設定する説明文字列へのポインタである。 |
| cchDesc | DWORD | in | 説明文字列の文字数を指定する。 |
| rguid | GUID* | in | 説明を取得する予約済みキーを識別する GUID へのポインタである。 |
| pbstrDesc | LPWSTR* | out | 予約済みキーの説明文字列を受け取る。呼び出し側が SysFreeString で解放する必要がある。 |
vtbl 16 HRESULT SimulatePreservedKey(ITfContext* pic, GUID* rguid, BOOL* pfEaten)
| pic | ITfContext* | in | 操作対象とするコンテキスト ITfContext へのポインタである。 |
| rguid | GUID* | in | シミュレートする予約済みキーを識別する GUID へのポインタである。 |
| pfEaten | BOOL* | out | キーが処理された (消費された) 場合に TRUE を受け取る。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ITfKeystrokeMgr "{AA80E7F0-2021-11D2-93E0-0060B067B86E}" #usecom global ITfKeystrokeMgr IID_ITfKeystrokeMgr "{}" #comfunc global ITfKeystrokeMgr_AdviseKeyEventSink 3 int,sptr,int #comfunc global ITfKeystrokeMgr_UnadviseKeyEventSink 4 int #comfunc global ITfKeystrokeMgr_GetForeground 5 var #comfunc global ITfKeystrokeMgr_TestKeyDown 6 sptr,sptr,var #comfunc global ITfKeystrokeMgr_TestKeyUp 7 sptr,sptr,var #comfunc global ITfKeystrokeMgr_KeyDown 8 sptr,sptr,var #comfunc global ITfKeystrokeMgr_KeyUp 9 sptr,sptr,var #comfunc global ITfKeystrokeMgr_GetPreservedKey 10 sptr,var,var #comfunc global ITfKeystrokeMgr_IsPreservedKey 11 var,var,var #comfunc global ITfKeystrokeMgr_PreserveKey 12 int,var,var,wstr,int #comfunc global ITfKeystrokeMgr_UnpreserveKey 13 var,var #comfunc global ITfKeystrokeMgr_SetPreservedKeyDescription 14 var,wstr,int #comfunc global ITfKeystrokeMgr_GetPreservedKeyDescription 15 var,var #comfunc global ITfKeystrokeMgr_SimulatePreservedKey 16 sptr,var,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ITfKeystrokeMgr "{AA80E7F0-2021-11D2-93E0-0060B067B86E}" #usecom global ITfKeystrokeMgr IID_ITfKeystrokeMgr "{}" #comfunc global ITfKeystrokeMgr_AdviseKeyEventSink 3 int,sptr,int #comfunc global ITfKeystrokeMgr_UnadviseKeyEventSink 4 int #comfunc global ITfKeystrokeMgr_GetForeground 5 sptr #comfunc global ITfKeystrokeMgr_TestKeyDown 6 sptr,sptr,sptr #comfunc global ITfKeystrokeMgr_TestKeyUp 7 sptr,sptr,sptr #comfunc global ITfKeystrokeMgr_KeyDown 8 sptr,sptr,sptr #comfunc global ITfKeystrokeMgr_KeyUp 9 sptr,sptr,sptr #comfunc global ITfKeystrokeMgr_GetPreservedKey 10 sptr,sptr,sptr #comfunc global ITfKeystrokeMgr_IsPreservedKey 11 sptr,sptr,sptr #comfunc global ITfKeystrokeMgr_PreserveKey 12 int,sptr,sptr,wstr,int #comfunc global ITfKeystrokeMgr_UnpreserveKey 13 sptr,sptr #comfunc global ITfKeystrokeMgr_SetPreservedKeyDescription 14 sptr,wstr,int #comfunc global ITfKeystrokeMgr_GetPreservedKeyDescription 15 sptr,sptr #comfunc global ITfKeystrokeMgr_SimulatePreservedKey 16 sptr,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。