Win32 API 日本語リファレンス
ホームUI.Input.Ime › IActiveIME

IActiveIME

COM
IID6fe20962-d077-11d0-8fe7-00aa006bcc59継承元IUnknown自前メソッド開始 vtbl3

メソッド 17

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

vtbl 3 HRESULT Inquire(DWORD dwSystemInfoFlags, IMEINFO* pIMEInfo, LPWSTR szWndClass, DWORD* pdwPrivate)
dwSystemInfoFlagsDWORDinシステム情報を示すフラグを指定する。
pIMEInfoIMEINFO*outIME の情報(IMEINFO)を受け取る。
szWndClassLPWSTRoutIME の UI ウィンドウクラス名を受け取るバッファへのポインタである。
pdwPrivateDWORD*outIME 固有のプライベートデータサイズを受け取る。
vtbl 4 HRESULT ConversionList(HIMC hIMC, LPWSTR szSource, DWORD uFlag, DWORD uBufLen, CANDIDATELIST* pDest, DWORD* puCopied)
hIMCHIMCin対象の入力コンテキストハンドル(HIMC)を指定する。
szSourceLPWSTRin変換対象の文字列を指定する。
uFlagDWORDin変換方法を示すフラグを指定する。
uBufLenDWORDinpDest バッファのサイズ(バイト数)を指定する。
pDestCANDIDATELIST*out変換候補リスト(CANDIDATELIST)を受け取る。
puCopiedDWORD*outバッファへ実際にコピーされたサイズを受け取る。
vtbl 5 HRESULT Configure(HKL hKL, HWND hWnd, DWORD dwMode, REGISTERWORDW* pRegisterWord)
hKLHKLin対象のキーボードレイアウト(IME)ハンドルを指定する。
hWndHWNDin対象ウィンドウのハンドルを指定する。
dwModeDWORDin設定ダイアログの動作モードを示すフラグを指定する。
pRegisterWordREGISTERWORDW*in登録単語データ(REGISTERWORDW)へのポインタである。不要なら NULL を指定する。
vtbl 6 HRESULT Destroy(DWORD uReserved)
uReservedDWORDin予約済みパラメータである。0 を指定する。
vtbl 7 HRESULT Escape(HIMC hIMC, DWORD uEscape, void* pData, LRESULT* plResult)
hIMCHIMCin対象の入力コンテキストハンドル(HIMC)を指定する。
uEscapeDWORDin実行するエスケープ機能のインデックスを指定する。
pDatavoid*inoutエスケープ機能に渡すデータへのポインタである。
plResultLRESULT*out処理結果(LRESULT)を受け取る。
vtbl 8 HRESULT SetActiveContext(HIMC hIMC, BOOL fFlag)
hIMCHIMCin対象の入力コンテキストハンドル(HIMC)を指定する。
fFlagBOOLinコンテキストをアクティブにするなら TRUE を指定する。
vtbl 9 HRESULT ProcessKey(HIMC hIMC, DWORD uVirKey, DWORD lParam, BYTE* pbKeyState)
hIMCHIMCin対象の入力コンテキストハンドル(HIMC)を指定する。
uVirKeyDWORDin処理する仮想キーコードを指定する。
lParamDWORDinキー入力に伴う LPARAM 値を指定する。
pbKeyStateBYTE*in現在のキー状態配列(256 バイト)へのポインタである。
vtbl 10 HRESULT Notify(HIMC hIMC, DWORD dwAction, DWORD dwIndex, DWORD dwValue)
hIMCHIMCin対象の入力コンテキストハンドル(HIMC)を指定する。
dwActionDWORDinIME に通知するアクションを示す値を指定する。
dwIndexDWORDin取得・設定対象を示すインデックスを指定する。
dwValueDWORDinアクションに付随する値を指定する。
vtbl 11 HRESULT Select(HIMC hIMC, BOOL fSelect)
hIMCHIMCin対象の入力コンテキストハンドル(HIMC)を指定する。
fSelectBOOLinIME を選択状態にするなら TRUE を指定する。
vtbl 12 HRESULT SetCompositionString(HIMC hIMC, DWORD dwIndex, void* pComp, DWORD dwCompLen, void* pRead, DWORD dwReadLen)
hIMCHIMCin対象の入力コンテキストハンドル(HIMC)を指定する。
dwIndexDWORDin設定するコンポジション情報の種別を指定する。
pCompvoid*inコンポジション文字列データへのポインタである。
dwCompLenDWORDinpComp が指すコンポジションデータのサイズ(バイト数)を指定する。
pReadvoid*in読み(リーディング)文字列データへのポインタである。
dwReadLenDWORDinpRead が指す読みデータのサイズ(バイト数)を指定する。
vtbl 13 HRESULT ToAsciiEx(DWORD uVirKey, DWORD uScanCode, BYTE* pbKeyState, DWORD fuState, HIMC hIMC, DWORD* pdwTransBuf, DWORD* puSize)
uVirKeyDWORDin変換する仮想キーコードを指定する。
uScanCodeDWORDinスキャンコードを指定する。
pbKeyStateBYTE*in現在のキー状態配列(256 バイト)へのポインタである。
fuStateDWORDinメニューがアクティブかどうかなどの状態フラグを指定する。
hIMCHIMCin対象の入力コンテキストハンドル(HIMC)を指定する。
pdwTransBufDWORD*out変換結果の文字を受け取るバッファへのポインタである。
puSizeDWORD*out変換結果の文字数を受け取る。
vtbl 14 HRESULT RegisterWord(LPWSTR szReading, DWORD dwStyle, LPWSTR szString)
szReadingLPWSTRin登録する単語の読み文字列を指定する。
dwStyleDWORDin登録単語のスタイルを示す値を指定する。
szStringLPWSTRin登録する単語の表記文字列を指定する。
vtbl 15 HRESULT UnregisterWord(LPWSTR szReading, DWORD dwStyle, LPWSTR szString)
szReadingLPWSTRin削除する単語の読み文字列を指定する。
dwStyleDWORDin登録単語のスタイルを示す値を指定する。
szStringLPWSTRin削除する単語の表記文字列を指定する。
vtbl 16 HRESULT GetRegisterWordStyle(DWORD nItem, STYLEBUFW* pStyleBuf, DWORD* puBufSize)
nItemDWORDin取得するスタイル項目数を指定する。
pStyleBufSTYLEBUFW*out登録単語スタイル情報(STYLEBUFW)を受け取るバッファへのポインタである。
puBufSizeDWORD*out取得されたスタイル項目数を受け取る。
vtbl 17 HRESULT EnumRegisterWord(LPWSTR szReading, DWORD dwStyle, LPWSTR szRegister, void* pData, IEnumRegisterWordW** ppEnum)
szReadingLPWSTRin絞り込みに用いる読み文字列を指定する。NULL 可。
dwStyleDWORDin登録単語のスタイルを示す値を指定する。
szRegisterLPWSTRin絞り込みに用いる登録文字列を指定する。NULL 可。
pDatavoid*in追加データへのポインタである。不要なら NULL を指定する。
ppEnumIEnumRegisterWordW**out登録単語の列挙子(IEnumRegisterWordW)を受け取る。
vtbl 18 HRESULT GetCodePageA(DWORD* uCodePage)
uCodePageDWORD*outIME のコードページを受け取る。
vtbl 19 HRESULT GetLangId(WORD* plid)
plidWORD*outIME の言語 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 指定が可能。