IFELanguage
COM公式ドキュメント
IFELanguage インターフェースは、Microsoft IME を使用した言語処理サービスを提供します。
解説(Remarks)
このインターフェースのインスタンスは CreateIFELanguageInstance 関数で作成します。
メソッド 6
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
IFELanguage オブジェクトを初期化します。
戻り値
IFELanguage オブジェクトを終了します。
戻り値
形態素解析の結果を取得します。
| dwRequest | DWORD | in | 変換要求。次のいずれかの値を指定できます。 FELANG_REQ_CONVFELANG_REQ_RECONVFELANG_REQ_REV | ||||||||||||||||||||||||||||||||||||||||||||||||||
| dwCMode | DWORD | in | 変換出力文字と変換オプションを指定します。この値は、次のフラグの 1 つ以上を組み合わせたものです。
| ||||||||||||||||||||||||||||||||||||||||||||||||||
| cwchInput | INT | in | pwchInput の文字数。 | ||||||||||||||||||||||||||||||||||||||||||||||||||
| pwchInput | LPWSTR | in | 形態素エンジンによって変換される入力文字。UNICODE 文字列である必要があります。 前回入力した文字列に対する次の順位のエントリを取得するには、このパラメーターを NULL に設定します。次のエントリが返される順序は実装によって定義されます。 | ||||||||||||||||||||||||||||||||||||||||||||||||||
| pfCInfo | DWORD* | inout | 各列の情報。各 pfCInfo[x] は pwchInput[x] に対応します。各 DWORD は、以下のフラグの組み合わせにできます。 FELANG_CLMN_WBREAKFELANG_CLMN_NOWBREAKFELANG_CLMN_PBREAKFELANG_CLMN_NOPBREAKFELANG_CLMN_FIXRFELANG_CLMN_FIXD | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ppResult | MORRSLT** | inout | 形態素結果データを受け取る MORRSLT 構造体のアドレス。 GetJMorphResult は、返されるデータのために OLE タスク アロケーターを使用してメモリを割り当て、そのメモリを指すように pResult を設定します。 アプリケーションは、CoTaskMemFree を使用して、pResult が指すメモリを解放する必要があります。 |
戻り値
このメソッドは、次のいずれかの値を返すことがあります。
| 戻り値 | 説明 |
|---|---|
| さらに候補が存在します。pwchInput を NULL にしてこの関数を再度呼び出すと、前回の pwchInput に対する次に良い候補を取得します。 | |
| 結果がありません。 | |
| これ以上候補がありません。 | |
| 入力が大きすぎます。 | |
| ミューテックスのタイムアウトが発生しました。 |
IFELanguage オブジェクトの変換モード機能を取得します。
| pdwCaps | DWORD* | inout | 機能。次のフラグの 1 つ以上を組み合わせて表されます。
|
戻り値
| string | LPWSTR | in | 対象の文字列へのポインタである。 |
| start | INT | in | 処理を開始する文字位置を指定する。 |
| length | INT | in | 処理する文字数を指定する。-1 で末尾までを対象とする。 |
| phonetic | LPWSTR* | inout | 取得した読み(ふりがな)文字列を受け取る。 |
入力文字列 (通常はひらがな文字を含む) を変換後の文字列に変換します。
| string | LPWSTR | in | 変換する表音文字の文字列。 |
| start | INT | in | IFELanguage が変換を開始する先頭文字。 string の最初の文字は 0 ではなく 1 で表されます。 |
| length | INT | in | 変換する文字数。この値が -1 の場合、start 以降の残りのすべての文字が変換されます。 |
| result | LPWSTR* | inout | 変換後の文字列。この文字列は SysAllocStringLen によって割り当てられるため、クライアントが解放する必要があります。 |
戻り値
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IFELanguage "{019F7152-E6DB-11D0-83C3-00C04FDDB82E}" #usecom global IFELanguage IID_IFELanguage "{}" #comfunc global IFELanguage_Open 3 #comfunc global IFELanguage_Close 4 #comfunc global IFELanguage_GetJMorphResult 5 int,int,int,wstr,var,var #comfunc global IFELanguage_GetConversionModeCaps 6 var #comfunc global IFELanguage_GetPhonetic 7 wstr,int,int,var #comfunc global IFELanguage_GetConversion 8 wstr,int,int,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IFELanguage "{019F7152-E6DB-11D0-83C3-00C04FDDB82E}" #usecom global IFELanguage IID_IFELanguage "{}" #comfunc global IFELanguage_Open 3 #comfunc global IFELanguage_Close 4 #comfunc global IFELanguage_GetJMorphResult 5 int,int,int,wstr,sptr,sptr #comfunc global IFELanguage_GetConversionModeCaps 6 sptr #comfunc global IFELanguage_GetPhonetic 7 wstr,int,int,sptr #comfunc global IFELanguage_GetConversion 8 wstr,int,int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。