素晴らしきかなOS/2 for IBM OS/2Warp and eComStation
- OS/2 32bit Input Method -
since Nov. 13, 2010

OS/2 Desktop

素晴らしきかな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の場合、関数は、指定したウィンドウとの関連付けを取り除きます。
書式:
APIRET APIENTRY ImAssociateInstance(HWND hWnd, HIMI hIMI, PHIMI phIMI)
パラメータ:
hWnd(入力) - IMインスタンスを関連付けたいウィンドウ・ハンドル

hIMI(入力) - 関連付けたいIMインスタンスのハンドル

phIMI(出力) - 前にウィンドウと関連付けられていたIMインスタンスのハンドルへのポインタ

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
備考:
このAPIは、ImCreateInstanceをコールしたスレッドと同じスレッドからコールする必要があります。
[API]ImCreateInstance
もし、デフォルトのIMインスタンスではなく、自分のIMインスタンスを使用したい場合には、アプリケーションは、この関数を使って新しいIMインスタンスを生成できます。この関数で生成したIMインスタンスは、システムがインスタンスのためにメモリーをアロケートし、初期化します。
書式:
APIRET APIENTRY ImCreateInstance(PHIMI phIMI)
パラメータ:
phIMI(出力) - 生成されたIMインスタンスのハンドルへのポインタ
戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
[API]ImConvertString
アプリケーションは、IMEの変換エンジンを利用して文字列を変換できます。
書式:
APIRET APIENTRY ImConvertString(HIMI hIMI, PSZ pSrc, PCANDIDATELISTHEADER pDst, PULONG pulBufLen, ULONG ulFlag)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル

pSrc(入力) - 変換させたい文字列へのポインタ

pDst(出力) - CANDIDATELISTHEADERがコピーされるバッファ

pulBufLen(入力/出力) - (入力)CANDIDATELISTHEADERがコピーされるバッファのサイズをバイトで指定します。

- (出力)バッファにコピーされた実際のCANDIDDDATELISTHEADERのサイズが返ります。

ulFlag - 変換タイプ

TypeDescription
CNV_NORMALソース文字列(pSrc)は、よみ文字列です。そして、関数は、結果文字列をデスティネーション文字列に(pDst)にコピーします。
CNV_REVERSEソース文字列は、結果文字列です。そして、デスティネーション文字列は、よみ文字列です。
CNV_READLENソース文字列は、結果文字列です。pulSizeによみ文字列のサイズを返します。

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
備考:
参照 CANDIDATELISTHEADER
[API]ImDeregisterWord
アプリケーションは、IMEの辞書から単語を除くことができます。
書式:
APIRET APIENTRY ImDeregisterWord(HIMI hIMI, PSZ pszReading, ULONG ulType, PSZ pszDeregister)
パラメータ:
hIMI(入力) - IMEに関連付けられているIMインスタンスのハンドル

pszReading(入力) - 取り除きたい単語のよみ文字列へのポインタ

ulType(入力) - 登録した文字列のタイプ

pszDeregister(入力) - 取り除く登録文字列へのポインタ

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
[API]ImDestroyInstance
ImCreateInstance関数で生成したIMインスタンスは、アプリケーションが終了する前にこの関数で開放する必要があります。
書式:
APIRET APIENTRY ImDestroyInstance(HIMI hIMI)
パラメータ:
hIMI(input) - 開放するIMインスタンスのハンドル
戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
備考:
この関数をコールする前に、アプリケーションはImAssociateInstance関数でウィンドウとの関連付けを取り除いておく必要があります。
[API]ImEnumRegisterWord
アプリケーションは、 よみ、スタイル、登録文字列によって、登録した単語を列挙できます。
書式:
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,
[API]ImEscape
アプリケーションは、IMEの関数を直接実行することができます。この関数をコールする時には、アプリケーションは、ulEscapeパラメータで指定したIMEの関数を知る必要があるでしょう。
書式:
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]ImGetConversionString
アプリケーションは、変換文字列の情報を得ることができます。
書式:
APIRET APIENTRY ImGetConversionString(HIMI hIMI, ULONG ulIndex, PVOID pBuf, PULONG pulBufLen)
パラメータ:
hIMI(入力) - 変換文字列に関連するIMインスタンスのハンドル

ulIndex(入力) - 照会したい情報のインデックス
TypeDescription
IMR_CONV_CONVERSIONATTR変換文字列の属性の入手
IMR_CONV_CONVERSIONCLAUSE変換文字列の文節情報の入手
IMR_CONV_READINGATTR変換文字列のよみ文字列の属性の入手
IMR_CONV_READINGCLAUSE変換文字列のよみ文字列の文節情報の入手
IMR_CONV_READINGSTRING変換文字列のよみ文字列の入手。
IMR_CONV_CONVERSIONSTRING変換文字列を入手します。
IMR_CONV_CURSORPOS変換文字列のカーソル位置を入手します。ULONG値が返ります。
IMR_CONV_CURSORATTR変換文字列のカーソルの属性を入手します。ULONG値が返ります。
IMR_CONV_CHANGESTART変換文字列の変更された最初の場所を入手します。ULONG値が返ります。
文字列属性
属性意味
CP_ATTR_INPUTまだ変換されていない、ちょうど入力された文字
CP_ATTR_TARGET_CONVERTED変換され選択された文字
CP_ATTR_CONVERTED変換された文字
CP_ATTR_TARGET_NOTCONVERTEDまだ変換されていない選択された文字
CP_ATTR_INPUT_ERROR間違った文字。IMEは変換できない。
カーソル属性
属性意味
CP_CURSORATTR_INSERT倍の幅のカーソル
CP_CURSORATTR_INVISIBLEカーソルは見えない
文節情報は、ULONGの配列です。それぞれの文節の変換文字列の先頭からのオフセットがバイト単位で入っています。そして、最後の値には、変換文字列のサイズが入っています。最初の文節は、いつもオフセット0になります。そのため、文節情報の最初の値は0でなければなりません。

pBuf(出力) - 情報をコピーするバッファへのポインタ

pulBufLen(入力/出力) - (入力)バッファのサイズをバイト単位で指定します。

(出力) - バッファにコピーされた実際のサイズが返されます。ulBufLenパラメータに0を指定すると、すべての情報を得た場合のサイズが返されます。

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
[API]ImGetInstance
アプリケーションは、IMインスタンスの情報にアクセスするときには、アクセスする前にこの関数をコールしてIMインスタンスのハンドルを手に入れる必要があります。
書式:
APIRET APIENTRY ImGetInstance(HWND hWnd, PHIMI phIMI)
パラメータ:
hWnd(入力) - ウィンドウ・ハンドル

phIMI(出力) - IMインスタンスのハンドル

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
[API]ImGetResultString
アプリケーションは、結果文字列に関する情報を取得できます。
書式:
APIRET APIENTRY ImGetResultString(HIMI hIMI, ULONG ulIndex,
PVOID pBuf, PULONG pulBufLen)
パラメータ:
hIMI(入力) - 変換文字列に関連付けられるIMインスタンスのハンドル

ulIndex(入力) - 照会する情報のインデックス

TypeDescription
IMR_RESULT_RESULTSTRING結果文字列を取得する。
IMR_RESULT_RESULTATTR結果文字列の属性を取得する。
IMR_RESULT_RESULTCLAUSE結果文字列の文節情報を取得する。
IMR_RESULT_READINGSTRING結果文字列のよみ文字列を取得します。
IMR_RESULT_READINGATTRよみ文字列の属性を取得します。 属性には、確定していない文字列をあらわすRP_ATTR_INTERIMか、RP_ATTR_INTERIM which means it's an interim string, or結果文字列をあらわすRP_ATTR_RESULTが入ります。
IMR_RESULT_READINGCLAUSEよみ文字列の文節情報を取得します。

節情報については、ImGetConversionStringを参照してください。

pBuf(出力) - 情報がコピーされるバッファ

pulBufLen(入力/出力) - (入力)バッファのサイズをバイト単位で指定します。 (出力)バッファにコピーされた実際のサイズが返されます。ulBufLenパラメータに0を指定すると、すべての情報を得た場合のサイズが返されます。

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
備考:
APIは、IMインスタンスの内容を変更しません。レベル-3のアプリケーションが、この関数をコールするときは、デフォルトIMウィンドウに対して対応するWM_IMEREQUESTメッセージを送付してはいけません。
[API]ImGetStatusString
アプリケーションは、状況文字列を取得できます。
書式:
APIRET APIENTRY ImGetStatusString(HIMI hIMI, ULONG ulIndex, PVOID pBuf, PULONG pulBufLen)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル

ulIndex(入力) - 照会する情報のインデックス

TypeDescription
IMR_STATUS_STRING状況文字列
IMR_STATUS_STRINGATTR状況文字列の属性
IMR_STATUS_CURSORPOSカーソル・ポジション。ULONG値が返ります。
IMR_STATUS_CURSORATTRカーソル属性。ULONG値が返ります。

状況文字列の属性

TypeDescription
SP_STRING_REVERSEDテキストは、反転色で書かれます。
SP_STRING_UNDERSCOREテキストは、下線を付けて書かれます。
SP_STRING_BACKCOLORテキストの背景色は、シアンになります(通常は白です)。
SP_STRING_FORECOLORテキストの前景色は、赤になります(通常は黒です)。
SP_STRING_SEPARATORテキストは、右端にセパレーターを持ちます。

色属性

TypeDescription
SP_CSR_INSERT通常の、2倍サイズのカーソルが現れます。
SP_CSR_INVISIBLEカーソルは、表示されません。

pBuf(出力) - 情報をコピーするバッファ

pulBufLen(入力/出力)

- (入力)バッファのサイズをバイト単位で指定韋cIます。

- (出力)実際にコピーされたバイト数が返りまャ盾キ。ulBufLenパラメータに0を指定すると、すべての情報を得た場合のサイズが返されます。

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
[API]ImIsIMEMessage
この関数は、IMウィンドウへのメツセージかチェックして、指定されたIMウィンドウに送付します。
書式:
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の場合には、メッセージは、処理されていません。

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
[API]ImQueryCandidateList
アプリケーションは、候補リストと、そのすべてのリストの数を取得できます。いくつかの候補列がある可能性があるので、ulIndexで指定します。もし、アプリケーションでリストの個数がわからないときには、ulIndexに0xffffffffを指定してコールすることによって取得できます。
書式:
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]ImQueryCandidateWindowPos
アプリケーションは、候補ウィンドウについての情報を取得できます。
書式:
APIRET APIENTRY ImQueryCandidateWindowPos(HIMI hIMI, PCANDIDATEPOS pCandidatePos)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル

pCandidatePos(出力) - CANDIDATEPOSのコピーされるバッファ

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
備考:
参照 CANDIDATEPOS
[API]ImQueryConversionAngle
アプリケーションは、変換ウィンドウの描画角度についての情報を取得できます。
書式:
APIRET APIENTRY ImQueryConversionAngle(HIMI hIMI, PGRADIENTL pgradlAngle)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル

pgradAngle(出力) - GRADIENT構造体を取得するためのバッファ

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
[API]ImQueryConversionFont
アプリケーションは、変換ウィンドウのフォント情報を取得できます。
書式:
APIRET ImQueryConversionFont(HIMI hIMI, PFATTRS pFontAttrs)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル

pFontAttrs(出力) - フォント情報(FATTRS)を取得するバッファ

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
[API]ImQueryConversionFontSize
アプリケーションは、変換ウィンドウのフォントセルサイズの情報を取得できます。
書式:
APIRET APIENTRY ImQueryConversionFontSize(HIMI hIMI, PSIZEF psizfxBox)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル

psizfxBox(出力) - 受け取るバッファのサイズ SIZEF

[API]ImQueryConversionWindowPos
変換ウィンドウについての情報を取得します。
書式:
APIRET APIENTRY ImQueryConversionWindowPos(HIMI hIMI, PCONVERSIONPOS pConvPos)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル

pConvPos(出力) - コピーされたCONVERSIONPOSのサイズ

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
備考:
参照 CONVERSIONPOS.
[API]ImQueryCurrentIME
アプリケーションは、現在使用中のIMEのIME IDを取得できます。IME IDはImRegisterIMEによって返されるIME固有なIDです。IMEが関連付けられていない時は、IME IDとして0が返されます。
書式:
APIRET APIENTRY ImQueryCurrentIME(HIMI hIMI, PULONG pImeId)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル。

pImeId(出力) - IME IDを受け取るバッファ。システムに登録されるときに各々のIMEに与えられる固有なIDです。

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
[API]ImQueryDefaultIME
アプリケーションは、指定したコードページのデフォルトIMEのIME IDを取得できます。
書式:
APIRET APIENTRY ImQueryDefaultIME(ULONG ulCodepage, PULONG pImeId)
パラメータ:
ulCodepage(入力) - デフォルトIMEのIDを取得したいコードページ

pImeId(出力) - IME ID

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
[API]ImQueryDefaultIMWindow
アプリケーションは、デフォルトIMウィンドウのハンドルを取得できます。
書式:
APIRET APIENTRY ImQueryDefaultIMWindow(HWND hWnd, PHWND phWnd)
パラメータ:
hWnd(入力) - アプリケーションのウィンドウハンドル

phWnd(出力) - デフォルトIMウィンドウのウィンドウ・ハンドル

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
[API]ImQueryIMEID
アプリケーションは、指定されたIMEのIME IDを取得できます。
書式:
APIRET APIENTRY ImQueryIMEID(PSZ pszIMEName, PULONG pImeId)
パラメータ:
pszIMEName(入力) - IMEName。 拡張子を除いたIMEのDLLの名前です。そして、このIMEは、IMEインストーラーによってシステムに登録されています。 この関数を使うアプリケーションは、IMENameを知っている必要がありません。もし必要ならアプリケーションは、ImQueryIMEListをコールすることによって、すべてのIME IDを取得できます。

pImeId(出力) - IME IDを受け取るバッファ

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
[API]ImQueryIMEInfo
アプリケーションは、IMEについての情報を取得できます。
書式:
APIRET APIENTRY ImQueryIMEInfo(ULONG ImeId, PIMEINFOHEADER pImeInfoHeader, PULONG pulBufLen)
パラメータ:
ImeId(入力) - IME ID

pImeInfoHeader(出力) - IMEの情報を受け取るバッファ

pulBufLen(入力/出力)

- (入力)IMEの情報を受け取るバッファのサイャズ

- (出力) バッファにコピーされた実際のサイャズ又は入力としてuulBufLenに0を指定すると、すべての情報を取得する際のサイズが返ります。

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
備考:
参照 IMEINFOHEADER.
[API]ImQueryIMEList
アプリケーションは、この関数でIMEのリストを取得できます。 リストは、IME IDの値のULONGの配列になります。ImQueryIMEListは、アプリケーションが準備したバッファにIMEのリストをコピーします。 IMEの数を知りたいときには、pulCountに0を指定してこの関数をコールします。
書式:
APIRET APIENTRY ImQueryIMEList(ULONG ulCodepage, PULONG aImeId, PULONG pulCount)
パラメータ:
ulCodepage(入力) - IMEのリストを得るコードページ。これが0のときには、システム上のすべてのIMEが返ります。

aImeId(出力) - IME IDの配列を取り出すバッファ。pulCountが0のときには、このアドレスは使用されません。

pulCount(入力/出力) - IMEの個数。これを0にすると、ulCodepageのコードページをサポートするすべてのIMEの数が返ります。

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
[API]ImQueryIMEProperty
アプリケーションは、IMEのプロパティと能力を取得できます。
書式:
APIRET APIENTRY ImQueryIMEProperty(HIMI HIMI, ULONG ulIndex, PULONG pulProp)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル

ulIndex(入力) - 照会したいプロパティ情報のタイプ

TypeDescription
QIP_PROPERTYプロパティ情報
QIP_INPUTMODEインプットモードの能力
QIP_CONVERSIONMODE変換モードの能力
QIP_UIユーザー・インタフェースの能力
QIP_SETCONVSTR変換文字列の能力
QIP_SELECT選択継承の能力

pulProp(出力) - 上記のタイプにあった情報が返るバッファ

ulIndexがQIP_PROPERTYの場合

TypeDescription
PRP_SPECIALUIこれがセットされている場合には、IMEは、特殊なユーザーインタフェースを持っていますので、アプリケーションでIMEウィンドウに描画すべきではありません。
PRP_UNICODEこれがセットされている場合には、IMインスタンスの文字列はUNICODE文字列になります。
PRP_FORCEPOSITIONこれがセットされている場合には、CPS_FORCEスタイルを指定したImSetConversionWindowPosコールにより変換ウィンドウの位置をセットすることができます。

ulindexがQIP_INPUTMODEかQIP_CONVERSIONMODEの場合には、ImQueryIMModeの項で 定義されている入力モードあるいは変換モードがサポートされているかになります。

ulIndexがQIP_UIの場合

TypeDescription
UIC_2700度と270度に傾斜したテキストをサポートします
UIC_ANGLE900度、90度、180度、270度に傾斜したテキストをサポートします
UIC_ANGLEANYどんな傾斜角度もサポートしています

ulIndexがQIP_SETCONVSTRの場合

TypeDescription
SCSC_CONVSTRSCS_STRINGを指定したImSetConversionStringで変換文字列を生成することができます
SCSC_MAKEREADSCS_STRINGを指定したImSetConversionStringで変換文字列のよみを生成できます

ulIndexがQIP_SELECTの場合

TypeDescription
SLC_INPUTMODE新しいIMEが選択されたときに、入力モードが継承されます
SLC_CONVERSIONMODE新しいIMEが選択されたときに、変換モードが継承されます

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
[API]ImQueryIMMode
アプリケーションは、入力モード、変換モードとオープン状況を照会できます。
書式:
APIRET APIENTRY ImQueryIMMode(HIMI hIMI, PULONG pulInputMode, PULONG pulConversionMode)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル

pulInputMode(出力) - IMEの入力モードまたは、IMEのオン/オフ

Conversion_ModeDescription
IMI_IM_NLS_ALPHANUMERIC英字モード
IMI_IM_NLS_HIRAGANAひらがなモード
IMI_IM_NLS_KATAKANAかたかなモード
IMI_IM_WIDTH_HALF半角モード
IMI_IM_WIDTH_FULL全角モード
IMI_IM_ROMAJI_OFFローマ字モード・オフ
IMI_IM_ROMAJI_ONローマ字モード・オン
IMI_IM_SYSTEMROMAJI_ENABLEシステムのローマ字変換を使用する。IMEはローマ字変換をしない。
IMI_IM_SYSTEMROMAJI_DISABLEシステムのローマ字変換を使用しない。IMEは、ローマ字変換を自身で行う。
IMI_IM_IME_OFFIMEはオフです。
IMI_IM_IME_ONIMEは、オンでアクティブになっています。
IMI_IM_IME_ENABLEIMEが使用可能。
IMI_IM_IME_DISABLEIMEを使用しない。すべての入力は、IMEを経由しません。

pulConversionMode(出力) - 変換モード

Conversion_ModeDescription
IMI_CM_AUTOMATICIMEは自動的に文字列を変換します。
IMI_CM_PREDICTIMEは先読み変換します。
IMI_CM_PLURALCLAUSEIMEは連文節変換します。
IMI_CM_SINGLEIMEは、単漢字変換します。

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
[API]ImQueryInfoMsg
アプリケーションは、IMEからのエラー・メッセージを取得します。
書式:
APIRET APIENTRY ImQueryInfoMsg(HIMI hIMI, ULONG ulIndex, PSZ pBuf, PULONG pulBufLen)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル

ulIndex(入力) - 取得するメッセージのタイプ

TypeDescription
IMR_INFOMSG_ERRLEVELエラー・レベル
IMR_INFOMSG_ERRINDEXエラー・インデックス
IMR_INFOMSG_ERRTITLEエラー・タイトル
IMR_INFOMSG_ERRSTRエラー・メッセージ文字列
IMR_INFOMSG_PRIVATEIMEのプライベート・メッセージ

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の場合

TypeDescription
IM_ERRLEVEL_ERRORエラー。IMEは、続行することができません。
IM_ERRLEVEL_FATAL致命的エラー。IMEは、続行することができません。データは失われます。
IM_ERRLEVEL_INFORMATION正常。ただし、ユーザーへのインフォメーションがあります。
IM_ERRLEVEL_NONE正常。前のメッセージがスクリーンに残っている場合には、消去します。
IM_ERRLEVEL_WARNING入力が不正か、結果が不正なための警告です。
IM_ERRLEVEL_HELPヘルプメッセージを表示します。

ulIndexがIMR_INFOMSG_ERRINDEXの場合

TypeDescription
IM_INFOID_UNSAVABLE辞書または、なにかしらのデータがセーブできません。
IM_INFOID_NOCONVERTIMEは、変換できません。
IM_INFOID_NODICTIONARYIMEは、辞書を見つけることができないか、辞書のフォーマットが不正です。
IM_INFOID_NOMODULEIMEは、必要なモジュールを見つけられません。
IM_INFOID_INVALIDREADINGよみがぶつかってます。
IM_INFOID_TOOMANYSTROKES文字または節のストロークが長すぎます。
IM_INFOID_TYPINGERRORタイピング・エラー。IMEは、ハンドリングできません。
IM_INFOID_UNDEFINEDUnknownエラー。
IM_INFOID_INPUTREADINGIMEは、よみ入力を受け入れる。
IM_INFOID_INPUTRADICALIMEは、ラジカル文字入力を受け入れる。
IM_INFOID_INPUTCODEIMEは、文字コード入力を受け入れる。
IM_INFOID_SELECTCANDIDATEIMEは、 候補文字列の選択を受け入れる。
IM_INFOID_REVERSECONVERSION逆変換についての情報が使えます。

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。 ERROR_BUFFER_OVERFLOW
[API]ImQueryMsgQueueProperty
アプリケーションは、フレーム毎のIMEかメッセージ・キュー毎のIMEのどちらの方法が デフォルトのインスタンスの関連付け方法かを取得できます。
書式:
APIRET APIENTRY ImQueryMsgQueueProperty(HMQ hmq, PULONG pulFlag)
パラメータ:
hmq(入力) - メッセージ・キュー・ハンドル

pulFlag(出力) - メッセージ・キュー・プロパティ情報

ValueDescription
MQP_INSTANCE_PERMQメッセージ・キュー毎にデフォルトIMインスタンスが作成される。
MQP_INSTANCE_PERFRAMEフレーム・ウィンドウ毎にIMインスタンスが作成される。

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
[API]ImQueryRegisterWordType
IMEによってサポートされる単語登録のタイプを取得できます。
書式:
APIRET APIENTRY ImQueryRegisterWordType(HIMI hIMI, PULONG pulCount, PWORDTYPE pWordType)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル

pulCount(入力/出力) - (入力)受け取るWORDTYPEの最大個数 (出力) バッファにコピーされたWORDTYPEの実際の個数。pulCountの入力が0の場合には、すべてのWORDTYPEが返されたときの個数が戻されます。

pWordType(出力) - WORDTYPEを受け取るバッファ

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
備考:
参照 WORDTYPE
[API]ImQueryStatusWindowPos
アプリケーションは、状況ウィンドウの位置を取得できます。
書式:
APIRET APIENTRY ImQueryStatusWindowPos(HIMI hIMI, PPOINTL pptPos, PSIZEL pszlSize)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル

pptPos(出力) - ワールド座標でのウィンドウ位置へのポインタ

pszlSize(出力) - ウィンドウサイズへのポインタ

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
[API]ImRegisterWord
アプリケーションは、IMEの辞書へ単語を登録できます。
書式:
APIRET APIENTRY ImRegisterWord(HIMI hIMI, PSZ pszReading, ULONG ulType, PSZ pszRegister)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル

pszReading(入力) - よみ文字列へのポインタ

ulType(入力) - 登録文字列のタイプ

pszRegister(入力) - 登録文字列へのポインタ

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
[API]ImReleaseInstance
この関数は、IMインスタンスを開放します。アプリケーションは、ImGetInstanceをコールしたら必ずこの関数をコールする必要があります。
書式:
APIRET APIENTRY ImReleaseInstance(HWND hWnd, HIMI hIMI)
パラメータ:
hWnd(入力) - ウィンドウ・ハンドル

hIMI(入力) - IMインスタンスのハンドル

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
[API]ImRequestIME
アプリケーションは、IMEに対していくつかのリクエストをすることができます。
書式:
APIRET APIENTRY ImRequestIME(HIMI hIMI, ULONG ulAction, ULONG ulIndex, ULONG ulValue)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル

ulAction(入力) - IMEリクエストのタイプ

TypeDescription
REQ_CHANGECANDIDATELIST現在選択されている候補の変更。ulIndexは、現在の候補リストのインデックスです。ulValueは、使用されません。
REQ_CLOSECANDIDATE候補リストをクローズします。ulIndexは、候補リストのインデックスになります。ulValueは使用されません。
REQ_CONVERSIONSTRINGulIndexは、次のどれかになります。CNV_CANCEL、CNV_COMPLETE、CNV_CONVERT、CNV_REVERT。ulValueは使用されません。
REQ_OPENCANDIDATE候補リストをオープンします。ulIndexは、候補リストのインデックスになります。ulValueは使用されません。
REQ_SELECTCANDIDATE候補のひとつを選択します。ulIndexは、選択する候補リストのインデックスです。ulValueは、こりリストの候補文字列のインデックスです。
REQ_SETCANDIDATEPAGESIZE候補リストのページサイズをセットします。ulIndexは、候補リストのインデックスです。
REQ_SETCANDIDATEPAGESTARTulIndexは、候補リストのインデックスです。

ulIndex(入力) - 見う補リストのインデックス。または、ulActionがREQ_CONVERSIONSTRINGの場合には、以下のいずれかになります。

TypeDescription
CNV_CANCEL変換文字列をクリアします。
CNV_COMPLETE変換を完了します。変換文字列を結果文字列とします。
CNV_CONVERT変換文字列を変換します。
CNV_REVERT現在の変換文字列をキャンセルし、変換前の文字列を復帰します。

ulValue(入力) - ulActionがREQ_SELECTCANDIDATEの場合には、変換文字列のインデックスです。

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
[API]ImSetCandidateWindowPos
アプリケーションは、候補ウィンドウについての情報をセットできます。
書式:
APIRET APIENTRY ImSetCandidateWindowPos(HIMI hIMI, PCANDIDATEPOS pCandidatePos)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル

pCandidatePos(入力) - CANDIDATEPOSのアドレス

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
備考:
参照 CANDIDATEPOS.
[API]ImSetConversionAngle
アプリケーションは、変換ウィンドウの描画角度についての情報をセットできます。
書式:
APIRET APIENTRY ImSetConversionAngle(HIMI hIMI, PGRADIENTL pgradlAngle)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル

pradlAngle(入力) - GRADIENTL 構造体へのポインタ

備考:
ImSetConversionAngle、ImSetConversionFont、ImSetConversionFontSizeは、同じメッセージを起こします。
[API]ImSetConversionFont
アプリケーションは、変換ウィンドウのフォント属性情報をセットできます。
書式:
APIRET APIENTRY ImSetConversionFont(HIMI hIMI, PFATTRS pFontAttr)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル

pFontAttr(入力) - フォント情報(FATTRS)へのポインタ

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
[API]ImSetConversionFontSize
アプリケーションは、変換ウィンドウのフォント・セル・サイズについての情報をセットできます。
書式:
APIRET APIENTRY ImSetConversionFontSize(HIMI hIMI, PSIZEF psizfxBox)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル

psizfxBox(入力) - SIZEF 構造体へのポインタ

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
[API]ImSetConversionString
変換文字列の情報と変換文字列のよみをセットできます。
書式:
APIRET APIENTRY ImSetConversionString(HIMI hIMI, ULONG ulIndex, PVOID pConv, ULONG ulConvLen, PVOID pReading, ULONG ulReadingLen)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル

ulIndex(入力) - セットする情報のタイプ

TypeDescription
IME_SCS_STRING変換文字列または、よみ文字列、あるいは両方をセットする。
IME_SCS_ATTRIBUTE変換文字列または、よみ文字列、あるいは両方の属性をセットする。
IME_SCS_CLAUSEINFO変換文字列または、よみ文字列、あるいは両方の節情報をセットする。

pConv(入力) - 変換文字列へのポインタ。もしセットする変換文字列がなければ、NULLにする必要があります。

ulConvLen(入力) - 変換文字列のサイズ

pReading(入力) - よみ文字列へのポインタ。もし、セットするよみ文字列がなければ、NULLにする必要があります。

ulReadingLen(入力) - よみ文字列のサイズ

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
[API]ImSetConversionWindowPos
アプリケーションは、変換ウィンドウの位置をセットできます。
書式:
APIRET APIENTRY ImSetConversionWindowPos(HIMI hIMI, PCONVERSIONPOS pConvPos)
パラメータ:
hIMI(入力) - 変換ウィンドウに関連するIMインスタンスのハンドル

pConvPos(入力) - 変換ウィンドウの位置(CONVERSIONPOS)へのポインタ

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
備考:
参照 CONVERSIONPOS
[API]ImSetCurrentIME
アプリケーションは、この関数でIME IDをセットすることによってダイレクトにIMEを変更することができます。また、アプリケーションは、IMEリストに従ってIMEを順番にひとつひとつ変更する事もできます。
書式:
APIRET APIENTRY ImSetCurrentIME(HIMI hIMI, ULONG ulAction, ULONG ImeId)
パラメータ:
hIMI - IMインスタンスのハンドル

ulAction(入力) - 以下のいずれかひとつの値になります。

ValueAction
SCI_NOIMEIMEを取り除きます
SCI_NEXTIMEをIMEリストの次のものに変更します。もしリストの最後の場合は先頭に戻ります。
SCI_PREVIOUSIMEをIMEリストのひとつ前のものに変更します。もしリストの先頭の場合は、リストの最後になります。
SCI_SETBYIDIME IDを指定してIMEをセットします。IDは、ImeIdにセットします。

ImeId(入力) - IME ID。ulActionがSCI_SETBYIDのときにのみ有効です。

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
[API]ImSetDefaultIME
アプリケーションは、指定したコードページのデフォルトIMEをセットできます。
書式:
APIRET APIENTRY ImSetDefaultIME(ULONG ulCodepage, ULONG ImeId)
パラメータ:
ulCodepage(入力) - デフォルトIMEをセットするコードページ

ImeId(入力) - デフォルトにするIMEのIME ID

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
[API]ImSetIMEListOrder
この関数は、IMEリストのIMEの順番を変更します。
書式:
APIRET APIENTRY ImSetIMEListOrder(ULONG ulCodepage, ULONG ulAction, ULONG ImeIdTarget, ULONG ImeIdIndex)
パラメータ:
ulCodepage(入力) - IMEリストの順番を変更したいコードページ

ulAction(入力) - 以下のいずれかになります。

ActionDescription
SLO_TOPIMEリストの先頭にImeIdTargetで指定したIMEをセットします。
SLO_BOTTOMIMEリストの最後にImeIdTargetで指定したIMEをセットします。
SLO_SETAFTERImeIdIndexで指定したIMEの後にImeIdTargetで指定したIMEをセットします。
SLO_SETBEFOREImeIdIndexで指定したIMEの前にImeIdTargetで指定したIMEをセットします。
SLO_ROTATEImeIdTargetで指定したIMEをリストのローテーションによって先頭にセットします。その他の順番の変更はありません。

ImeIdTarget(入力) - 順番を変更したいIMEのID

ImeIdIndex(入力) - ulActionがSLO_SETAFTERかSLO_SETBEFOREの場合に有効です。

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
[API]ImSetIMMode
アプリケーションは、カレントの入力モード、変換モード、オープン状況をセットできます。
書式:
APIRET APIENTRY ImSetIMMode(HIMI hIMI, ULONG ulInputMode, ULONG ulConversionMode)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル

ulInputMode(入力) - 入力モードあるいは、IMEのオン/オフ

ulConversionMode(入力) - 変換モード

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
備考:
ImQueryIMModeに入力モードと変換モードが定義されていますので、参照してください。
[API]ImSetMsgQueueProperty
アプリケーションは、デフォルトIMインスタンスの関連方法をセットできます。
書式:
APIRET APIENTRY ImSetMsgQueueProperty( HMQ hmq, ULONG ulFlag )
パラメータ:
hmq(入力) - メツセージ・キューのハンドル

ulFlag(入力) - セットするメツセージ・プロパティ情報。ImQueryMsgQueuePropertyを参照してください。

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
[API]ImSetStatusWindowPos
アプリケーションは、状況ウィンドウの位置をセットできます。
書式:
APIRET APIENTRY ImSetStatusWindowPos(HIMI hIMI, PPOINTL pptPos)
パラメータ:
hIMI(入力) - 状況ウィンドウに関連付けられたIMインスタンスのハンドル

pptPos(入力) - 世界座標でのウィンドウ位置へのポインタ

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
[API]ImShowIMEDlg
この関数は、IMEに設定ダイログを表示させます。設定ダイアログには、構成ダイアログと、単語登録ダイアログと辞書選択ダイアログがあります。
書式:
APIRET APIENTRY ImShowIMEDlg(HIMI hIMI, ULONG ulDlgType, PREGISTERWORDHEADER pRegWord)
パラメータ:
hIMI(入力) - IMインスタンスのハンドル

ulDlgType(入力) - ダイアログのタイプ

TypeDescription
IME_DLG_CONFIGIMEの構成ダイアログ
IME_DLG_REGWORD単語登録ダイアログ
IME_DLG_DICTIONARY辞書選択ダイアログ

pRegWord(入力) - REGISTERWORDHEADER構造体へのポインタ。このパラメータは、 ulDlgTypeがIME_DLG_REGWORDのときにだけ有効です。

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
備考:
参照 REGISTERWORDHEADER構造体
[API]ImShowStatusWindow
この関数は、状況ウィンドウの表示/非表示を行います。
書式:
APIRET APIENTRY ImShowStatusWindow(HIMI hImi, ULONG ulFlag)
パラメータ:
hImi(入力) - IMインスタンスのハンドル

ulFlag(入力) - フラグ

ValueDescription
SSW_SHOW状況ウィンドウを表示します
SSW_HIDE状況ウィンドウを非表示にします

戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。

[Message]WM_IMECONTROL
このメッセージは、アプリケーションがIMEをコントロールしたいときにIMウィンドウに送付されます。
パラメータ:
mparam1 : ulControl(ULONG) - コントロールの値。次のうちのひとつになります。
IMC_HIDESTATUSWINDOW :

アプリケーションは、状況ウィンドウを消すために、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へのポインタです。

param2 : それぞれのコントロールの値によります。
戻り値:
関数が正常に終了した場合には、ゼロが返ります。エラーの場合には、ゼロ以外の値が返ります。
[Message]WM_IMEREQUEST
このメッセージは、イベントの通知のためにアプリケーション・ウィンドウへ送付されます。
パラメータ :
mparam1 : ulRequestType(ULONG)です。この値は次のうちのどれかです。それぞれの値は、お互いに排他的です。
IMR_INSTANCEACTIVATE :

このリクエストは、アプリケーションがフォーカスを得たときに送られます。 mparam2のハイワードは、アクティブ化のブール値(TRUE : アクティブ, FALSE : インアクティブ)が入ります。mparam2のローワードはウィンドウの情報が入ります。 以下のビットの組み合わせになります。

  • IMR_IA_STATUS
  • IMR_IA_CONVERSION
  • IMR_IA_CANDIDATE
  • IMR_IA_INFOMSG
  • IMR_IA_REGWORD
IMR_STATUS :

このリクエストは、状況域が変化したときに送られます。 mparam2は、状況域の変化したフィールドの情報が入ります。以下のビットの組み合わせになります。

  • IMR_STATUS_SHOW
  • IMR_STATUS_HIDE
  • IMR_STATUS_INPUTMODE
  • IMR_STATUS_CONVERSIONMODE
  • IMR_STATUS_STATUSPOS
  • IMR_STATUS_STATUSSTRING
  • IMR_STATUS_STRINGATTR
  • IMR_STATUS_CURSORPOS
  • IMR_STATUS_CURSORATTR
IMR_CONVRESULT :

このリクエストは、変換域、結果域またはその両方がキー入力またはAPIのコールによって変化したときに送られます mparam2は、 変換域または結果域のフィールドの情報が入ります。以下のビットの組み合わせになります。

  • IMR_CONV_CONVERSIONSTRING
  • IMR_CONV_CONVERSIONATTR
  • IMR_CONV_CONVERSIONCLAUSE
  • IMR_CONV_READINGSTRING
  • IMR_CONV_READINGATTR
  • IMR_CONV_READINGCLAUSE
  • IMR_CONV_CURSORPOS
  • IMR_CONV_CURSORATTR
  • IMR_CONV_CHANGESTART
  • IMR_CONV_INSERTCHAR
  • IMR_CONV_NOMOVECARET
  • IMR_CONV_CONVERSIONFONT
  • IMR_CONV_CONVERSIONPOS
  • IMR_RESULT_RESULTSTRING
  • IMR_RESULT_RESULTATTR
  • IMR_RESULT_RESULTCLAUSE
  • IMR_RESULT_READINGSTRING
  • IMR_RESULT_READINGATTR
  • IMR_RESULT_READINGCLAUSE
IMR_CANDIDATE :

このリクエストは、候補域が変化したときに送られます。 mparam2は、 候補域が変化したフィールドの情報が入ります。 以下のビットの組み合わせになります。

  • IMR_CANDIDATE_SHOW
  • IMR_CANDIDATE_HIDE
  • IMR_CANDIDATE_CHANGE
  • IMR_CANDIDATE_CANDIDATEPOS
  • IMR_CANDIDATE_SELECT

Note: IMR_CANDIDATE_SELECTは、候補リストの選択が変化したときに送られます。 候補リストの中身がすべて変わったときには、IMR_CANDIDATE_CHANGEが送られます。

IMR_INFOMSG :

このリクエストは、情報メッセージ域が変化したときに送られます。

  • IMR_INFOMSG_ERRLEVEL
  • IMR_INFOMSG_ERRINDEX
  • IMR_INFOMSG_ERRTITLE
  • IMR_INFOMSG_ERRSTR
  • IMR_INFOMSG_PRIVATE
IMR_REGWORD :

このリクエストは、単語登録域が変化したときに送られます。

  • IMR_REGWORD_SHOW
  • IMR_REGWORD_HIDE
IMR_IMECHANGE :

このリクエストは、カレントIMEが変わったときに送られます。mparam2は、新しいIMEのImeIdが入ります。

IMR_CONFIG :

このリクエストは、IMEの構成パネルが表示または非表示になったときに送られます。

  • IMR_CONFIG_SHOW
  • IMR_CONFIG_HIDE
IMR_DICTIONARY :

このリクエストは、辞書設定パネルが表示または非表示になったときに送られます。

  • IMR_DICTIONARY_SHOW
  • IMR_DICTIONARY_HIDE
IMR_OTHERINFO :

このリクエストは、いずれにも属していないところが変化したときに送られます。

  • IMR_OTHERINFO_HWND
mparam2 : ulRequestTypeに依存します。
戻り値 :
終了コード(BOOL) : TRUE : 正常終了、FALSE : エラー。 Windows95では、WM_IME_COMPOSITIONは、構成文字列の最終変化の'chDBCS'が入ります。ただ、MSIMEの場合、いつでもゼロになります。そこで、IMR_COMVERSIONとIMR_RESULTのパラメータに省略しました。
[Message]WM_IMENOTIFY
このメッセージは、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{
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 - 候補リストのスタイルを指定します。以下のいずれかの値をとります。
StyleDescription
CLS_READING同じよみの候補リスト
CLS_CODE同じコード範囲の候補リスト
CLS_MEANING同じ意味を持つものの候補リスト
CLS_RADICAL同じ語根の候補リスト
CLS_STROKES同じ画数の候補リスト

ulCount - 候補の数

ulSelection - 選択された候補文字列のインデックス

ulPageStart - 候補ウィンドウの最初の候補文字列のインダックス

ulPageSize - ひとつの候補ウィンドウの候補文字列の数

ulTitleLen - 候補リストのタイトルの長さ

ulTitleOffset - この構造体の先頭からのオフセット。 タイトルがここに入ります。

aulOffset - 候補文字列が続きます。

[構造体]CONVERSIONPOS
typedef struct _CONVERSIONPOS{
ULONG ulStyle;
POINTL ptCurrentPos;
RECTL rcArea;
}CONVERSIONPOS;
typedef CONVERSIONPOS * PCONVERSIONPOS;
ulStyle - 位置のスタイル。ビットで指定します。

StyleDescription
CPS_DEFAULTデフォルト位置に変換ウィンドウを表示します。
CPS_FORCEptCurrentPosで指定した場所に変換テキストを表示します。
CPS_POINTptCurrentPosで指定した場所に変換ウィンドウを表示します。
CPS_RECTrcAreaで与えた領域に変換ウィンドウを表示します。

ptCurrentPos - 変換ウィンドの左下位置。スタイルがCPS_FORCEのときには、ウィンドウ座標での変換テキストボックスの左下の座標を指定します。

rcArea - 変換ウィンドウの矩形

[構造体]CANDIDATEPOS
typedef struct _CANDIDATEPOS{
ULONG ulIndex;
ULONG ulStyle;
POINTL ptCurrentPos;
RECTL rcArea;
}CANDIDATEPOS;
typedef CANDIDATEPOS * PCANDIDATEPOS;
ulIndex - 候補リストのインデックス。0から31の値をとります。

ulStyle - 候補ウィンドウの位置のスタイル

StyleDescription
CPS_CANDIDATEPOS候補ウィンドウをptCurrentPosの左上の位置に表示します。
CPS_EXCLUDErcAreaで指定したエリアから候補ウィンドウを除外します。ptCurrentPosは、カレントカーソル位置になります。

ptCurrentPos - 候補ウィンドウのウィンドウ座標による左上位置になるか、カーソルポジションになります。それは、ulStyleによります。

rcArea - CPS_EXCLUDEのための除外するエリアです。

[構造体]IMEINFOHEADER
typedef struct _IMEINFOHEADER {
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. システムが利用します。

[構造体]WORDTYPE
typedef struct _WORDTYPE{
ULONG ulType;
CHAR szDescription[32];
}WORDTYPE;
typedef WORDTYPE * PWORDTYPE;
ulType - 単語のタイプ

szDescription - 記述

[構造体]REGISTERWORDHEADER
typedef struct _REGISTERWORDHEADER{
ULONG cbSize
ULONG ulLengthReading;
ULONG ulOffsetReading;
ULONG ulLengthWord;
ULONG ulOffsetWord;
}REGISTERWORDHEADER;
typedef REGISTERWORDHEADER * PREGISTERWORDHEADER;
cbSize - この構造体のサイズ

ulLengthReading - よみ文字列のサイズがバイト単位で入ります。

ulOffsetReading - この構造体の先頭からのオフセットです。ここによみ文字列が入ります。

ulLengthWord - 登録する単語のバイト数

ulOffsetWord - この構造体の先頭からのオフセットです。ここに単語が入ります。

[構造体]IMMODE
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(入力) : リクエスト・タイプ。下のいずれかになります。

  • ICS_CONVERSION - よみ文字列 -> 結果文字列
  • ICS_REVERSECONVERSION - 結果文字列 -> よみ文字列
戻り値:
成功したかが戻ります。
  • 0 : 正常終了
  • その他 : エラーが発生しました
  • ERROR_NOT_SUPPORTED : この関数はサポートされていません。
備考:
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

戻り値:
成功したかエラーだったかを返します
  • 0 : 正常終了。
  • その他 : エラーが発生しました。
  • ERROR_NOT_SUPPORTED : この関数はサポートされていません。

[IME Export Entry]ImeDialog
このエントリーは、IMEに関係するダイアログ・パネルをオープンするためにコールされます。
構文:
APIRET APIENTRY ImeDialog(
HIMI hImi,
ULONG ulType,
PREGISTERWORDHEADER pRegWord )
パラメータ:
hImi(入力) : IMInstanceハンドル

ulType(入力) : 表示するダイアログのタイプ。以下のいずれかの値になります。

  • IME_DLG_CONFIG : 一般的な目的のダイアログを表示します
  • IME_DLG_REGWORD : 単語登録のダイアログを表示します。
  • IME_DLG_DICTIONARY : 辞書に関係するダイアログを表示します。
  • pRegWord(入力) : REGISTERWORDHEADER 構造体へのポインタです。 このパラメータは、ulTypeがIME_DLG_REGWORDのときにだけ有効です。
戻り値:
成功したかエラーだったかを返します
  • 0 : 正常終了。
  • その他 : エラーが発生しました。
  • ERROR_NOT_SUPPORTED : この関数は、サポートされていません。
備考:
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(入力) : アプリケーション・データ

戻り値:
成功したかエラーだったかを返します
  • 0 : 正常終了
  • その他 : エラーが発生しました
  • ERROR_NOT_SUPPORTED : この関数はサポートされていません。

[IME Export Entry]ImeEscape
このエントリーは、IMEを知っているアプリケーションがIME自身と直接コミニュケーションする機会を与えます。
構文:
APIRET APIENTRY ImeEscape(
HIMI hImi,
ULONG ulEscape,
PVOID pvData )
パラメータ:
hImi(入力) : IMInstanceハンドル.

ulEscape(入力) : エスケープ関数タイプ

pvData(入力/出力) : エスケープ・タイプ固有のデータ

戻り値:
成功したかエラーだったかを返します
  • 0 : 正常終了
  • その他 : エラーが発生しました(それぞれのエスケープ関数によります)
  • ERROR_NOT_SUPPORTED : この関数はサポートされていません。

[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の能力を表すフラグです。以下のフラグの組み合わせになります。

  • IME_CAPS_ACCEPTCONVERSIONSTRING : アプリケーションは、IMEに変換文字列データをセットできます
  • IME_CAPS_INHERITCONVERSIONMODE : IMEは、変換モードの継承ができます。
  • IME_CAPS_INHERITINPUTMODE : IMEは、入力モードの継承ができます。
  • IME_CAPS_PRIVATEUI : IMEが通常のダイアログパネルではなく特別なダイアログ・パネルを持っていることを意味します。
  • IME_CAPS_PROVIDEREADINGSTRING : IMEは、アプリケーションによってセットされた変換文字列からよみ文字列を用意できる能力を持っています。
  • IME_CAPS_PROVIDEUI : PM環境のインスタンスの間は、IMEは、PMのユーザー・インタフェースを用意することを意味します。
  • IME_CAPS_SCREENSWITCHABLE : IMInstanceが違うスクリーングループの間をスイッチできることをIMEが許していることを意味します。例えば、DOSボックスは、ホット・キーによって全画面とウィンドウを切り替えることができます。もしIMEがこのフラグをセットすると、同じIMInstanceが両方の環境で使用されます。IMEがこのフラグをセットしていないと、もうひとつのIMInstanceは、スクリーン・スイッチのときに生成されます。
  • IME_CAPS_UNICODE : IME I/Fで使われるすべての文字列は、Unicode文字列です。(Warp4.0 リリースではサポートされません)
ulConversionCaps(出力) : 変換モード能力フラグは、IMModeのIMI_CM_*フラグとビットの定義を共用します。

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がセットされていないと無効です。

戻り値:
成功したかエラーだったかを返します
  • 0 : 正常終了
  • その他 : エラーが発生しました

[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(入力) : イベント・タイプ。 以下のいずれかの値になります。

  • IME_NE_ATTACHIME :

    IMEがhImiにアタッチすると、このイベントがIMEに通知されます。それは、hImiが新しく生成されたときも含みます。
    ulInput1は、BOOL値です。: ATTACHIME, FALSE : DETACHIME.
    ulInput2とulInput3とulOutputは、0です。

  • IME_NE_BROADCASTDATA :

    このイベントは、ImBroadcastData APIをコールした結果として生成されます。
    ulInput1は、渡されたデータのタイプのインデックスです。
    ulInput2は、BROADCASTDATAへのポインタです。
    ulInput3とulOutputは、0にリザーブされています。

  • IME_NE_CHANGECANDIDATELIST :

    このイベントは、アプリケーションが候補リストの変更を要求したときに発生します。
    ulInput1は、候補リストのインデックスです。
    ulInput2とulInput3とulOutputは、0にリザーブされています。

  • IME_NE_CONVERSIONSTRING :

    アプリケーションがIMInstanceの変換パートに処理を要求します。
    ulInput1には、以下のいずれかの値が入ります。

    IME_NE_CS_CANCEL
    IME_NE_CS_COMPLETE
    IME_NE_CS_CONVERT
    IME_NE_CS_REVERT
    ulInput2とulInput3とulOutputは、0にリザーブされています。
  • IME_NE_FOCUS :

    hImiに関連したウィンドウ(またはセッション)が入力フォーカスを得たり、失ったりします。
    ulInput1は、BOOL値です。TRUE : フォーカスを得る, FALSE : フォーカスを失う
    ulInput2とulInput3とulOutputは、0にリザーブされています。

  • IME_NE_INSTANCEUPDATED :

    アプリケーションかシステムがIMInstanceの内容を変更しました。
    ulInput1は、IMInstanceの内容に一致した以下のいずれかの値になります。

    IME_NE_IU_SESSIONTYPE
    IME_NE_IU_HWND
    IME_NE_IU_SESSIONID
    IME_NE_IU_CLIENTINFO
    IME_NE_IU_CODEPAGE
    IME_NE_IU_INPUTMODE
    IME_NE_IU_CONVERSIONMODE
    IME_NE_IU_STATUSPOS
    IME_NE_IU_CONVERSIONFONT
    IME_NE_IU_CONVERSIONPOS
    IME_NE_IU_CANDIDATEPOS
    ulInput2は、ulInput1が
    IME_NE_IU_SESSIONTYPE、
    IME_NE_IU_HWND、
    IME_NE_IU_SESSIONID、
    IME_NE_IU_CLIENTINFO、
    IME_NE_IU_CODEPAGE、
    IME_NE_IU_INPUTMODEまたはIME_NE_IU_CONVERSIONMODE
    のどれかの場合には、前のインスタンスの値になります。
    ulInput3とulOutputは、0にリザーブされています。
  • IME_NE_KEYEVENT :

    ユーザーがキーボードを押しました。ulInput1とulInput2は、WM_CHARのmparam1とmparam2と同一になります。
    ulInput3のローワードは、IMEVKEY定義で記述されているIMEVKEYになります。
    ulOutputは、BOOL値として使われます。TRUEの場合、アプリケーションに渡され、FALSEの場合、渡されないことを意味します。
    PM環境では、ulOutputがFALSEの場合、キーイベントは、アプリケーションに渡されません。

  • IME_NE_SELECTCANDIDATE :

    アプリケーションが、候補ウィンドウのアイテムを選択しました。
    ulInput1は、候補リストのインデックスです。
    ulInput2は、候補文字列の選択したインデックスです。
    ulInput3とulOutputは、0にリザーブされています。

  • IME_NE_SHOWCANDIDATE :

    アプリケーションが候補ウィンドウの表示/非表示をリクエストしました。
    ulInput1は、候補リストのインデックスです。
    ulInput2は、BOOL値です。

    • TRUE : 候補ウィンドウを表示します。
    • FALSE : 候補ウィンドウを非表示します。
    ulInput3とulOutputは、0にリザーブされています。
  • IME_NE_SETCANDIDATEPAGESIZE :

    アプリケーションが、候補の1ページに表示する項目数をセットするためにリクエストしました。
    ulInput1は、候補リストのインデックスです。
    ulInput2は、新しいページです。
    ulInput3とulOutputは、0にリザーブされています。

  • IME_NE_SETTOPCANDIDATE :

    アプリケーションが指定した候補をページの先頭にセットします。
    ulInput1は、候補リストのインデックスです。
    ulInput2は、トップにセットする候補文字列のインデックスです。
    ulOutputは、0にリザーブされています。

  • IME_NE_SHOWSTATUSWINDOW :

    アプリケーションが状況ウィンドウの表示/非表示をリクエストしました。
    ulInput1は、BOOL値です。

    • TRUE : 状況ウィンドウを表示します。
    • FALSE :状況ウィンドウを非表示にします。
    ulInput2とulInput3とulOutputは、0にリザーブされています。
ulInput1(入力) : 指定したulEventTypeの入力パラメータ1です。
内容は、それぞれのイベント・タイプによります。

ulInput2(入力) : 指定したulEventTypeの入力パラメータ2です。
内容は、それぞれのイベント・タイプによります。

ulInput3(入力) : 指定したulEventTypeの入力パラメータ3です。
内容は、それぞれのイベント・タイプによります。

ulOutput(ouput) : 指定したulEventTypeの出力パラメータです。
内容は、それぞれのイベント・タイプによります。

戻り値:
成功したかエラーだったかを返します
  • 0 : 正常終了
  • その他 : エラーが発生しました
備考:
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のバッファにいくつのタイプがコピーされたかが入ります。もしゼロが入力されたときには、いくつのタイプが戻されるかを返します。

戻り値:
成功したかエラーだったかを返します
  • 0 : 正常終了
  • その他 : エラーが発生しました
  • ERROR_NOT_SUPPORTED : この関数はサポートされていません。

[IME Export Entry]ImeRegisterWord
このエントリーは、新しい単語をよみといっしょに登録します。
構文:
APIRET APIENTRY ImeRegisterWord(
HIMI hImi,
PSZ pszWord,
PSZ pszReading,
ULONG ulWordType )
パラメータ:
hImi(入力) : IMInstanceハンドル.

pszWord(入力) : 登録する単語

pszReading(入力) : よみ

ulWordType(入力) : 単語のタイプID

戻り値:
成功したかエラーだったかを返します
  • 0 : 正常終了
  • その他 : エラーが発生しました
  • ERROR_NOT_SUPPORTED : この関数はサポートされていません。

[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(入力) : よみ文字列の長さ

戻り値:
成功したかエラーだったかを返します
  • 0 : 正常終了
  • その他 : エラーが発生しました
  • ERROR_NOT_SUPPORTED : この関数はサポートされていません。

[IME Export Entry]ImeTerminate
このエントリーは、IMEがメモリーから破棄される前に、アロケートしたグローバルなリソースを クリーンアップする機会をIMEに与えます。
構文:
APIRET APIENTRY ImeTerminate( ULONG ulReserved )
パラメータ:
ulReserved(入力) : 0にリザーブされています。
戻り値:
成功したかエラーだったかを返します
  • 0 : 正常終了
  • その他 : エラーが発生しました
IME メッセージ[IME Message] IME メッセージ[IME Message]
IMEメッセージは、ユーザーイベントやアプリケーションのコントロールに関連してIMEが受けたり、送付したりするメッセージです。 WM_IMENOTIFY
このメッセージは、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ウィンドウに送付されます。
パラメータ:
mparam 1 ulIndex(入力) : ウィンドウの能力を照会するインデックスは、以下のとおりです。

IMEウィンドウは、mparam 2が指すアドレスにこのインデックスに一致する値を書き込みます。

IWC_CONVERSIONANGLE
mparam 2には、以下の変換ウィンドウの描画角度能力を表す次のいずれかの値になります。

  • UIC_270
  • UIC_ANGLE90
  • UIC_ANGLEANY
IWC_CONVERSIONMARGIN
mparam2は、変換ウィンドウの境と変換テキストの実際のテキスト・ボックスとのマージン値がペル値で入っています。

IWC_FORCEPOSITION
mparam2は、変換ウィンドウがCONVERSIONPOS構造体のCPS_FORCEビットをサポートするかを示すBOOL値が入っています。

mparam 2 pulValue(出力) : mparam 1のulIndexに一致するULONG値へのポインタ
戻り値:
成功したかエラーだったかを返します(BOOL) : TRUE : 成功、FALSE : 失敗
IME用IMエクスポート・エントリー[IM Export Entry for IME] IME用IMエクスポート・エントリー[IM Export Entry for IME]


ImBroadcastData
このエントリーは、すでにオープンしているIMインスタンスすべてにIMEで定義したデータをプロードキャストしたいときにコールします。
構文:
APIRET APIENTRY ImBroadcastData(
PSZ pszIMEName,
ULONG ulIndex,
PVOID pData )
パラメータ:
pszIMEName(入力) : ブロードキャストされるインスタンスのIME Name

ulIndex(入力) : データタイプのインデックス

  • IBD_RESERVED_FIRST : システム使用の最初のインデックス
  • IBD_RESERVED_LAST : システム使用の最終のインデックス
  • IBD_PRIVATE_FIRST : IME使用の最初のインデックス
  • IBD_PRIVATE_LAST : IME使用の最終のインデックス
pData(入力) : IME定義データは以下のような構造体になっています。

BROADCASTDATAHEADER
{
ULONG cbSize;
BYTE bData[1];
}

戻り値:
成功したかエラーだったかを返します
  • 0 : 正常終了
  • その他 : エラーが発生しました

ImCreateIMIPart
このエントリーは、IMInstanceパートメモリ領域を生成するためにコールされます。戻されたパート・ハンドルでアクセスできます。
構文:
APIRET APIENTRY ImCreateIMIPart(
ULONG ulPartSize,
PHIMIP phimiPart )
パラメータ:
ulPartSize(入力) : 生成されるパート・サイズ

phimiPart(出力) : 生成されたパート・ハンドル

戻り値:
成功したかエラーだったかを返します
  • 0 : 正常終了
  • その他 : エラーが発生しました
備考:
この関数によってアロケートされたメモリ領域は、共用領域で、ゼロ・クリアされています。 最大32キロバイトまでの領域がアロケートできます。

ImDeregisterIME
IMEインストール・プログラムは、ImRegisterIMEで登録されたIMEを登録解除するためにコールします。ImDeregisterIMEは、すべてのコードページから登録を解除します。
構文:
APIRET APIENTRY ImDeregisterIME( PSZ pszImeName )
パラメータ:
pszImeName(入力) - 登録解除するIMEの名前
戻り値:
成功したかエラーだったかを返します
  • 0 : 正常終了
  • その他 : エラーが発生しました
備考:
このAPIは、IME DLL自身からはコールされず、IMEインストール・プログラムからのみコールされます。

ImDestroyIMIPart
このエントリーは、IMInstanceパートハンドルを開放するためにコールされます。
構文:
APIRET APIENTRY ImDestroyIMIPart( HIMIP himiPart )
パラメータ:
himiPart(入力) : 開放するパート・ハンドル
戻り値:
成功したかエラーだったかを返します
  • 0 : 正常終了
  • その他 : エラーが発生しました

ImQueryIMInstanceReqCount
このエントリーは、指定したIMInstanceのアクセス・カウントを照会するためにコールされます。
構文:
APIRET APIENTRY ImQueryIMInstanceReqCount( HIMI hImi, PULONG pulCount )
パラメータ:
hImi(入力) : IMInstanceハンドル

pulCount(出力) : アクセス・カウント

戻り値:
成功したかエラーだったかを返します
  • 0 : 正常終了
  • その他 : エラーが発生しました

ImQueryIMIPartReqCount
このエントリーは、指定したIMInstanceパートのリクエスト・カウントを照会するためにコールされます。
構文:
APIRET APIENTRY ImQueryIMIPartReqCount( HIMIP himiPart, PULONG pulCount )
パラメータ:
himiPart(入力) : パート・ハンドル

pulCount(出力) : アクセス・カウント

戻り値:
成功したかエラーだったかを返します
  • 0 : 正常終了
  • その他 : エラーが発生しました

ImQueryIMIPartSize
このエントリーは、IMInstanceパート・データのサイズを照会するためにコールされます。
構文:
APIRET APIENTRY ImQueryIMIPartSize( HIMIP himiPart, PULONG pulPartSize )
パラメータ:
himiPart(入力) : パート・ハンドル

pulPartSize(出力) : パート・データサイズ

戻り値:
成功したかエラーだったかを返します
  • 0 : 正常終了
  • その他 : エラーが発生しました

ImRegisterIME
IMEインストール・プログラムが、言語にIMEを登録するためにコールします。
構文:
APIRET APIENTRY ImRegisterIME(
PSZ pszImeName,
PREGISTERIMEHEADER pRegIme,
PULONG pImeId )
パラメータ:
pszImeName(入力) : IMEの名前。拡張子を除いた実際のIME DLLの名前になります。たとえば"FAKEIME"のようにです。

pRegIme(入力) : REGISTERIMEHEADERへのポインタ:

REGISTERIMEHEADER
{
ULONG cbSize;
ULONG ulLangCount;
ULONG offsetLang;
ULONG ulDescriptionLen
ULONG offsetDescription;
ULONG ulFlag;
}

cbSize(入力) : 構造体のサイズ

ulLangCount(入力) : サポートする言語の数

offsetLang(入力) : 2バイト言語配列へのポインタ

ulDescriptionLen(入力) : IME記述のバイト・サイズ

offsetDescription(入力) : IME記述のオフセット。IME記述は、IME選択パネルで使用されます。

ulFlag(入力) : 登録フラグは、以下の値の組み合わせになります。:

  • IM_REG_FLAG_DEFAULT(0x00000001) : このIMEがサポートしているすべての言語のデフォルトIMEになります。
  • IM_REG_FLAG_IME16CALLABLE(0x00000002) : 32ビットIMEですが、以前の16ビットIMEのインタフェースも持っています。このフラグがセットされると、IMMONとVDMIMFEPがIME16インタフェースを通して、コールされます。IMEが全画面セッションで構成ダイアログを表示する必要があるときに便利です。
  • IM_REG_FLAG_IME16(0x80000000) : GTOをとおしてアクセスできる以前の16ビットIMEです。
pImeId(出力) : 登録されたIMEのIDが返ります。
戻り値:
成功したかエラーだったかを返します
  • 0 : 正常終了
  • その他 : エラーが発生しました
備考:
このAPIは、IMEのDLL自身からコールされるのではなく、IMEインストール・プログラムからのみコールされます。 IMEのDLLは、LIBPATHで指定されているディレクトリーのどこかにある必要があります。 「言語」は、'JA'のような2バイト文字です。可能な言語は、インストールの章にリストされています。

ImReleaseIMInstance
このエントリーは、IMInstanceへのアクセスを開放するためにコールします。
構文:
APIRET APIENTRY ImReleaseIMInstance( HIMI hImi )
パラメータ:
hImi(入力) : IMInstanceハンドル
戻り値:
成功したかエラーだったかを返します
  • 0 : 正常終了
  • その他 : エラーが発生しました

ImReleaseIMIPart
このエントリーは、IMInstanceパートへのアクセスを開放するためにコールします。
構文:
APIRET APIENTRY ImReleaseIMIPart( HIMIP himiPart )
パラメータ:
himiPart(入力) : パート・ハンドル
戻り値:
成功したかエラーだったかを返します
  • 0 : 正常終了
  • その他 : エラーが発生しました
備考:
この関数は、ImQueryIMIPartReqCountで照会できるhimiPartのリクエスト・カウントをひとつ減らします。

ImRequestEvent
このエントリーは、 IMEがIMInstanceのフィールドを変更したときに、アプリケーションに にイベントを知らせるためにコールします。
構文:
APIRET APIENTRY ImRequestEvent(
HIMI hImi,
ULONG msg,
ULONG mp1,
ULONG mp2 )
パラメータ:
hImi(入力) : IMInstanceハンドル

msg(入力) : リクエストするメッセージ・イベントのタイプ。以下のいずれかの値になります。

  • WM_IMEREQUEST
  • WM_IMENOTIFY
mp1(入力) : msgで指定されるメッセージのメッセージ・パラメータ1です。

mp2(入力) : msgで指定されるメッセージのメッセージ・パラメータ2です。

戻り値:
成功したかエラーだったかを返します
  • 0 : 正常終了
  • その他 : エラーが発生しました
備考:
PM環境では、このAPIがWM_IMEREQUESTまたはWM_IMENOTIFYメッセージを生成します。

ImRequestIMInstance
このエントリーは、IMInstanceへのアクセスを要求するときにコールされます。
構文:
APIRET APIENTRY ImRequestIMInstance(
HIMI hImi,
PIMINSTANCE * ppIMInstance )
パラメータ:
hImi(入力) : IMInstanceハンドル

ppIMInstance(出力) : IMInstanceのアドレス

戻り値:
成功したかエラーだったかを返します
  • 0 : 正常終了
  • その他 : エラーが発生しました

ImRequestIMIPart
このエントリーは、IMInstanceパートへのアクセスを要求するときにコールされます。
構文:
APIRET APIENTRY ImRequestIMIPart(
HIMIP himiPart,
PVOID * ppPartData )
パラメータ:
himiPart(入力) : パート・ハンドル

ppPartData(出力) : パート・データ構造体のアドレス

戻り値:
成功したかエラーだったかを返します
  • 0 : 正常終了
  • その他 : エラーが発生しました
備考:
この関数は、ImQueryIMIPartReqCountで照会できるhimiPartのカウントをひとつカウントアップします。

ImResizeIMIPart
このエントリーは、IMInstanceのパート・データ・サイズを変更するためにコールされます。
構文:
APIRET APIENTRY ImResizeIMIPart(
HIMIP himiPart,
ULONG ulNewSize )
パラメータ:
himiPart(入力) : パート・ハンドル

ulNewSize(入力) : 新しいパート・データのサイズ

戻り値:
成功したかエラーだったかを返します
  • 0 : 正常終了
  • その他 : エラーが発生しました
備考:
変更要求しているサイズが元のサイズより小さいときには、実際には、サイズ変更せずに正常終了します。 この関数は、himiPartのリクエスト・カウントがゼロ以外の場合、エラーになります。 24

Win95との比較 APIs
Win95(リンク先は MSDN)OS/2
ImmAssociateContextImAssociateInstance
ImmConfigureIMEImShowIMEDlg
ImmCreateContextImCreateInstance
ImmDestroyContextImDestroyInstance
ImmEnumRegisterWordImEnumRegisterWord
ImmEscapeImEscape
ImmGetCandidateListImQueryCandidateList
ImmGetCandidateListCountImQueryCandidateList *1
ImmGetCandidateWindowImQueryCandidateWindowPos
ImmGetCompositionFontImQueryConversionFont
ImmGetCompositionStringImGetConversionString
N/AImGetResultString
ImmGetCompositionWindowImQueryConversionWindowPos
ImmGetContextImGetInstance
ImmGetConversionListImConvertString
ImmGetConversionStatusImQueryIMMode
ImmGetDefaultIMEWndImQueryDefaultIMWindow
ImmGetDescriptionImQueryIMEInfo
ImmGetGuideLineImQueryInfoMsg
ImmGetIMEFileNameImQueryIMEInfo *2
ImmGetOpenStatusImQueryIMMode
ImmGetPropertyImQueryIMEProperty
ImmGetRegisterWordStyleImQueryRegisterWordType
ImmGetStatusWindowPosImQueryStatusWindowPos
ImmGetVirtualKeyN/A
ImmInstallIMEImRegisterIME
ImmIsIMEN/A
ImmIsUIMessageImIsIMEMessage
ImmNotifyIMEImRequestIME
ImmRegisterWordImRegisterWord
ImmReleaseContextImReleaseInstance
ImmSetCandidateWindowImSetCandidateWindowPos
ImmSetCompositionFontImSetConversionFont
ImmSetCompositionStringImSetConversionString
ImmSetCompositionWindowImSetConversionWindowPos
ImmSetConversionStatusImSetIMMode
ImmSetOpenStatusImSetIMMode *3
ImmSetStatusWindowPosImSetStatusWindowPos
ImmSimulateHotKeyN/A
ImmUnregisterWordImDeregisterWord
N/AImDeregisterIME
N/AImQueryCurrentIME
N/AImQueryIMEList
N/AImSetCurrentIME
N/AImShowStatusWindow
N/AImQueryMsgQueueProperty
N/AImSetMsgQueueProperty
N/AImGetStatusString
N/AImQueryIMEID
N/AImQueryDefaultIME
N/AImSetDefaultIME
Note: *1 ImQueryCandidateListは、ImmQueryCandidateListとImmQueryCandidateListCountに相当します。

Note: *2 ImQueryIMEInfoは、ImmGetDescriptionとImmGetIMEFileNameに相当します。

Note: *3 ImSetIMModeは、ImmSetConversionStatusとImmSetOpenStatusに相当します。


Messages
Win95OS/2
WM_IME_CHARWM_CHAR
WM_IME_COMPOSITIONIMR_CONVRESULT
WM_IME_COMPOSITIONFULLIMN_CONVERSIONFULL
WM_IME_CONTROLWM_IMECONTROL
WM_IME_ENDCOMPOSITIONIMN_ENDCONVERSION
WM_IME_NOTIFYWM_IMEREQUEST
WM_IME_SELECTN/A
WM_IME_SETCONTEXTIMR_INSTANCEACTIVATE
WM_IME_STARTCOMPOSITIONIMN_STARTCONVERSION
IMC_CLOSESTATUSWINDOWIMC_CLOSESTATUSWINDOW
IMC_GETCANDIDATEPOSIMC_QUERYCANDIDATEPOS
IMC_GETCOMPOSITIONCOLORIMC_QUERYCONVERSIONCOLOR
IMC_GETCOMPOSITIONFONTIMC_QUERYCONVERSIONFONT
IMC_GETCOMPOSITIONWINDOWIMC_QUERYCONVERSIONWINDOW
IMC_GETCONVERSIONMODEIMC_QUERYCONVMODE
IMC_GETOPENSTATUSIMC_QUERYOPENSTATUS
IMC_GETSENTENCEMODEIMC_QUERYSENTENCEMODE
IMC_GETSTATUSWINDOWPOSIMC_QUERYSTATUSWINDOWPOS
IMC_OPENSTATUSWINDOWIMC_OPENSTATUSWINDOW
IMC_SETCANDIDATEPOSIMC_SETCANDIDATEPOS
IMC_SETCOMPOSITIONCOLORIMC_SETCONVERSIONCOLOR
IMC_SETCOMPOSITIONFONTIMC_SETCONVERSIONFONT
IMC_SETCOMPOSITIONWINDOWIMC_SETCONVERSIONWINDOW
IMC_SETCONVERSIONMODEIMC_SETCONVMODE
IMC_SETOPENSTATUSIMC_SETOPENSTATUS
IMC_SETSENTENCEMODEIMC_SETSENTENCEMODE
IMC_SETSTATUSWINDOWPOSIMC_SETSTATUSWINDOWPOS
IMN_CHANGECANDIDATEIMR_CANDIDATE_CHANGE
IMN_CLOSECANDIDATEIMR_CANDIDATE_HIDE
IMN_CLOSESTATUSWINDOWIMR_STATUS_HIDE
IMN_GUIDELINEIMR_INFOMSG
N/AIMR_INFOMSG_ERRLEVEL
N/AIMR_INFOMSG_ERRINDEX
N/AIMR_INFOMSG_ERRSTR
N/AIMR_INFOMSG_PRIVATE
IMN_OPENCANDIDATEIMR_CANDIDATE_SHOW
IMN_OPENSTATUSWINDOWIMR_STATUS_SHOW
IMN_SETCANDIDATEPOSIMR_CANDIDATE_CANDIDATEPOS
IMN_SETCOMPOSITIONFONTIMR_CONV_CONVERSIONFONT
IMN_SETCOMPOSITIONWINDOWIMR_CONV_CONVERSIONPOS
IMN_SETCONVERSIONMODEIMR_STATUS_INPUTMODE
IMN_SETOPENSTATUSIMR_STATUS_INPUTMODE
IMN_SETSENTENCEMODEIMR_STATUS_CONVERSIONMODE
IMN_SETSTATUSWINDOWPOSIMR_STATUS_STATUSPOS
N/AIMC_QUERYSTATUSWINDOWSIZE
N/AIMC_QUERYCONVERSIONANGLE
N/AIMC_QUERYCONVERSIONFONTSIZE
N/AIMC_SETCONVERSIONANGLE
N/AIMC_SETCONVERSIONFONTSIZE
N/AIMC_CHANGEINPUTLANG
N/AIMR_IMECHANGE
N/AIMR_STATUS_STATUSSTRING
N/AIMR_STATUS_STRINGATTR
N/AIMR_STATUS_CURSORPOS
N/AIMR_STATUS_CURSORATTR
N/AIMR_OTHERINFO_HWND
N/AIMN_IMECHANGED
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