IFEDictionary
COM公式ドキュメント
IFEDictionary インターフェースは、クライアントが Microsoft IME のユーザー辞書にアクセスできるようにします。
解説(Remarks)
このインターフェースのインスタンスは CreateIFEDictionaryInstance 関数で作成します。
メソッド 17
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
辞書ファイルを開きます。
| pchDictPath | LPSTR | inoutoptional | 開く NULL 終端のファイル名文字列を指します。pchDictPath が NULL または空文字列の場合、IME カーネルが開いているユーザー辞書が使用されます。pchDictPath が空文字列の場合、ユーザー辞書の名前が pchDictPath にコピーされます。この場合、pchDictPath のサイズは MAX_PATH でなければなりません。 |
| pshf | IMESHF* | inout | 開いたファイルの IMESHF ヘッダー。NULL でも構いません。 |
戻り値
次のいずれか:
- S_OK
- JDIC_S_EMPTY_DICTIONARY
- IFED_E_NOT_FOUND
- IFED_E_INVALID_FORMAT
- IFED_E_OPEN_FAILED
- E_FAIL
辞書ファイルを閉じます。
戻り値
辞書を開かずに、辞書ファイルから辞書ヘッダーを取得します。
| pchDictPath | LPSTR | inoutoptional | 辞書ファイルのパスと名前を含む NULL 終端文字列。 | ||||||||||||||||
| pshf | IMESHF* | inout | ファイルの IMESHF ヘッダー。NULL でも構いません。 | ||||||||||||||||
| pjfmt | IMEFMT* | inout | 辞書のフォーマット。次のいずれかの値になります: IFED_UNKNOWNIFED_MSIME2_BIN_SYSTEMIFED_MSIME2_BIN_USERIFED_MSIME2_TEXT_USERIFED_MSIME95_BIN_SYSTEMIFED_MSIME95_BIN_USERIFED_MSIME95_TEXT_USERIFED_MSIME97_BIN_SYSTEMIFED_MSIME97_BIN_USERIFED_MSIME97_TEXT_USERIFED_MSIME98_BIN_SYSTEMIFED_MSIME98_BIN_USERIFED_MSIME98_TEST_USERIFED_ACTIVE_DICTIFED_ATOK9IFED_ATOK10IFED_NEC_AI_IFED_WX_IIIFED_WX_IIIIFED_VJE_20IFED_MSIME98_SYSTEM_CEIFED_MSIME_BIN_SYSTEMIFED_MSIME_BIN_USERIFED_MSIME_TEXT_USERIFED_PIME2_BIN_USERIFED_PIME2_BIN_SYSTEMIFED_PIME2_BIN_STANDARD_SYSTEM | ||||||||||||||||
| pulType | DWORD* | inout | 辞書の種類。次のフラグの 1 つ以上の組み合わせです:
|
戻り値
次のいずれか:
このメソッドは Windows 8 以降では廃止されており、サポートされていません。
| hwnd | HWND | in | 親ウィンドウのハンドル。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
公開 POS(品詞)テーブルを取得します。
| prgPosTbl | POSTBL** | inout | POSTBL 構造体の配列へのポインター。 |
| pcPosTbl | INT* | inout | 返される配列内の POSTBL 構造体の数へのポインター。NULL でも構いません。 |
戻り値
辞書から単語エントリを取得します。
| pwchFirst | LPWSTR | in | IFEDictionary のエントリを照合するテキスト文字列。値は次のいずれかでなければなりません:
| ||||||||
| pwchLast | LPWSTR | in | テキスト文字列の終端に使用するテキスト文字列。範囲値ではなく単一の値で取得を行う場合、IMEWRD 構造体の pwchReading と同じ値を含める必要があります。値は次のいずれかでなければなりません:
| ||||||||
| pwchDisplay | LPWSTR | in | IFEDictionary のエントリを照合する表示文字列。値は次のいずれかでなければなりません:
| ||||||||
| ulPos | DWORD | in | Microsoft IME の公開品詞に対するフィルター。次のフラグの 1 つ以上の組み合わせです: IFED_POS_NONEIFED_POS_NOUNIFED_POS_VERBIFED_POS_ADJECTIVEIFED_POS_ADJECTIVE_VERBIFED_POS_ADVERBIFED_POS_ADNOUNIFED_POS_CONJUNCTIONIFED_POS_INTERJECTIONIFED_POS_INDEPENDENTIFED_POS_INFLECTIONALSUFFIXIFED_POS_PREFIXIFED_POS_SUFFIXIFED_POS_AFFIXIFED_POS_TANKANJIIFED_POS_IDIOMSIFED_POS_SYMBOLSIFED_POS_PARTICLEIFED_POS_AUXILIARY_VERBIFED_POS_SUB_VERBIFED_POS_DEPENDENTIFED_POS_ALL | ||||||||
| ulSelect | DWORD | in | 単語のクエリ出力を指定します。次のフラグの 1 つ以上の組み合わせです: IFED_SELECT_NONEIFED_SELECT_READINGIFED_SELECT_DISPLAYIFED_SELECT_POSIFED_SELECT_COMMENTIFED_SELECT_ALL | ||||||||
| ulWordSrc | DWORD | in | 単語のソースを指定します。IFEDictionary がユーザー辞書の場合、次のフラグの 1 つ以上の組み合わせになります: IFED_REG_NONEIFED_REG_USERIFED_REG_AUTOIFED_REG_GRAMMARIFED_REG_ALL | ||||||||
| pchBuffer | BYTE* | inout | データを受け取るために呼び出し元が用意するバッファー。 | ||||||||
| cbBuffer | DWORD | in | pchBuffer のサイズ。 | ||||||||
| pcWrd | DWORD* | inout | pchBuffer に返される IMEWRD 構造体の数。pchBuffer に格納できる数より多くのエントリが見つかった場合は、IFED_S_MORE_ENTRIES が返されます。 |
戻り値
辞書から次の単語エントリを取得します。
| pchBuffer | BYTE* | inout | データを受け取るために呼び出し元が用意するバッファー。 |
| cbBuffer | DWORD | in | pchBuffer のサイズ。 |
| pcWrd | DWORD* | inout | pchBuffer に返される IMEWRD 構造体の数。pchBuffer に格納できる数より多くのエントリが見つかった場合は、IFED_S_MORE_ENTRIES が返されます。 |
戻り値
新しい辞書ファイルを作成します。
| pchDictPath | LPSTR | in | 作成する新しい辞書ファイルのパスと名前を含む NULL 終端文字列。 |
| pshf | IMESHF* | inout | 新しい辞書の IMESHF ヘッダー。 |
戻り値
辞書ファイルに辞書ヘッダーを設定します。
| pshf | IMESHF* | inout | 設定する IMESHF ヘッダー。 |
戻り値
指定した単語が IFEDictionary に存在するかどうかを判定します。
| pwrd | IMEWRD* | inout | チェックする単語を指定する IMEWRD 構造体。 |
戻り値
| pdp | IMEDP* | inout | 存在を確認する係り受け情報(IMEDP)へのポインタである。 |
IFEDictionary に新しい単語を登録するか、既存の単語を削除します。
| reg | IMEREG | in | 実行する操作の種類。次のいずれかの値になります:
| ||||||||
| pwrd | IMEWRD* | inout | 登録または削除する単語を指定する IMEWRD 構造体。 |
戻り値
このメソッドは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| メソッドが成功しました。 | |
| この IFEDictionary オブジェクトはユーザー辞書ではありません。 | |
| 単語はすでに登録されています。 | |
| ユーザーコメントの挿入に失敗しました。 | |
| 単語の登録または削除に失敗しました。 | |
| 予期しないエラー。 |
| reg | IMEREG | in | 登録か削除かを示す操作種別(IMEREG)を指定する。 |
| pdp | IMEDP* | inout | 登録・削除する係り受け情報(IMEDP)へのポインタである。 |
| pwchKakariReading | LPWSTR | in | 係り側の読み文字列へのポインタである。 |
| pwchKakariDisplay | LPWSTR | in | 係り側の表記文字列へのポインタである。 |
| ulKakariPos | DWORD | in | 係り側の品詞を指定する。 |
| pwchUkeReading | LPWSTR | in | 受け側の読み文字列へのポインタである。 |
| pwchUkeDisplay | LPWSTR | in | 受け側の表記文字列へのポインタである。 |
| ulUkePos | DWORD | in | 受け側の品詞を指定する。 |
| jrel | IMEREL | in | 係り受けの関係種別(IMEREL)を指定する。 |
| ulWordSrc | DWORD | in | 検索対象とする単語ソースを指定する。 |
| pchBuffer | BYTE* | inout | 取得した係り受けデータを受け取るバッファへのポインタである。 |
| cbBuffer | DWORD | in | pchBuffer のサイズ(バイト数)を指定する。 |
| pcdp | DWORD* | inout | 取得した係り受けの個数を受け取る。 |
| pchBuffer | BYTE* | inout | 続きの係り受けデータを受け取るバッファへのポインタである。 |
| cbBuffer | DWORD | in | pchBuffer のサイズ(バイト数)を指定する。 |
| pcDp | DWORD* | inout | 取得した係り受けの個数を受け取る。 |
| pchDic | LPSTR | in | 変換元となる旧 MS-IME 辞書ファイルのパスを指定する。 |
| pfnLog | PFNLOG | in | 変換の進捗を通知するログコールバック関数を指定する。 |
| reg | IMEREG | in | 変換時の登録操作種別(IMEREG)を指定する。 |
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IFEDictionary "{019F7153-E6DB-11D0-83C3-00C04FDDB82E}" #usecom global IFEDictionary IID_IFEDictionary "{}" #comfunc global IFEDictionary_Open 3 var,var #comfunc global IFEDictionary_Close 4 #comfunc global IFEDictionary_GetHeader 5 var,var,var,var #comfunc global IFEDictionary_DisplayProperty 6 sptr #comfunc global IFEDictionary_GetPosTable 7 var,var #comfunc global IFEDictionary_GetWords 8 wstr,wstr,wstr,int,int,int,var,int,var #comfunc global IFEDictionary_NextWords 9 var,int,var #comfunc global IFEDictionary_Create 10 str,var #comfunc global IFEDictionary_SetHeader 11 var #comfunc global IFEDictionary_ExistWord 12 var #comfunc global IFEDictionary_ExistDependency 13 var #comfunc global IFEDictionary_RegisterWord 14 int,var #comfunc global IFEDictionary_RegisterDependency 15 int,var #comfunc global IFEDictionary_GetDependencies 16 wstr,wstr,int,wstr,wstr,int,int,int,var,int,var #comfunc global IFEDictionary_NextDependencies 17 var,int,var #comfunc global IFEDictionary_ConvertFromOldMSIME 18 str,sptr,int #comfunc global IFEDictionary_ConvertFromUserToSys 19 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IFEDictionary "{019F7153-E6DB-11D0-83C3-00C04FDDB82E}" #usecom global IFEDictionary IID_IFEDictionary "{}" #comfunc global IFEDictionary_Open 3 sptr,sptr #comfunc global IFEDictionary_Close 4 #comfunc global IFEDictionary_GetHeader 5 sptr,sptr,sptr,sptr #comfunc global IFEDictionary_DisplayProperty 6 sptr #comfunc global IFEDictionary_GetPosTable 7 sptr,sptr #comfunc global IFEDictionary_GetWords 8 wstr,wstr,wstr,int,int,int,sptr,int,sptr #comfunc global IFEDictionary_NextWords 9 sptr,int,sptr #comfunc global IFEDictionary_Create 10 str,sptr #comfunc global IFEDictionary_SetHeader 11 sptr #comfunc global IFEDictionary_ExistWord 12 sptr #comfunc global IFEDictionary_ExistDependency 13 sptr #comfunc global IFEDictionary_RegisterWord 14 int,sptr #comfunc global IFEDictionary_RegisterDependency 15 int,sptr #comfunc global IFEDictionary_GetDependencies 16 wstr,wstr,int,wstr,wstr,int,int,int,sptr,int,sptr #comfunc global IFEDictionary_NextDependencies 17 sptr,int,sptr #comfunc global IFEDictionary_ConvertFromOldMSIME 18 str,sptr,int #comfunc global IFEDictionary_ConvertFromUserToSys 19 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。