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

IFELanguage

COM
IID019f7152-e6db-11d0-83c3-00c04fddb82e継承元IUnknown自前メソッド開始 vtbl3

メソッド 6

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

vtbl 3 HRESULT Open()
vtbl 4 HRESULT Close()
vtbl 5 HRESULT GetJMorphResult(DWORD dwRequest, DWORD dwCMode, INT cwchInput, LPWSTR pwchInput, DWORD* pfCInfo, MORRSLT** ppResult)
dwRequestDWORDin要求する形態素解析の種別を指定する。
dwCModeDWORDin変換モードを示すフラグを指定する。
cwchInputINTinpwchInput の入力文字数を指定する。
pwchInputLPWSTRin解析対象の入力文字列へのポインタである。
pfCInfoDWORD*inout各文字の付加情報を受け取る配列へのポインタである。NULL 可。
ppResultMORRSLT**inout解析結果(MORRSLT)を受け取る。
vtbl 6 HRESULT GetConversionModeCaps(DWORD* pdwCaps)
pdwCapsDWORD*inout対応する変換モードの機能フラグを受け取る。
vtbl 7 HRESULT GetPhonetic(LPWSTR string, INT start, INT length, LPWSTR* phonetic)
stringLPWSTRin対象の文字列へのポインタである。
startINTin処理を開始する文字位置を指定する。
lengthINTin処理する文字数を指定する。-1 で末尾までを対象とする。
phoneticLPWSTR*inout取得した読み(ふりがな)文字列を受け取る。
vtbl 8 HRESULT GetConversion(LPWSTR string, INT start, INT length, LPWSTR* result)
stringLPWSTRin変換対象の文字列へのポインタである。
startINTin変換を開始する文字位置を指定する。
lengthINTin変換する文字数を指定する。-1 で末尾までを対象とする。
resultLPWSTR*inout変換結果の文字列を受け取る。

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 方式にも切替可。