ホーム › UI.Input.Ime › IActiveIME
IActiveIME
COMメソッド 17
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT Inquire(DWORD dwSystemInfoFlags, IMEINFO* pIMEInfo, LPWSTR szWndClass, DWORD* pdwPrivate)
| dwSystemInfoFlags | DWORD | in | システム情報を示すフラグを指定する。 |
| pIMEInfo | IMEINFO* | out | IME の情報(IMEINFO)を受け取る。 |
| szWndClass | LPWSTR | out | IME の UI ウィンドウクラス名を受け取るバッファへのポインタである。 |
| pdwPrivate | DWORD* | out | IME 固有のプライベートデータサイズを受け取る。 |
vtbl 4 HRESULT ConversionList(HIMC hIMC, LPWSTR szSource, DWORD uFlag, DWORD uBufLen, CANDIDATELIST* pDest, DWORD* puCopied)
| hIMC | HIMC | in | 対象の入力コンテキストハンドル(HIMC)を指定する。 |
| szSource | LPWSTR | in | 変換対象の文字列を指定する。 |
| uFlag | DWORD | in | 変換方法を示すフラグを指定する。 |
| uBufLen | DWORD | in | pDest バッファのサイズ(バイト数)を指定する。 |
| pDest | CANDIDATELIST* | out | 変換候補リスト(CANDIDATELIST)を受け取る。 |
| puCopied | DWORD* | out | バッファへ実際にコピーされたサイズを受け取る。 |
vtbl 5 HRESULT Configure(HKL hKL, HWND hWnd, DWORD dwMode, REGISTERWORDW* pRegisterWord)
| hKL | HKL | in | 対象のキーボードレイアウト(IME)ハンドルを指定する。 |
| hWnd | HWND | in | 対象ウィンドウのハンドルを指定する。 |
| dwMode | DWORD | in | 設定ダイアログの動作モードを示すフラグを指定する。 |
| pRegisterWord | REGISTERWORDW* | in | 登録単語データ(REGISTERWORDW)へのポインタである。不要なら NULL を指定する。 |
| uReserved | DWORD | in | 予約済みパラメータである。0 を指定する。 |
| hIMC | HIMC | in | 対象の入力コンテキストハンドル(HIMC)を指定する。 |
| uEscape | DWORD | in | 実行するエスケープ機能のインデックスを指定する。 |
| pData | void* | inout | エスケープ機能に渡すデータへのポインタである。 |
| plResult | LRESULT* | out | 処理結果(LRESULT)を受け取る。 |
| hIMC | HIMC | in | 対象の入力コンテキストハンドル(HIMC)を指定する。 |
| fFlag | BOOL | in | コンテキストをアクティブにするなら TRUE を指定する。 |
| hIMC | HIMC | in | 対象の入力コンテキストハンドル(HIMC)を指定する。 |
| uVirKey | DWORD | in | 処理する仮想キーコードを指定する。 |
| lParam | DWORD | in | キー入力に伴う LPARAM 値を指定する。 |
| pbKeyState | BYTE* | in | 現在のキー状態配列(256 バイト)へのポインタである。 |
| hIMC | HIMC | in | 対象の入力コンテキストハンドル(HIMC)を指定する。 |
| dwAction | DWORD | in | IME に通知するアクションを示す値を指定する。 |
| dwIndex | DWORD | in | 取得・設定対象を示すインデックスを指定する。 |
| dwValue | DWORD | in | アクションに付随する値を指定する。 |
| hIMC | HIMC | in | 対象の入力コンテキストハンドル(HIMC)を指定する。 |
| fSelect | BOOL | in | IME を選択状態にするなら TRUE を指定する。 |
vtbl 12 HRESULT SetCompositionString(HIMC hIMC, DWORD dwIndex, void* pComp, DWORD dwCompLen, void* pRead, DWORD dwReadLen)
| hIMC | HIMC | in | 対象の入力コンテキストハンドル(HIMC)を指定する。 |
| dwIndex | DWORD | in | 設定するコンポジション情報の種別を指定する。 |
| pComp | void* | in | コンポジション文字列データへのポインタである。 |
| dwCompLen | DWORD | in | pComp が指すコンポジションデータのサイズ(バイト数)を指定する。 |
| pRead | void* | in | 読み(リーディング)文字列データへのポインタである。 |
| dwReadLen | DWORD | in | pRead が指す読みデータのサイズ(バイト数)を指定する。 |
vtbl 13 HRESULT ToAsciiEx(DWORD uVirKey, DWORD uScanCode, BYTE* pbKeyState, DWORD fuState, HIMC hIMC, DWORD* pdwTransBuf, DWORD* puSize)
| uVirKey | DWORD | in | 変換する仮想キーコードを指定する。 |
| uScanCode | DWORD | in | スキャンコードを指定する。 |
| pbKeyState | BYTE* | in | 現在のキー状態配列(256 バイト)へのポインタである。 |
| fuState | DWORD | in | メニューがアクティブかどうかなどの状態フラグを指定する。 |
| hIMC | HIMC | in | 対象の入力コンテキストハンドル(HIMC)を指定する。 |
| pdwTransBuf | DWORD* | out | 変換結果の文字を受け取るバッファへのポインタである。 |
| puSize | DWORD* | out | 変換結果の文字数を受け取る。 |
| szReading | LPWSTR | in | 登録する単語の読み文字列を指定する。 |
| dwStyle | DWORD | in | 登録単語のスタイルを示す値を指定する。 |
| szString | LPWSTR | in | 登録する単語の表記文字列を指定する。 |
| szReading | LPWSTR | in | 削除する単語の読み文字列を指定する。 |
| dwStyle | DWORD | in | 登録単語のスタイルを示す値を指定する。 |
| szString | LPWSTR | in | 削除する単語の表記文字列を指定する。 |
| nItem | DWORD | in | 取得するスタイル項目数を指定する。 |
| pStyleBuf | STYLEBUFW* | out | 登録単語スタイル情報(STYLEBUFW)を受け取るバッファへのポインタである。 |
| puBufSize | DWORD* | out | 取得されたスタイル項目数を受け取る。 |
vtbl 17 HRESULT EnumRegisterWord(LPWSTR szReading, DWORD dwStyle, LPWSTR szRegister, void* pData, IEnumRegisterWordW** ppEnum)
| szReading | LPWSTR | in | 絞り込みに用いる読み文字列を指定する。NULL 可。 |
| dwStyle | DWORD | in | 登録単語のスタイルを示す値を指定する。 |
| szRegister | LPWSTR | in | 絞り込みに用いる登録文字列を指定する。NULL 可。 |
| pData | void* | in | 追加データへのポインタである。不要なら NULL を指定する。 |
| ppEnum | IEnumRegisterWordW** | out | 登録単語の列挙子(IEnumRegisterWordW)を受け取る。 |
| uCodePage | DWORD* | out | IME のコードページを受け取る。 |
| plid | WORD* | out | IME の言語 ID を受け取る。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IActiveIME "{6FE20962-D077-11D0-8FE7-00AA006BCC59}" #usecom global IActiveIME IID_IActiveIME "{}" #comfunc global IActiveIME_Inquire 3 int,var,var,var #comfunc global IActiveIME_ConversionList 4 sptr,wstr,int,int,var,var #comfunc global IActiveIME_Configure 5 sptr,sptr,int,var #comfunc global IActiveIME_Destroy 6 int #comfunc global IActiveIME_Escape 7 sptr,int,sptr,var #comfunc global IActiveIME_SetActiveContext 8 sptr,int #comfunc global IActiveIME_ProcessKey 9 sptr,int,int,var #comfunc global IActiveIME_Notify 10 sptr,int,int,int #comfunc global IActiveIME_Select 11 sptr,int #comfunc global IActiveIME_SetCompositionString 12 sptr,int,sptr,int,sptr,int #comfunc global IActiveIME_ToAsciiEx 13 int,int,var,int,sptr,var,var #comfunc global IActiveIME_RegisterWord 14 wstr,int,wstr #comfunc global IActiveIME_UnregisterWord 15 wstr,int,wstr #comfunc global IActiveIME_GetRegisterWordStyle 16 int,var,var #comfunc global IActiveIME_EnumRegisterWord 17 wstr,int,wstr,sptr,sptr #comfunc global IActiveIME_GetCodePageA 18 var #comfunc global IActiveIME_GetLangId 19 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IActiveIME "{6FE20962-D077-11D0-8FE7-00AA006BCC59}" #usecom global IActiveIME IID_IActiveIME "{}" #comfunc global IActiveIME_Inquire 3 int,sptr,sptr,sptr #comfunc global IActiveIME_ConversionList 4 sptr,wstr,int,int,sptr,sptr #comfunc global IActiveIME_Configure 5 sptr,sptr,int,sptr #comfunc global IActiveIME_Destroy 6 int #comfunc global IActiveIME_Escape 7 sptr,int,sptr,sptr #comfunc global IActiveIME_SetActiveContext 8 sptr,int #comfunc global IActiveIME_ProcessKey 9 sptr,int,int,sptr #comfunc global IActiveIME_Notify 10 sptr,int,int,int #comfunc global IActiveIME_Select 11 sptr,int #comfunc global IActiveIME_SetCompositionString 12 sptr,int,sptr,int,sptr,int #comfunc global IActiveIME_ToAsciiEx 13 int,int,sptr,int,sptr,sptr,sptr #comfunc global IActiveIME_RegisterWord 14 wstr,int,wstr #comfunc global IActiveIME_UnregisterWord 15 wstr,int,wstr #comfunc global IActiveIME_GetRegisterWordStyle 16 int,sptr,sptr #comfunc global IActiveIME_EnumRegisterWord 17 wstr,int,wstr,sptr,sptr #comfunc global IActiveIME_GetCodePageA 18 sptr #comfunc global IActiveIME_GetLangId 19 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。