|
素晴らしきかなOS/2 for IBM OS/2Warp and eComStation - OS/2 32bit Input Method - since Nov. 13, 2010 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]()
素晴らしきかなOS/2 トップページ私家版 OS/2 Warp への IBM PC 対応機種一覧「素晴らしきかなOS/2」謹製OS/2システム・メッセージリスト |
この記事は「OS/2 32bit Input Method」と題して、Warp4 J-POCKET CD-ROM (J_POCET\BOOKS\TOOLKIT\IM32.INF) に収録されている OS/2 32ビット・インプット・メソッド Final Programming Functional Specifications Release 1.0 にある API /メッセージ/構造体の情報を HTML で整理するものです。
[API]ImAssociateInstance この関数は、指定したウィンドウに指定したIMインスタンスを関連付けます。ウィンドウ生成時には、システムは、デフォルトのIMインスタンスを関連付けます。そして、アプリケーションは、ImCreateInstanceをコールして生成したIMインスタンスに置き換えることができます。もし、hIMIがNULLの場合、関数は、指定したウィンドウとの関連付けを取り除きます。
書式:
[API]ImCreateInstance
APIRET APIENTRY ImAssociateInstance(HWND hWnd, HIMI hIMI, PHIMI phIMI)
パラメータ:
hWnd(入力) - IMインスタンスを関連付けたいウィンドウ・ハンドル
戻り値:
hIMI(入力) - 関連付けたいIMインスタンスのハンドル phIMI(出力) - 前にウィンドウと関連付けられていたIMインスタンスのハンドルへのポインタ
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
備考:
このAPIは、ImCreateInstanceをコールしたスレッドと同じスレッドからコールする必要があります。
もし、デフォルトのIMインスタンスではなく、自分のIMインスタンスを使用したい場合には、アプリケーションは、この関数を使って新しいIMインスタンスを生成できます。この関数で生成したIMインスタンスは、システムがインスタンスのためにメモリーをアロケートし、初期化します。
書式:
[API]ImConvertString
APIRET APIENTRY ImCreateInstance(PHIMI phIMI)
パラメータ:
phIMI(出力) - 生成されたIMインスタンスのハンドルへのポインタ
戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
アプリケーションは、IMEの変換エンジンを利用して文字列を変換できます。
書式:
[API]ImDeregisterWord
APIRET APIENTRY ImConvertString(HIMI hIMI, PSZ pSrc, PCANDIDATELISTHEADER pDst, PULONG pulBufLen, ULONG ulFlag)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル
戻り値:
pSrc(入力) - 変換させたい文字列へのポインタ pDst(出力) - CANDIDATELISTHEADERがコピーされるバッファ pulBufLen(入力/出力) - (入力)CANDIDATELISTHEADERがコピーされるバッファのサイズをバイトで指定します。 - (出力)バッファにコピーされた実際のCANDIDDDATELISTHEADERのサイズが返ります。 ulFlag - 変換タイプ
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
備考:
参照 CANDIDATELISTHEADER
アプリケーションは、IMEの辞書から単語を除くことができます。
書式:
[API]ImDestroyInstance
APIRET APIENTRY ImDeregisterWord(HIMI hIMI, PSZ pszReading, ULONG ulType, PSZ pszDeregister)
パラメータ:
hIMI(入力) - IMEに関連付けられているIMインスタンスのハンドル
戻り値:
pszReading(入力) - 取り除きたい単語のよみ文字列へのポインタ ulType(入力) - 登録した文字列のタイプ pszDeregister(入力) - 取り除く登録文字列へのポインタ
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
ImCreateInstance関数で生成したIMインスタンスは、アプリケーションが終了する前にこの関数で開放する必要があります。
書式:
[API]ImEnumRegisterWord
APIRET APIENTRY ImDestroyInstance(HIMI hIMI)
パラメータ:
hIMI(input) - 開放するIMインスタンスのハンドル
戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
備考:
この関数をコールする前に、アプリケーションはImAssociateInstance関数でウィンドウとの関連付けを取り除いておく必要があります。
アプリケーションは、 よみ、スタイル、登録文字列によって、登録した単語を列挙できます。
書式:
[API]ImEscape
APIRET APIENTRY ImEnumRegisterWord(HIMI hIMI,
パラメータ:
REGISTERWORDENUMPROC pfnEnumProc, PSZ pszReading, ULONG ulType, PSZ pszRegister, PVOID pData)
hIMI(入力) - IMインスタンスのハンドル
戻り値:
備考:
pfnEnumProc(入力) - アプリケーションで定義したコールバック関数へのポインタ。列挙するために使用されます。 pszReading(入力) - 列挙させるよみへのポインタ。このパラメータがNULLの場合には、 ulStyleパラメータとpszRegisterパラメータの一致するすべてのよみが列挙されます。 ulType(入力) - 登録されている単語のタイプ。このパラメータが0の場合、pszReadingパラメータとpszRegisterパラメータの一致するすべてのタイプが列挙されます。 pszRegister(入力) - 列記させる登録文字列へのポインタ。このパラメータがNULLの場合には、 pszReadingパラメータとulStyleパラメータの一致する登録文字列が列挙されます。 pData(入力) - このパラメータは、アプリケーションで使用できます。pfnEnumProcで指定したコールバック関数に渡されます。
EnumRegisterWord - アプリケーション定義のコールバック関数
書式:
ULONG EXPENTRY EnumRegisterWord(PSZ pszReading, ULONG ulType, PSZ pszRegister, アプリケーションは、IMEの関数を直接実行することができます。この関数をコールする時には、アプリケーションは、ulEscapeパラメータで指定したIMEの関数を知る必要があるでしょう。
書式:
[API]ImGetConversionString
APIRET APIENTRY ImEscape(HIMI hIMI, ULONG ulEscape, PVOID pData)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル
戻り値:
ulEscape(入力) - 実行するIME関数のインデックス システムは、IME_ESC_RESERVED_FIRSTからIME_ESC_RESERVED_LASTをリザーブしています。IMEは、IME_ESC_PRIVATE_FIRSTからIME_ESC_PRIVATE_LASTまでの値を使用できます。 pData(入力/出力) - 実行する関数に関連するデータ
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
アプリケーションは、変換文字列の情報を得ることができます。
書式:
[API]ImGetInstance
APIRET APIENTRY ImGetConversionString(HIMI hIMI, ULONG ulIndex, PVOID pBuf, PULONG pulBufLen)
パラメータ:
hIMI(入力) - 変換文字列に関連するIMインスタンスのハンドル
戻り値:
ulIndex(入力) - 照会したい情報のインデックス
pBuf(出力) - 情報をコピーするバッファへのポインタ pulBufLen(入力/出力) - (入力)バッファのサイズをバイト単位で指定します。 (出力) - バッファにコピーされた実際のサイズが返されます。ulBufLenパラメータに0を指定すると、すべての情報を得た場合のサイズが返されます。
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
アプリケーションは、IMインスタンスの情報にアクセスするときには、アクセスする前にこの関数をコールしてIMインスタンスのハンドルを手に入れる必要があります。
書式:
[API]ImGetResultString
APIRET APIENTRY ImGetInstance(HWND hWnd, PHIMI phIMI)
パラメータ:
hWnd(入力) - ウィンドウ・ハンドル
戻り値:
phIMI(出力) - IMインスタンスのハンドル
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
アプリケーションは、結果文字列に関する情報を取得できます。
書式:
[API]ImGetStatusString
APIRET APIENTRY ImGetResultString(HIMI hIMI, ULONG ulIndex,
パラメータ:
PVOID pBuf, PULONG pulBufLen)
hIMI(入力) - 変換文字列に関連付けられるIMインスタンスのハンドル
戻り値:
ulIndex(入力) - 照会する情報のインデックス
節情報については、ImGetConversionStringを参照してください。 pBuf(出力) - 情報がコピーされるバッファ pulBufLen(入力/出力) - (入力)バッファのサイズをバイト単位で指定します。 (出力)バッファにコピーされた実際のサイズが返されます。ulBufLenパラメータに0を指定すると、すべての情報を得た場合のサイズが返されます。
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
備考:
APIは、IMインスタンスの内容を変更しません。レベル-3のアプリケーションが、この関数をコールするときは、デフォルトIMウィンドウに対して対応するWM_IMEREQUESTメッセージを送付してはいけません。
アプリケーションは、状況文字列を取得できます。
書式:
[API]ImIsIMEMessage
APIRET APIENTRY ImGetStatusString(HIMI hIMI, ULONG ulIndex, PVOID pBuf, PULONG pulBufLen)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル
戻り値:
ulIndex(入力) - 照会する情報のインデックス
状況文字列の属性
色属性
pBuf(出力) - 情報をコピーするバッファ pulBufLen(入力/出力) - (入力)バッファのサイズをバイト単位で指定韋cIます。 - (出力)実際にコピーされたバイト数が返りまャ盾キ。ulBufLenパラメータに0を指定すると、すべての情報を得た場合のサイズが返されます。
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
この関数は、IMウィンドウへのメツセージかチェックして、指定されたIMウィンドウに送付します。
書式:
[API]ImQueryCandidateList
APIRET APIENTRY ImIsIMEMessage(HWND hwndIm, ULONG ulMsgid, MPARAM mpParam1, MPARAM mpParam2, pBOOL pfResult)
パラメータ:
hwndIm(入力) - IMウィンドウのハンドル
戻り値:
ulMsgid(入力) - メッセージID mpParam1(入力) - パラメータ 1 mpParam2(入力) - パラメータ 2 pfResult(出力) - もしTRUEが返ると、このメツセージは、IMウィンドウによって処理されています。もしFALSEの場合には、メッセージは、処理されていません。
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
アプリケーションは、候補リストと、そのすべてのリストの数を取得できます。いくつかの候補列がある可能性があるので、ulIndexで指定します。もし、アプリケーションでリストの個数がわからないときには、ulIndexに0xffffffffを指定してコールすることによって取得できます。
書式:
[API]ImQueryCandidateWindowPos
APIRET APIENTRY ImQueryCandidateList(HIMI hIMI, ULONG ulIndex, PCANDIDATELISTHEADER pCandidateList, PULONG pulBufLen)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル
戻り値:
ulIndex(入力) - 候補列の0を基点にしたインデックス pCandidateList(出力) - CANDIDATELISTHEADER構造体を受け取るバッファ pulBufLen(入力/出力) - (入力)CANDIDATELISTHEADERを受け取るバッファのサイズ - (出力)実際にCANDIDATELISTHEADERのコピーbcEれたサイズが返ります。ulIndexが0xffffffffの場合には、候補列の数を返します。また、ulBufLenが0の場合には、ulIndexで指定される候補列のサイズを返します。
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
備考:
参照 CANDIDATELISTHEADER.
アプリケーションは、候補ウィンドウについての情報を取得できます。
書式:
[API]ImQueryConversionAngle
APIRET APIENTRY ImQueryCandidateWindowPos(HIMI hIMI, PCANDIDATEPOS pCandidatePos)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル
戻り値:
pCandidatePos(出力) - CANDIDATEPOSのコピーされるバッファ
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
備考:
参照 CANDIDATEPOS
アプリケーションは、変換ウィンドウの描画角度についての情報を取得できます。
書式:
[API]ImQueryConversionFont
APIRET APIENTRY ImQueryConversionAngle(HIMI hIMI, PGRADIENTL pgradlAngle)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル
戻り値:
pgradAngle(出力) - GRADIENT構造体を取得するためのバッファ
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
アプリケーションは、変換ウィンドウのフォント情報を取得できます。
書式:
[API]ImQueryConversionFontSize
APIRET ImQueryConversionFont(HIMI hIMI, PFATTRS pFontAttrs)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル
戻り値:
pFontAttrs(出力) - フォント情報(FATTRS)を取得するバッファ
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
アプリケーションは、変換ウィンドウのフォントセルサイズの情報を取得できます。
書式:
[API]ImQueryConversionWindowPos
APIRET APIENTRY ImQueryConversionFontSize(HIMI hIMI, PSIZEF psizfxBox)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル
psizfxBox(出力) - 受け取るバッファのサイズ SIZEF 変換ウィンドウについての情報を取得します。
書式:
[API]ImQueryCurrentIME
APIRET APIENTRY ImQueryConversionWindowPos(HIMI hIMI, PCONVERSIONPOS pConvPos)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル
戻り値:
pConvPos(出力) - コピーされたCONVERSIONPOSのサイズ
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
備考:
参照 CONVERSIONPOS.
アプリケーションは、現在使用中のIMEのIME IDを取得できます。IME IDはImRegisterIMEによって返されるIME固有なIDです。IMEが関連付けられていない時は、IME IDとして0が返されます。
書式:
[API]ImQueryDefaultIME
APIRET APIENTRY ImQueryCurrentIME(HIMI hIMI, PULONG pImeId)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル。
戻り値:
pImeId(出力) - IME IDを受け取るバッファ。システムに登録されるときに各々のIMEに与えられる固有なIDです。
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
アプリケーションは、指定したコードページのデフォルトIMEのIME IDを取得できます。
書式:
[API]ImQueryDefaultIMWindow
APIRET APIENTRY ImQueryDefaultIME(ULONG ulCodepage, PULONG pImeId)
パラメータ:
ulCodepage(入力) - デフォルトIMEのIDを取得したいコードページ
戻り値:
pImeId(出力) - IME ID
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
アプリケーションは、デフォルトIMウィンドウのハンドルを取得できます。
書式:
[API]ImQueryIMEID
APIRET APIENTRY ImQueryDefaultIMWindow(HWND hWnd, PHWND phWnd)
パラメータ:
hWnd(入力) - アプリケーションのウィンドウハンドル
戻り値:
phWnd(出力) - デフォルトIMウィンドウのウィンドウ・ハンドル
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
アプリケーションは、指定されたIMEのIME IDを取得できます。
書式:
[API]ImQueryIMEInfo
APIRET APIENTRY ImQueryIMEID(PSZ pszIMEName, PULONG pImeId)
パラメータ:
pszIMEName(入力) - IMEName。 拡張子を除いたIMEのDLLの名前です。そして、このIMEは、IMEインストーラーによってシステムに登録されています。 この関数を使うアプリケーションは、IMENameを知っている必要がありません。もし必要ならアプリケーションは、ImQueryIMEListをコールすることによって、すべてのIME IDを取得できます。
戻り値:
pImeId(出力) - IME IDを受け取るバッファ
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
アプリケーションは、IMEについての情報を取得できます。
書式:
[API]ImQueryIMEList
APIRET APIENTRY ImQueryIMEInfo(ULONG ImeId, PIMEINFOHEADER pImeInfoHeader, PULONG pulBufLen)
パラメータ:
ImeId(入力) - IME ID
戻り値:
pImeInfoHeader(出力) - IMEの情報を受け取るバッファ pulBufLen(入力/出力) - (入力)IMEの情報を受け取るバッファのサイャズ - (出力) バッファにコピーされた実際のサイャズ又は入力としてuulBufLenに0を指定すると、すべての情報を取得する際のサイズが返ります。
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
備考:
参照 IMEINFOHEADER.
アプリケーションは、この関数でIMEのリストを取得できます。 リストは、IME IDの値のULONGの配列になります。ImQueryIMEListは、アプリケーションが準備したバッファにIMEのリストをコピーします。 IMEの数を知りたいときには、pulCountに0を指定してこの関数をコールします。
書式:
[API]ImQueryIMEProperty
APIRET APIENTRY ImQueryIMEList(ULONG ulCodepage, PULONG aImeId, PULONG pulCount)
パラメータ:
ulCodepage(入力) - IMEのリストを得るコードページ。これが0のときには、システム上のすべてのIMEが返ります。
戻り値:
aImeId(出力) - IME IDの配列を取り出すバッファ。pulCountが0のときには、このアドレスは使用されません。 pulCount(入力/出力) - IMEの個数。これを0にすると、ulCodepageのコードページをサポートするすべてのIMEの数が返ります。
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
アプリケーションは、IMEのプロパティと能力を取得できます。
書式:
[API]ImQueryIMMode
APIRET APIENTRY ImQueryIMEProperty(HIMI HIMI, ULONG ulIndex, PULONG pulProp)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル
戻り値:
ulIndex(入力) - 照会したいプロパティ情報のタイプ
pulProp(出力) - 上記のタイプにあった情報が返るバッファ ulIndexがQIP_PROPERTYの場合
ulindexがQIP_INPUTMODEかQIP_CONVERSIONMODEの場合には、ImQueryIMModeの項で 定義されている入力モードあるいは変換モードがサポートされているかになります。 ulIndexがQIP_UIの場合
ulIndexがQIP_SETCONVSTRの場合
ulIndexがQIP_SELECTの場合
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
アプリケーションは、入力モード、変換モードとオープン状況を照会できます。
書式:
[API]ImQueryInfoMsg
APIRET APIENTRY ImQueryIMMode(HIMI hIMI, PULONG pulInputMode, PULONG pulConversionMode)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル
戻り値:
pulInputMode(出力) - IMEの入力モードまたは、IMEのオン/オフ
pulConversionMode(出力) - 変換モード
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
アプリケーションは、IMEからのエラー・メッセージを取得します。
書式:
[API]ImQueryMsgQueueProperty
APIRET APIENTRY ImQueryInfoMsg(HIMI hIMI, ULONG ulIndex, PSZ pBuf, PULONG pulBufLen)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル
戻り値:
ulIndex(入力) - 取得するメッセージのタイプ
pBuf(出力) - ulIndexがIMR_INFOMSG_ERRTITLE、IMR_INFOMSG_ERRSTR、IMR_INFOMSG_PRIVATEの時には、メッセージ文字列の返るバッファ。ulIndexがIMR_INFOMSG_ERRLEVEL、IMR_INFOMSG_ERRINDEXのときには、0にします。 pulBufLen(入力/出力) - (入力)ulIndexがIMR_INFOMSG_ERRTITLE、IMRRR_INFOMSG_ERRSTR=AIMR_INFOMSG_PRIVATEのときには、バッファのサイズを指定します。 - (出力) 実際のサイズが返ります。ulBufLenbct入力が0のときにbヘ、メッセージ文字列を取得するのに必要なバッファのサイズが返ります。ulIndexがIMR_INFOMSG_ERRLEVEL、IMR_INFOMSG_ERRINDEXのときには、次のうちのどれかの値が返ります。 ulIndexがIMR_INFOMSG_ERRLEVELの場合
ulIndexがIMR_INFOMSG_ERRINDEXの場合
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。 ERROR_BUFFER_OVERFLOW
アプリケーションは、フレーム毎のIMEかメッセージ・キュー毎のIMEのどちらの方法が デフォルトのインスタンスの関連付け方法かを取得できます。
書式:
[API]ImQueryRegisterWordType
APIRET APIENTRY ImQueryMsgQueueProperty(HMQ hmq, PULONG pulFlag)
パラメータ:
hmq(入力) - メッセージ・キュー・ハンドル
戻り値:
pulFlag(出力) - メッセージ・キュー・プロパティ情報
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
IMEによってサポートされる単語登録のタイプを取得できます。
書式:
[API]ImQueryStatusWindowPos
APIRET APIENTRY ImQueryRegisterWordType(HIMI hIMI, PULONG pulCount, PWORDTYPE pWordType)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル
戻り値:
pulCount(入力/出力) - (入力)受け取るWORDTYPEの最大個数 (出力) バッファにコピーされたWORDTYPEの実際の個数。pulCountの入力が0の場合には、すべてのWORDTYPEが返されたときの個数が戻されます。 pWordType(出力) - WORDTYPEを受け取るバッファ
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
備考:
参照 WORDTYPE
アプリケーションは、状況ウィンドウの位置を取得できます。
書式:
[API]ImRegisterWord
APIRET APIENTRY ImQueryStatusWindowPos(HIMI hIMI, PPOINTL pptPos, PSIZEL pszlSize)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル
戻り値:
pptPos(出力) - ワールド座標でのウィンドウ位置へのポインタ pszlSize(出力) - ウィンドウサイズへのポインタ
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
アプリケーションは、IMEの辞書へ単語を登録できます。
書式:
[API]ImReleaseInstance
APIRET APIENTRY ImRegisterWord(HIMI hIMI, PSZ pszReading, ULONG ulType, PSZ pszRegister)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル
戻り値:
pszReading(入力) - よみ文字列へのポインタ ulType(入力) - 登録文字列のタイプ pszRegister(入力) - 登録文字列へのポインタ
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
この関数は、IMインスタンスを開放します。アプリケーションは、ImGetInstanceをコールしたら必ずこの関数をコールする必要があります。
書式:
[API]ImRequestIME
APIRET APIENTRY ImReleaseInstance(HWND hWnd, HIMI hIMI)
パラメータ:
hWnd(入力) - ウィンドウ・ハンドル
戻り値:
hIMI(入力) - IMインスタンスのハンドル
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
アプリケーションは、IMEに対していくつかのリクエストをすることができます。
書式:
[API]ImSetCandidateWindowPos
APIRET APIENTRY ImRequestIME(HIMI hIMI, ULONG ulAction, ULONG ulIndex, ULONG ulValue)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル
戻り値:
ulAction(入力) - IMEリクエストのタイプ
ulIndex(入力) - 見う補リストのインデックス。または、ulActionがREQ_CONVERSIONSTRINGの場合には、以下のいずれかになります。
ulValue(入力) - ulActionがREQ_SELECTCANDIDATEの場合には、変換文字列のインデックスです。
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
アプリケーションは、候補ウィンドウについての情報をセットできます。
書式:
[API]ImSetConversionAngle
APIRET APIENTRY ImSetCandidateWindowPos(HIMI hIMI, PCANDIDATEPOS pCandidatePos)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル
戻り値:
pCandidatePos(入力) - CANDIDATEPOSのアドレス
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
備考:
参照 CANDIDATEPOS.
アプリケーションは、変換ウィンドウの描画角度についての情報をセットできます。
書式:
[API]ImSetConversionFont
APIRET APIENTRY ImSetConversionAngle(HIMI hIMI, PGRADIENTL pgradlAngle)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル
備考:
pradlAngle(入力) - GRADIENTL 構造体へのポインタ
ImSetConversionAngle、ImSetConversionFont、ImSetConversionFontSizeは、同じメッセージを起こします。
アプリケーションは、変換ウィンドウのフォント属性情報をセットできます。
書式:
[API]ImSetConversionFontSize
APIRET APIENTRY ImSetConversionFont(HIMI hIMI, PFATTRS pFontAttr)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル
戻り値:
pFontAttr(入力) - フォント情報(FATTRS)へのポインタ
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
アプリケーションは、変換ウィンドウのフォント・セル・サイズについての情報をセットできます。
書式:
[API]ImSetConversionString
APIRET APIENTRY ImSetConversionFontSize(HIMI hIMI, PSIZEF psizfxBox)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル
戻り値:
psizfxBox(入力) - SIZEF 構造体へのポインタ
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
変換文字列の情報と変換文字列のよみをセットできます。
書式:
[API]ImSetConversionWindowPos
APIRET APIENTRY ImSetConversionString(HIMI hIMI, ULONG ulIndex, PVOID pConv, ULONG ulConvLen, PVOID pReading, ULONG ulReadingLen)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル
戻り値:
ulIndex(入力) - セットする情報のタイプ
pConv(入力) - 変換文字列へのポインタ。もしセットする変換文字列がなければ、NULLにする必要があります。 ulConvLen(入力) - 変換文字列のサイズ pReading(入力) - よみ文字列へのポインタ。もし、セットするよみ文字列がなければ、NULLにする必要があります。 ulReadingLen(入力) - よみ文字列のサイズ
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
アプリケーションは、変換ウィンドウの位置をセットできます。
書式:
[API]ImSetCurrentIME
APIRET APIENTRY ImSetConversionWindowPos(HIMI hIMI, PCONVERSIONPOS pConvPos)
パラメータ:
hIMI(入力) - 変換ウィンドウに関連するIMインスタンスのハンドル
戻り値:
pConvPos(入力) - 変換ウィンドウの位置(CONVERSIONPOS)へのポインタ
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
備考:
参照 CONVERSIONPOS
アプリケーションは、この関数でIME IDをセットすることによってダイレクトにIMEを変更することができます。また、アプリケーションは、IMEリストに従ってIMEを順番にひとつひとつ変更する事もできます。
書式:
[API]ImSetDefaultIME
APIRET APIENTRY ImSetCurrentIME(HIMI hIMI, ULONG ulAction, ULONG ImeId)
パラメータ:
hIMI - IMインスタンスのハンドル
戻り値:
ulAction(入力) - 以下のいずれかひとつの値になります。
ImeId(入力) - IME ID。ulActionがSCI_SETBYIDのときにのみ有効です。
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
アプリケーションは、指定したコードページのデフォルトIMEをセットできます。
書式:
[API]ImSetIMEListOrder
APIRET APIENTRY ImSetDefaultIME(ULONG ulCodepage, ULONG ImeId)
パラメータ:
ulCodepage(入力) - デフォルトIMEをセットするコードページ
戻り値:
ImeId(入力) - デフォルトにするIMEのIME ID
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
この関数は、IMEリストのIMEの順番を変更します。
書式:
[API]ImSetIMMode
APIRET APIENTRY ImSetIMEListOrder(ULONG ulCodepage, ULONG ulAction, ULONG ImeIdTarget, ULONG ImeIdIndex)
パラメータ:
ulCodepage(入力) - IMEリストの順番を変更したいコードページ
戻り値:
ulAction(入力) - 以下のいずれかになります。
ImeIdTarget(入力) - 順番を変更したいIMEのID ImeIdIndex(入力) - ulActionがSLO_SETAFTERかSLO_SETBEFOREの場合に有効です。
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
アプリケーションは、カレントの入力モード、変換モード、オープン状況をセットできます。
書式:
[API]ImSetMsgQueueProperty
APIRET APIENTRY ImSetIMMode(HIMI hIMI, ULONG ulInputMode, ULONG ulConversionMode)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル
戻り値:
ulInputMode(入力) - 入力モードあるいは、IMEのオン/オフ ulConversionMode(入力) - 変換モード
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
備考:
ImQueryIMModeに入力モードと変換モードが定義されていますので、参照してください。
アプリケーションは、デフォルトIMインスタンスの関連方法をセットできます。
書式:
[API]ImSetStatusWindowPos
APIRET APIENTRY ImSetMsgQueueProperty( HMQ hmq, ULONG ulFlag )
パラメータ:
hmq(入力) - メツセージ・キューのハンドル
戻り値:
ulFlag(入力) - セットするメツセージ・プロパティ情報。ImQueryMsgQueuePropertyを参照してください。
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
アプリケーションは、状況ウィンドウの位置をセットできます。
書式:
[API]ImShowIMEDlg
APIRET APIENTRY ImSetStatusWindowPos(HIMI hIMI, PPOINTL pptPos)
パラメータ:
hIMI(入力) - 状況ウィンドウに関連付けられたIMインスタンスのハンドル
戻り値:
pptPos(入力) - 世界座標でのウィンドウ位置へのポインタ
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
この関数は、IMEに設定ダイログを表示させます。設定ダイアログには、構成ダイアログと、単語登録ダイアログと辞書選択ダイアログがあります。
書式:
[API]ImShowStatusWindow
APIRET APIENTRY ImShowIMEDlg(HIMI hIMI, ULONG ulDlgType, PREGISTERWORDHEADER pRegWord)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル
戻り値:
ulDlgType(入力) - ダイアログのタイプ
pRegWord(入力) - REGISTERWORDHEADER構造体へのポインタ。このパラメータは、 ulDlgTypeがIME_DLG_REGWORDのときにだけ有効です。
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
備考:
参照 REGISTERWORDHEADER構造体
この関数は、状況ウィンドウの表示/非表示を行います。
書式:
APIRET APIENTRY ImShowStatusWindow(HIMI hImi, ULONG ulFlag)
パラメータ:
hImi(入力) - IMインスタンスのハンドル
戻り値:
ulFlag(入力) - フラグ
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
[Message]WM_IMECONTROL このメッセージは、アプリケーションがIMEをコントロールしたいときにIMウィンドウに送付されます。
パラメータ:
[Message]WM_IMEREQUEST
mparam1 : ulControl(ULONG) - コントロールの値。次のうちのひとつになります。
戻り値:
IMC_HIDESTATUSWINDOW :
param2 : それぞれのコントロールの値によります。
アプリケーションは、状況ウィンドウを消すために、IMウィンドウにこのメッセージを送付します。param2は、0にします。 IMC_QUERYCANDIDATEPOS : アプリケーションは、候補ウィンドウの位置を照会するために、IMウィンドウにこのメッセージを送付します。 param2は、CANDIDATEPOSへのポインタになります。 このポインタは、候補ウィンドウの位置に対するCANDIDATEPOS 構造体を受け取ります。 IMC_QUERYCONVERSIONANGLE : アプリケーションは、変換ウィンドウの描画角度を照会するために、IMウィンドウにこのメッセージを送付します。 param2は、GRADIENTLへのポインタになります。 このポインタは、変換ウィンドウのフォントに対するGRADIENTL構造体を受け取ります。 IMC_QUERYCONVERSIONFONT : アプリケーションは、変換ウィンドウのフォント情報を照会するために、IMウィンドウにこのメッセージを送付します。 param2は、FATTRSへのポインタです。 このポインタは、変換ウィンドウのフォントのFATTRS 構造体を受け取ります。 IMC_QUERYCONVERSIONFONTSIZE : アプリケーションは、変換ウィンドウのフォントのサイズを照会するためにIMウィンドウにこのメッセージを送付します。 param2は、SIZEFへのポインタです。 このポインタは、変換ウィンドウのフォントのSIZEF 構造体を受け取ります。 IMC_QUERYCONVERSIONWINDOWPOS : アプリケーションは、変換ウィンドウの位置を照会するために、IMウィンドウにこのメッセージを送付します。 param2は、CONVERSIONPOSへのポインタです。 このポインタは、変換ウィンドウの位置のCONVERSIONPOS 構造体を 受け取ります。 IMC_QUERYIMMODE : アプリケーションは、IMモードを照会するために、IMウィンドウにこのメッセージを送付します。 param2は、IMMODEへのポインタです。 このポインタは、IMモード(入力モード、変換モードとIMEのオン/オフ)のIMMODE構造体を受け取ります。 ImQueryIMMに定義されていますので、参照してください。 IMC_QUERYSTATUSWINDOWPOS : アプリケーションは、状況ウィンドウの位置を照会するためにIMウィンドウにこのメッセージを送付します。 param2は、POINTLへのポインタです。 このポインタは、状況ウィンドウの位置のPOINTL 構造体を受け取ります。 IMC_QUERYSTATUSWINDOWSIZE : アプリケーションは、状況ウィンドウのサイズを照会するためにIMウィンドウにこのメッセージを送付します。 param2は、SIZELへのポインタです。このポインタは、状況ウィンドウのサイズのSIZEL 構造体を受け取ります。 IMC_SHOWSTATUSWINDOW : アプリケーションは、状況ウィンドウを表示するためにIMウィンドウにこのメッセージを送付します。param2は、0です。 IMC_SETCANDIDATEPOS : アプリケーションは、候補ウィンドウの位置をセットするためにIMウィンドウにこのメッセージを送付します。 param2は、候補ウィンドウの位置のCANDIDATEPOS 構造体を受け取ります。 IMC_SETCONVERSIONANGLE : アプリケーションは、変換ウィンドウの描画角度をセットするためにIMウィンドウにこのメッセージを送付します。 param2は、変換ウィンドウのフォント情報のGRADIENTL へのポインタです。 IMC_SETCONVERSIONFONT : アプリケーションは、変換ウィンドウのフォントをセットするためにIMウィンドウにこのメッセージを送付します。 param2は、変換ウィンドウのフォント情報のFATTRS へのポインタです。 IMC_SETCONVERSIONFONTSIZE : アプリケーションは、変換ウィンドウのフォント・サイズをセットするためにIMウィンドウにこのメッセージを送付します。 param2は、変換ウィンドウのフォント情報のSIZEFへのポインタです。 IMC_SETCONVERSIONWINDOWPOS : アプリケーションは、変換ウィンドウの位置をセットするためにIMウィンドウにこのメッセージを送付します。 param2は、変換ウィンドウの位置のCONVERSIONPOSへのポインタです。 IMC_SETIMMODE : アプリケーションは、IMモードをセットするためにIMウィンドウにこのメッセージを送付します。 param2は、IMモード(入力モード、変換モードとIMEのオン/オフ)のIMMODEへのポインタです。ImQueryIMModeに定義されていますので参照してください。 IMC_SETSTATUSWINDOWPOS : アプリケーションは、状況ウィンドウの位置をセットするためにIMウィンドウにこのメッセージを送付します。 param2は、状況ウィンドウの位置のPOINTLへのポインタです。
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
このメッセージは、イベントの通知のためにアプリケーション・ウィンドウへ送付されます。
パラメータ :
[Message]WM_IMENOTIFY
mparam1 : ulRequestType(ULONG)です。この値は次のうちのどれかです。それぞれの値は、お互いに排他的です。
戻り値 :
IMR_INSTANCEACTIVATE :
mparam2 : ulRequestTypeに依存します。
このリクエストは、アプリケーションがフォーカスを得たときに送られます。 mparam2のハイワードは、アクティブ化のブール値(TRUE : アクティブ, FALSE : インアクティブ)が入ります。mparam2のローワードはウィンドウの情報が入ります。 以下のビットの組み合わせになります。
このリクエストは、状況域が変化したときに送られます。 mparam2は、状況域の変化したフィールドの情報が入ります。以下のビットの組み合わせになります。
このリクエストは、変換域、結果域またはその両方がキー入力またはAPIのコールによって変化したときに送られます mparam2は、 変換域または結果域のフィールドの情報が入ります。以下のビットの組み合わせになります。
このリクエストは、候補域が変化したときに送られます。 mparam2は、 候補域が変化したフィールドの情報が入ります。 以下のビットの組み合わせになります。
Note: IMR_CANDIDATE_SELECTは、候補リストの選択が変化したときに送られます。 候補リストの中身がすべて変わったときには、IMR_CANDIDATE_CHANGEが送られます。 IMR_INFOMSG : このリクエストは、情報メッセージ域が変化したときに送られます。
このリクエストは、単語登録域が変化したときに送られます。
このリクエストは、カレントIMEが変わったときに送られます。mparam2は、新しいIMEのImeIdが入ります。 IMR_CONFIG : このリクエストは、IMEの構成パネルが表示または非表示になったときに送られます。
このリクエストは、辞書設定パネルが表示または非表示になったときに送られます。
このリクエストは、いずれにも属していないところが変化したときに送られます。
終了コード(BOOL) : TRUE : 正常終了、FALSE : エラー。 Windows95では、WM_IME_COMPOSITIONは、構成文字列の最終変化の'chDBCS'が入ります。ただ、MSIMEの場合、いつでもゼロになります。そこで、IMR_COMVERSIONとIMR_RESULTのパラメータに省略しました。
このメッセージは、IMウィンドウに関連するイベントを通知するために、アプリケーションに送られます。
パラメータ :
mparam1 : ulNotification、以下のいずれかになります。
IMN_STARTCONVERSION :
戻り値 :
この通知は、変換ウィンドウが生成されたときに送られます。メッセージは、IMEによって送られます。 IMN_ENDCONVERSION : この通知は、変換ウィンドウが消滅したときに送られます。メッセージは、IMEによって送られます。 IMN_CONVERSIONFULL : この通知は、変換ウィンドウに空きのないときに送られます。このメッセージは、IMウィンドウの変換域によって送られます。 IMN_IMECHANGED : この通知は、IMEが変化したときに送られます。システムによって送られます。mparam2は、新しいIMEのImeIdが入ります。
終了コード(BOOL) : TRUE : 正常終了、 FALSE : エラー。
[構造体]CANDIDATELISTHEADER
typedef struct _CANDIDATELISTHEADER{
[構造体]CONVERSIONPOS
ULONG ulSize; ULONG ulStyle; ULONG ulCount; ULONG ulSelection; ULONG ulPageStart; ULONG ulPageSize; ULONG ulTitleLen; ULONG ulTitleOffset; ULONG aulOffset[1]; }CANDIDATELISTHEADER; typedef CANDIDATELISTHEADER * PCANDIDATELISTHEADER;
ulSize - 構造体のサイズをバイト単位で指定します。
ulStyle - 候補リストのスタイルを指定します。以下のいずれかの値をとります。
ulCount - 候補の数 ulSelection - 選択された候補文字列のインデックス ulPageStart - 候補ウィンドウの最初の候補文字列のインダックス ulPageSize - ひとつの候補ウィンドウの候補文字列の数 ulTitleLen - 候補リストのタイトルの長さ ulTitleOffset - この構造体の先頭からのオフセット。 タイトルがここに入ります。 aulOffset - 候補文字列が続きます。
typedef struct _CONVERSIONPOS{
[構造体]CANDIDATEPOS
ULONG ulStyle; POINTL ptCurrentPos; RECTL rcArea; }CONVERSIONPOS; typedef CONVERSIONPOS * PCONVERSIONPOS;
ulStyle - 位置のスタイル。ビットで指定します。
ptCurrentPos - 変換ウィンドの左下位置。スタイルがCPS_FORCEのときには、ウィンドウ座標での変換テキストボックスの左下の座標を指定します。 rcArea - 変換ウィンドウの矩形
typedef struct _CANDIDATEPOS{
[構造体]IMEINFOHEADER
ULONG ulIndex; ULONG ulStyle; POINTL ptCurrentPos; RECTL rcArea; }CANDIDATEPOS; typedef CANDIDATEPOS * PCANDIDATEPOS;
ulIndex - 候補リストのインデックス。0から31の値をとります。
ulStyle - 候補ウィンドウの位置のスタイル
ptCurrentPos - 候補ウィンドウのウィンドウ座標による左上位置になるか、カーソルポジションになります。それは、ulStyleによります。 rcArea - CPS_EXCLUDEのための除外するエリアです。
typedef struct _IMEINFOHEADER {
[構造体]WORDTYPE
ULONG cbSize; CHAR szIMEName[IMENAMESIZE]; ULONG ulCodePageCount; ULONG offsetCodePage; ULONG ulDescriptionLen; ULONG offsetDescription; ULONG ulFlag; } IMEINFOHEADER; typedef IMEINFOHEADER * PIMEINFOHEADER;
cbSize - 構造体のサイズをバイト単位で指定します。
szIMEName - IMEのDLLのファイル名を拡張子無しで指定します。 ulCodePageCount - IMEのサポートするコードページの数です。 offsetCodePage - この構造体の先頭からのオフセットです。ここにコードページが入ります。 ulDescriptionLen - IMEの記述の長さ offsetDescription - この構造体の先頭からのオフセットです。ここに記述が入ります。 ulFlag - flag. システムが利用します。
typedef struct _WORDTYPE{
[構造体]REGISTERWORDHEADER
ULONG ulType; CHAR szDescription[32]; }WORDTYPE; typedef WORDTYPE * PWORDTYPE;
ulType - 単語のタイプ
szDescription - 記述
typedef struct _REGISTERWORDHEADER{
[構造体]IMMODE
ULONG cbSize ULONG ulLengthReading; ULONG ulOffsetReading; ULONG ulLengthWord; ULONG ulOffsetWord; }REGISTERWORDHEADER; typedef REGISTERWORDHEADER * PREGISTERWORDHEADER;
cbSize - この構造体のサイズ
ulLengthReading - よみ文字列のサイズがバイト単位で入ります。 ulOffsetReading - この構造体の先頭からのオフセットです。ここによみ文字列が入ります。 ulLengthWord - 登録する単語のバイト数 ulOffsetWord - この構造体の先頭からのオフセットです。ここに単語が入ります。
typedef struct _IMMODE{
ULONG ulInputMode; ULONG ulConversionMode; } IMMODE; typedef IMMODE * PIMMODE;
ulInputModeとulConversionModeは、ImQueryIMModeのパラメータと同様です。参照してください。
IME インタフェース [IME Interface] IMEのエクスポート・エントリー[IME Export Entry] IMEで用意する必要のあるエクスポート・エントリーについて記述しています。 これらのエントリーは、システムだけがコールします。アプリケーションから は直接コールすることはできません。IMEはPM環境以外(全画面DOS)からもコールされるのでIMEはPMメッセージ・キューを必要とするPM APIは使用してはいけません。 IMEは、下のリストにあるAPIエントリーをすべてエクスポートする必要があります。これらの関数は、すべてサポートが必要ということではありません。それらの関数は、リターン・コードによって見分けがつきます。エラー・コードとしてERROR_NOT_SUPPORTEDのある関数は、サポートが必要ではない関数を意味します。 [IME Export Entry]ImeConvertString このエントリーは、与えられた入力文字列を変換するためにコールされます。
構文:
APIRET APIENTRY ImeConvertString(
パラメータ:
HIMI hImi, PSZ pszInput, PCANDIDATELISTHEADER pCandidateListHeader, PULONG pulBufferLength, ULONG ulFlag )
hImi(入力) : IMInstanceハンドル
戻り値:
pszInput(入力) : 変換すべき入力文字列 pCandidateListHeader(出力) : 変換結果 pulBufferLength(入力/出力) : 入力では、pCandidateListの長さを指定します。出力では、戻されたpCandidateListの実際にコピーされたバイト数になります。このパラメータの入力が0のときには、返されるすべてのCandidateListのバイト数になります。 ulFlag(入力) : リクエスト・タイプ。下のいずれかになります。
成功したかが戻ります。
備考:
IMEは、ImRequestEventをコールすべきではありません。このAPIは、L3 アプリケーションのために変換結果を得るためにのみ使用されます。
[IME Export Entry]ImeDeregisterWord このエントリーは、IMEから以前によみによって登録された単語を解除するためにコールされます。
構文:
APIRET APIENTRY ImeDeregisterWord(
パラメータ:
HIMI hImi, PSZ pszWord, PSZ pszReading, ULONG ulWordType )
hImi(入力) : IMInstanceハンドル.
戻り値:
pszWord(入力) : 登録解除する単語 pszReading(入力) : 単語のよみ ulWordType(入力) : 単語のタイプID
成功したかエラーだったかを返します
[IME Export Entry]ImeDialog このエントリーは、IMEに関係するダイアログ・パネルをオープンするためにコールされます。
構文:
パラメータ:
hImi(入力) : IMInstanceハンドル
戻り値:
ulType(入力) : 表示するダイアログのタイプ。以下のいずれかの値になります。
成功したかエラーだったかを返します
備考:
IMEウィンドウにWM_IMEREQUESTメッセージを渡すために ImRequestEventをコールすることを要求します。そして、適当なダイアログ・パネルを表示することを要求します。
[IME Export Entry]ImeEnumRegisterWord このエントリーは、登録されている単語を列挙するためにコールされます。
構文:
APIRET APIENTRY ImeEnumRegisterWord(
パラメータ:
HIMI hImi, PSZ pszWord, PSZ pszReading, ULONG ulWordType, REGISTERWORDENUMPROC pfnCallback, PVOID pvData )
hImi(入力) : IMInstanceハンドル.
戻り値:
pszWord(入力) : 列挙される単語 pszReading(入力) : 列挙される単語のよみ ulWordType(入力) : 列挙される単語のタイプID pfnCallback(入力) : コールバックされるエントリーのアドレス pvData(入力) : アプリケーション・データ
成功したかエラーだったかを返します
[IME Export Entry]ImeEscape このエントリーは、IMEを知っているアプリケーションがIME自身と直接コミニュケーションする機会を与えます。
構文:
APIRET APIENTRY ImeEscape(
パラメータ:
HIMI hImi, ULONG ulEscape, PVOID pvData )
hImi(入力) : IMInstanceハンドル.
戻り値:
ulEscape(入力) : エスケープ関数タイプ pvData(入力/出力) : エスケープ・タイプ固有のデータ
成功したかエラーだったかを返します
[IME Export Entry]ImeInitialize このエントリーは、IMEが最初にシステムによってロードされた後に、IMEのグローバル 状況を初期化するためにコールされます。
構文:
APIRET APIENTRY ImeInitialize( PIMEINIT pImeInit )
パラメータ:
pImeInit(入力/出力) : 以下のようなIME初期化構造体です。
戻り値:
IMEINIT { ULONG ulIMVersion; ULONG ulIMEVersion; ULONG ulIMECaps; ULONG ulConversionCaps; ULONG ulInputCaps; CHAR chClassName[256]; CHAR chWndProcName[256]; } ulIMVersion(入力) : IMインタフェースのバージョン。ハイワードは、メジャー・バージョンを、そしてローワードは、マイナーバージョンが入ります。このリリースでは、1.0になります。 ulIMEVersion(出力) : IMEインタフェースのバージョン。ハイワードは、メジャー・バージョンを、そしてローワードは、マイナー・バージョンが入ります。このリリースでは、1.0になります。 ulIMECaps(出力) : IMEの能力を表すフラグです。以下のフラグの組み合わせになります。
ulInputCaps(出力) : 入力モード能力フラグは、IMModeのIMI_IM_*フラグとビットの定義を共用します。 chClassName(出力) : 256バイトの文字列バッファです。IMEがPMユーザー・インタフェースをハンドリングする能力がある(すなわちIME_CAPS_PROVIDEUIがセットされている)ときには、IMEウィンドウ・クラスのクラス名が入ります。システムは、このクラス名と一緒にIMEウィンドウプロシージャを登録します。このフィールドは、IME_CAPS_PROVIDEUIがセットされていないと無効です。 chWndProcName(出力) : 256バイトの文字列バッファです。IMEがPMユーザー・インタフェースをハンドリングする能力がある(すなわちIME_CAPS_PROVIDEUIがセットされている)ときには、IMEウィンドウ・プロシージャ関数名が入ります。この名前は、ウィンドウ・プロシージャのアドレスを取得するために使われます。このウィンドウ・プロシージャは、IMEの.DEFファイルの中で明白にエクスポートする必要があります。このフィールドは、IME_CAPS_PROVIDEUIがセットされていないと無効です。
成功したかエラーだったかを返します
[IME Export Entry]ImeNotifyEvent このエントリーは、 IMEに関係するイベント、例えばユーザーの文字入力などが発生したときにコールされます。 IMEは、表示要求を起こす通知イベントのためにImRequestEventをコールすることができます。
構文:
APIRET APIENTRY ImeNotifyEvent(
パラメータ:
HIMI hImi, PNOTIFYEVENT pNotifyEvent )
hImi(入力) : IMInstanceハンドル
戻り値:
pNotifyEvent(入力/出力) : 以下のNotifyEvent構造体です。: NotifyEvent { ULONG ulEventType; ULONG ulInput1; ULONG ulInput2; ULONG ulInput3; ULONG ulOutput; } ulEventType(入力) : イベント・タイプ。 以下のいずれかの値になります。
内容は、それぞれのイベント・タイプによります。
ulInput2(入力) : 指定したulEventTypeの入力パラメータ2です。
ulInput3(入力) : 指定したulEventTypeの入力パラメータ3です。
ulOutput(ouput) : 指定したulEventTypeの出力パラメータです。
成功したかエラーだったかを返します
備考:
IMEは、イベント・タイプに一致したリクエスト・タイプでImRequestEventをコールする必要があります。IMEは、それぞれのフレーム・ウィンドウの生成で付くために、IME_NE_ATTACHIMEでは、最小限の動作にすべきです。そうでないと、パフォーマンスがとても悪くなります。 もし、IMEがulOutput == FALSEでのIME_NE_KEYEVENTへの応答の中でキー・イベントを取ってしまうと、アプリケーションは、WM_CHARの代わりに内部キー・イベントメッセージ(WM_CHARX1)を受け取ります。
[IME Export Entry]ImeQueryRegisterWordType このエントリーは、IMEの単語タイプ情報を取得するためにコールされます。
構文:
APIRET APIENTRY ImeQueryRegisterWordType(
パラメータ:
HIMI hImi, PWORDTYPE paWordType, PULONG pulCount )
hImi(入力) : IMInstanceハンドル.
戻り値:
paWordType(入力) : WordType構造体の配列のアドレス pulCount(入力/出力) : 入力では、paWordTypeのバッファが最大いくつのタイプを受け取れるかを指定します。出力では、paWordTypeのバッファにいくつのタイプがコピーされたかが入ります。もしゼロが入力されたときには、いくつのタイプが戻されるかを返します。
成功したかエラーだったかを返します
[IME Export Entry]ImeRegisterWord このエントリーは、新しい単語をよみといっしょに登録します。
構文:
APIRET APIENTRY ImeRegisterWord(
パラメータ:
HIMI hImi, PSZ pszWord, PSZ pszReading, ULONG ulWordType )
hImi(入力) : IMInstanceハンドル.
戻り値:
pszWord(入力) : 登録する単語 pszReading(入力) : よみ ulWordType(入力) : 単語のタイプID
成功したかエラーだったかを返します
[IME Export Entry]ImeSetConversionString このエントリーは、アプリケーションの要求によって現在の変換文字列をセットします。
構文:
APIRET APIENTRY ImeSetConversionString(
パラメータ:
HIMI hImi, ULONG ulRequestType, PVOID pConversionString, ULONG ulConversionLength, PVOID pvReadingString, ULONG ulReadingLength )
hImi(入力) : IMInstanceハンドル.
戻り値:
ulRequestType(入力) : セットするリクエストのタイプ IME_SCS_ATTRIBUTE : 変換文字列とよみ文字列のフィールドは、属性配列です。 IME_SCS_CLAUSEINFO : 変換文字列とよみ文字列のフィールドは、節情報です。 IME_SCS_STRING : 変換文字列とよみ文字列のフィールドは、文字列です。 pvConversionString(入力) : 変換文字列データ ulConversionLength(入力) : 変換文字列の長さ pvReadingString(入力) : よみ文字列データ ulReadingLength(入力) : よみ文字列の長さ
成功したかエラーだったかを返します
[IME Export Entry]ImeTerminate このエントリーは、IMEがメモリーから破棄される前に、アロケートしたグローバルなリソースを クリーンアップする機会をIMEに与えます。
構文:
IME メッセージ[IME Message]
IME メッセージ[IME Message]
APIRET APIENTRY ImeTerminate( ULONG ulReserved )
パラメータ:
ulReserved(入力) : 0にリザーブされています。
戻り値:
成功したかエラーだったかを返します
IMEメッセージは、ユーザーイベントやアプリケーションのコントロールに関連してIMEが受けたり、送付したりするメッセージです。 WM_IMENOTIFYIME用IMエクスポート・エントリー[IM Export Entry for IME] IME用IMエクスポート・エントリー[IM Export Entry for IME]このメッセージは、IMEに関係したイベントの通知のためにアプリケーションに送られます。 IMEは、IMEが変換ウィンドウを表示しようとするときには、WM_IMENOTIFY/IMN_STARTCONVERSIONパラメータでImRequestEventをコールする必要があります。そして、変換終了した後では、WM_IMENOTIFY/IMN_ENDCONVERSIONでImRequestEventをコールしてアプリケーションに結果パートの文字列を送付します。 変換の間に変換ウィンドウを表示するために空きがない場合には、WinSendMsgをコールすることによって、変換パート・ウィンドウ・プロシージャからWM_IMENOTIFY/IMN_CONVERSIONFULLメッセージを送付する必要があります。WM_IMEREQUESTこのメッセージは、イベントの通知のためにIMEウィンドウに送られます。ImRequestEvent コールの結果として送られるメッセージです。IMインタフェースの項にさらに詳しく書かれていますので、参照してください。WM_QUERYIMEWINDOWCAPSこのメッセージは、パート・ウィンドウの能力を照会するためにシステムによってIMEウィンドウに送付されます。パラメータ:
ImBroadcastData このエントリーは、すでにオープンしているIMインスタンスすべてにIMEで定義したデータをプロードキャストしたいときにコールします。
構文:
APIRET APIENTRY ImBroadcastData(
パラメータ:
PSZ pszIMEName, ULONG ulIndex, PVOID pData )
pszIMEName(入力) : ブロードキャストされるインスタンスのIME Name
戻り値:
ulIndex(入力) : データタイプのインデックス
BROADCASTDATAHEADER
成功したかエラーだったかを返します
ImCreateIMIPart このエントリーは、IMInstanceパートメモリ領域を生成するためにコールされます。戻されたパート・ハンドルでアクセスできます。
構文:
APIRET APIENTRY ImCreateIMIPart(
パラメータ:
ULONG ulPartSize, PHIMIP phimiPart )
ulPartSize(入力) : 生成されるパート・サイズ
戻り値:
phimiPart(出力) : 生成されたパート・ハンドル
成功したかエラーだったかを返します
備考:
この関数によってアロケートされたメモリ領域は、共用領域で、ゼロ・クリアされています。 最大32キロバイトまでの領域がアロケートできます。
ImDeregisterIME IMEインストール・プログラムは、ImRegisterIMEで登録されたIMEを登録解除するためにコールします。ImDeregisterIMEは、すべてのコードページから登録を解除します。
構文:
APIRET APIENTRY ImDeregisterIME( PSZ pszImeName )
パラメータ:
pszImeName(入力) - 登録解除するIMEの名前
戻り値:
成功したかエラーだったかを返します
備考:
このAPIは、IME DLL自身からはコールされず、IMEインストール・プログラムからのみコールされます。
ImDestroyIMIPart このエントリーは、IMInstanceパートハンドルを開放するためにコールされます。
構文:
APIRET APIENTRY ImDestroyIMIPart( HIMIP himiPart )
パラメータ:
himiPart(入力) : 開放するパート・ハンドル
戻り値:
成功したかエラーだったかを返します
ImQueryIMInstanceReqCount このエントリーは、指定したIMInstanceのアクセス・カウントを照会するためにコールされます。
構文:
APIRET APIENTRY ImQueryIMInstanceReqCount( HIMI hImi, PULONG pulCount )
パラメータ:
hImi(入力) : IMInstanceハンドル
戻り値:
pulCount(出力) : アクセス・カウント
成功したかエラーだったかを返します
ImQueryIMIPartReqCount このエントリーは、指定したIMInstanceパートのリクエスト・カウントを照会するためにコールされます。
構文:
APIRET APIENTRY ImQueryIMIPartReqCount( HIMIP himiPart, PULONG pulCount )
パラメータ:
himiPart(入力) : パート・ハンドル
戻り値:
pulCount(出力) : アクセス・カウント
成功したかエラーだったかを返します
ImQueryIMIPartSize このエントリーは、IMInstanceパート・データのサイズを照会するためにコールされます。
構文:
APIRET APIENTRY ImQueryIMIPartSize( HIMIP himiPart, PULONG pulPartSize )
パラメータ:
himiPart(入力) : パート・ハンドル
戻り値:
pulPartSize(出力) : パート・データサイズ
成功したかエラーだったかを返します
ImRegisterIME IMEインストール・プログラムが、言語にIMEを登録するためにコールします。
構文:
APIRET APIENTRY ImRegisterIME(
パラメータ:
PSZ pszImeName, PREGISTERIMEHEADER pRegIme, PULONG pImeId )
pszImeName(入力) : IMEの名前。拡張子を除いた実際のIME DLLの名前になります。たとえば"FAKEIME"のようにです。
戻り値:
pRegIme(入力) : REGISTERIMEHEADERへのポインタ: REGISTERIMEHEADER
成功したかエラーだったかを返します
備考:
このAPIは、IMEのDLL自身からコールされるのではなく、IMEインストール・プログラムからのみコールされます。 IMEのDLLは、LIBPATHで指定されているディレクトリーのどこかにある必要があります。 「言語」は、'JA'のような2バイト文字です。可能な言語は、インストールの章にリストされています。
ImReleaseIMInstance このエントリーは、IMInstanceへのアクセスを開放するためにコールします。
構文:
APIRET APIENTRY ImReleaseIMInstance( HIMI hImi )
パラメータ:
hImi(入力) : IMInstanceハンドル
戻り値:
成功したかエラーだったかを返します
ImReleaseIMIPart このエントリーは、IMInstanceパートへのアクセスを開放するためにコールします。
構文:
APIRET APIENTRY ImReleaseIMIPart( HIMIP himiPart )
パラメータ:
himiPart(入力) : パート・ハンドル
戻り値:
成功したかエラーだったかを返します
備考:
この関数は、ImQueryIMIPartReqCountで照会できるhimiPartのリクエスト・カウントをひとつ減らします。
ImRequestEvent このエントリーは、 IMEがIMInstanceのフィールドを変更したときに、アプリケーションに にイベントを知らせるためにコールします。
構文:
APIRET APIENTRY ImRequestEvent(
パラメータ:
HIMI hImi, ULONG msg, ULONG mp1, ULONG mp2 )
hImi(入力) : IMInstanceハンドル
戻り値:
msg(入力) : リクエストするメッセージ・イベントのタイプ。以下のいずれかの値になります。
mp2(入力) : msgで指定されるメッセージのメッセージ・パラメータ2です。
成功したかエラーだったかを返します
備考:
PM環境では、このAPIがWM_IMEREQUESTまたはWM_IMENOTIFYメッセージを生成します。
ImRequestIMInstance このエントリーは、IMInstanceへのアクセスを要求するときにコールされます。
構文:
APIRET APIENTRY ImRequestIMInstance(
パラメータ:
HIMI hImi, PIMINSTANCE * ppIMInstance )
hImi(入力) : IMInstanceハンドル
戻り値:
ppIMInstance(出力) : IMInstanceのアドレス
成功したかエラーだったかを返します
ImRequestIMIPart このエントリーは、IMInstanceパートへのアクセスを要求するときにコールされます。
構文:
APIRET APIENTRY ImRequestIMIPart(
パラメータ:
HIMIP himiPart, PVOID * ppPartData )
himiPart(入力) : パート・ハンドル
戻り値:
ppPartData(出力) : パート・データ構造体のアドレス
成功したかエラーだったかを返します
備考:
この関数は、ImQueryIMIPartReqCountで照会できるhimiPartのカウントをひとつカウントアップします。
ImResizeIMIPart このエントリーは、IMInstanceのパート・データ・サイズを変更するためにコールされます。
構文:
APIRET APIENTRY ImResizeIMIPart(
パラメータ:
HIMIP himiPart, ULONG ulNewSize )
himiPart(入力) : パート・ハンドル
戻り値:
ulNewSize(入力) : 新しいパート・データのサイズ
成功したかエラーだったかを返します
備考:
変更要求しているサイズが元のサイズより小さいときには、実際には、サイズ変更せずに正常終了します。 この関数は、himiPartのリクエスト・カウントがゼロ以外の場合、エラーになります。
24
Win95との比較 APIs
Note: *2 ImQueryIMEInfoは、ImmGetDescriptionとImmGetIMEFileNameに相当します。 Note: *3 ImSetIMModeは、ImmSetConversionStatusとImmSetOpenStatusに相当します。
Messages
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
IBM, OS/2, WarpCenter, VisualAge, VoiceTypeは,IBM Corp.の米国,その他の国における商標です。 サイト内の情報は無保証です。またOS/2のセットアップなどのご相談には応じかねます。 素晴らしきかなOS/2 - Welcome to Sassy's Homepage presented by Masahiro 'Sassy' Sakai , Team OS/2 Japan , 2010 mailto: sassy-os2 at willcom dot com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||