ITfLangBarItemMgr
COM公式ドキュメント
ITfLangBarItemMgr インターフェイスは言語バーによって実装され、テキストサービスが言語バー内の項目を管理するために使用します。
メソッド 12
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
ITfLangBarItemMgr::EnumItems メソッド
| ppEnum | IEnumTfLangBarItems** | out | 列挙子オブジェクトを受け取る IEnumTfLangBarItems インターフェイス ポインターへのポインター。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
| 値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 不特定のエラーが発生しました。 | |
| ppEnum が無効です。 | |
| メモリの割り当てに失敗しました。 |
ITfLangBarItemMgr::GetItem メソッド
| rguid | GUID* | in | 取得する項目を識別する GUID。これは項目が ITfLangBarItem::GetInfo で提供する項目 GUID です。この識別子には独自の値、または定義済みの言語バー項目のいずれかを指定できます。 |
| ppItem | ITfLangBarItem** | out | 項目のインターフェイスを受け取る ITfLangBarItem インターフェイス ポインターへのポインター。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
| 値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 項目が見つかりません。 | |
| ppItem パラメーターが無効です。 |
ITfLangBarItemMgr::AddItem メソッド
| punk | ITfLangBarItem* | in | 言語バーに追加する ITfLangBarItem オブジェクトへのポインター。 Windows 8 以降では、(GetInfo から) GUID_LBI_INPUTMODE を返す最初の項目のみが表示されます。詳細については、Windows の互換性クックブックの サードパーティ製 IME (Third-party input method editors) を参照してください。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
| 値 | 説明 |
|---|---|
| メソッドは成功しました (呼び出しが暗黙に無視された場合もこのステータスが返されます)。 | |
| 不特定のエラーが発生しました。 | |
| punk が無効です。 | |
| メモリの割り当てに失敗しました。 |
ITfLangBarItemMgr::RemoveItem メソッド
| punk | ITfLangBarItem* | in | 言語バーから削除する ITfLangBarItem オブジェクトへのポインター。言語バーは ITfLangBarItem::GetInfo を呼び出し、その項目 GUID を使用して削除対象の項目を識別します。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
| 値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 不特定のエラーが発生しました。 | |
| punk が無効です。 |
ITfLangBarItemMgr::AdviseItemSink メソッド
| punk | ITfLangBarItemSink* | in | インストールする ITfLangBarItemSink オブジェクトへのポインター。 |
| pdwCookie | DWORD* | out | アドバイズ シンクの識別クッキーを受け取る DWORD へのポインター。このクッキーは、ITfLangBarItemMgr::UnadviseItemSink または ITfLangBarItemMgr::UnadviseItemsSink メソッドでアドバイズ シンクを削除する際に、そのシンクを識別します。 |
| rguidItem | GUID* | in | アドバイズ シンクをインストールする対象の項目を識別する GUID を指定します。これは項目が ITfLangBarItem::GetInfo で提供する項目 GUID です。独自の値、または定義済みの言語バー項目のいずれかを指定できます。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
| 値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 不特定のエラーが発生しました。 | |
| rguidItem が無効です。 | |
| メモリの割り当てに失敗しました。 | |
| punk または pdwCookie (あるいはその両方) が無効です。 |
ITfLangBarItemMgr::UnadviseItemSink メソッド
| dwCookie | DWORD | in | 削除するアドバイズ シンクを識別する DWORD を指定します。このクッキーは、ITfLangBarItemMgr::AdviseItemSink または ITfLangBarItemMgr::AdviseItemsSink でアドバイズ シンクをインストールしたときに取得されます。 |
戻り値
ITfLangBarItemMgr::GetItemFloatingRect メソッド
| dwThreadId | DWORD | in | 現在は使用されていません。ゼロを指定する必要があります。 |
| rguid | GUID* | in | 外接矩形を取得する対象の項目を識別する GUID を指定します。これは項目が ITfLangBarItem::GetInfo で提供する項目 GUID です。独自の値、または定義済みの言語バー項目のいずれかを指定できます。 |
| prc | RECT* | out | スクリーン座標での外接矩形を受け取る RECT 構造体へのポインター。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
| 値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 不特定のエラーが発生しました。 | |
| prc が無効です。 |
ITfLangBarItemMgr::GetItemsStatus メソッド
| ulCount | DWORD | in | 状態を取得する項目の数を指定します。 |
| prgguid | GUID* | in | 状態を取得する対象の項目を識別する GUID の配列へのポインター。これらは項目が ITfLangBarItem::GetInfo で提供する項目 GUID です。この配列の長さは少なくとも ulCount 要素でなければなりません。 |
| pdwStatus | DWORD* | out | 各項目の状態を受け取る DWORD 値の配列へのポインター。この配列の各要素は、ゼロ、または 1 つ以上の TF_LBI_STATUS_* 値の組み合わせを受け取ります。この配列の長さは少なくとも ulCount 要素でなければなりません。 各状態値のインデックスは、prgguid 内の項目識別子のインデックスに対応します。たとえば pdwStatus の要素 0 は、prgguid の要素 0 で識別される項目の状態を受け取ります。 |
戻り値
解説(Remarks)
このメソッドを呼び出すと、prgguid で識別される各言語バー項目の ITfLangBarItem::GetStatus メソッドが呼び出されます。
ITfLangBarItemMgr::GetItemNum メソッド
| pulCount | DWORD* | out | 言語バー内の項目数を受け取る ULONG へのポインター。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
| 値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| pulCount が無効です。 |
ITfLangBarItemMgr::GetItems メソッド
| ulCount | DWORD | in | 状態を取得する項目の数を指定します。 |
| ppItem | ITfLangBarItem** | out | 項目のインターフェイスを受け取る ITfLangBarItem インターフェイス ポインターの配列へのポインター。この配列の長さは少なくとも ulCount 要素でなければなりません。 |
| pInfo | TF_LANGBARITEMINFO* | out | [in, out] 各項目の情報を受け取る TF_LANGBARITEMINFO 構造体の配列へのポインター。この配列の長さは少なくとも ulCount 要素でなければなりません。 |
| pdwStatus | DWORD* | out | [in, out] 各項目の状態を受け取る DWORD 値の配列へのポインター。この配列の各要素は、ゼロ、または 1 つ以上の TF_LBI_STATUS_* 値の組み合わせを受け取ります。この配列の長さは少なくとも ulCount 要素でなければなりません。 |
| pcFetched | DWORD* | inout | [in, out] このメソッドで取得された項目数を受け取る ULONG へのポインター。この情報が不要な場合、このパラメーターは NULL でもかまいません。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
| 値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 取得された項目数が要求した項目数より少ないことを示します。pcFetched が NULL でない場合、pcFetched は取得された項目数を受け取ります。 | |
| 不特定のエラーが発生しました。 |
ITfLangBarItemMgr::AdviseItemsSink メソッド
| ulCount | DWORD | in | インストールするアドバイズ シンクの数を指定します。 |
| ppunk | ITfLangBarItemSink** | in | インストールする ITfLangBarItemSink オブジェクトの配列へのポインター。この配列の長さは少なくとも ulCount 要素でなければなりません。 |
| pguidItem | GUID* | in | アドバイズ シンクをインストールする対象の項目を識別する GUID の配列へのポインター。これらは項目が ITfLangBarItem::GetInfo で提供する項目 GUID です。この配列の長さは少なくとも ulCount 要素でなければなりません。 |
| pdwCookie | DWORD* | out | 対応するアドバイズ シンクの識別クッキーを受け取る DWORD の配列へのポインター。これらのクッキーは、ITfLangBarItemMgr::UnadviseItemSink または ITfLangBarItemMgr::UnadviseItemsSink メソッドでアドバイズ シンクを削除する際に、それらのシンクを識別します。この配列の長さは少なくとも ulCount 要素でなければなりません。 |
戻り値
ITfLangBarItemMgr::UnadviseItemsSink メソッド
| ulCount | DWORD | in | インストールするアドバイズ シンクの数を指定します。 |
| pdwCookie | DWORD* | in | 削除するアドバイズ シンクを識別する DWORD の配列へのポインター。これらのクッキーは、ITfLangBarItemMgr::AdviseItemSink または ITfLangBarItemMgr::AdviseItemsSink でアドバイズ シンクをインストールしたときに取得されます。この配列の長さは少なくとも ulCount 要素でなければなりません。 |
戻り値
このメソッドに戻り値はありません。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_ITfLangBarItemMgr "{BA468C55-9956-4FB1-A59D-52A7DD7CC6AA}" #usecom global ITfLangBarItemMgr IID_ITfLangBarItemMgr "{}" #comfunc global ITfLangBarItemMgr_EnumItems 3 sptr #comfunc global ITfLangBarItemMgr_GetItem 4 var,sptr #comfunc global ITfLangBarItemMgr_AddItem 5 sptr #comfunc global ITfLangBarItemMgr_RemoveItem 6 sptr #comfunc global ITfLangBarItemMgr_AdviseItemSink 7 sptr,var,var #comfunc global ITfLangBarItemMgr_UnadviseItemSink 8 int #comfunc global ITfLangBarItemMgr_GetItemFloatingRect 9 int,var,var #comfunc global ITfLangBarItemMgr_GetItemsStatus 10 int,var,var #comfunc global ITfLangBarItemMgr_GetItemNum 11 var #comfunc global ITfLangBarItemMgr_GetItems 12 int,sptr,var,var,var #comfunc global ITfLangBarItemMgr_AdviseItemsSink 13 int,sptr,var,var #comfunc global ITfLangBarItemMgr_UnadviseItemsSink 14 int,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ITfLangBarItemMgr "{BA468C55-9956-4FB1-A59D-52A7DD7CC6AA}" #usecom global ITfLangBarItemMgr IID_ITfLangBarItemMgr "{}" #comfunc global ITfLangBarItemMgr_EnumItems 3 sptr #comfunc global ITfLangBarItemMgr_GetItem 4 sptr,sptr #comfunc global ITfLangBarItemMgr_AddItem 5 sptr #comfunc global ITfLangBarItemMgr_RemoveItem 6 sptr #comfunc global ITfLangBarItemMgr_AdviseItemSink 7 sptr,sptr,sptr #comfunc global ITfLangBarItemMgr_UnadviseItemSink 8 int #comfunc global ITfLangBarItemMgr_GetItemFloatingRect 9 int,sptr,sptr #comfunc global ITfLangBarItemMgr_GetItemsStatus 10 int,sptr,sptr #comfunc global ITfLangBarItemMgr_GetItemNum 11 sptr #comfunc global ITfLangBarItemMgr_GetItems 12 int,sptr,sptr,sptr,sptr #comfunc global ITfLangBarItemMgr_AdviseItemsSink 13 int,sptr,sptr,sptr #comfunc global ITfLangBarItemMgr_UnadviseItemsSink 14 int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。