Win32 API 日本語リファレンス
ホームUI.TextServices › ITfLangBarItemMgr

ITfLangBarItemMgr

COM
IIDba468c55-9956-4fb1-a59d-52a7dd7cc6aa継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

ITfLangBarItemMgr インターフェイスは言語バーによって実装され、テキストサービスが言語バー内の項目を管理するために使用します。

メソッド 12

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

vtbl 3 HRESULT EnumItems(IEnumTfLangBarItems** ppEnum)

ITfLangBarItemMgr::EnumItems メソッド

ppEnumIEnumTfLangBarItems**out列挙子オブジェクトを受け取る IEnumTfLangBarItems インターフェイス ポインターへのポインター。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

説明
S_OK
メソッドは成功しました。
E_FAIL
不特定のエラーが発生しました。
E_INVALIDARG
ppEnum が無効です。
E_OUTOFMEMORY
メモリの割り当てに失敗しました。
vtbl 4 HRESULT GetItem(GUID* rguid, ITfLangBarItem** ppItem)

ITfLangBarItemMgr::GetItem メソッド

rguidGUID*in取得する項目を識別する GUID。これは項目が ITfLangBarItem::GetInfo で提供する項目 GUID です。この識別子には独自の値、または定義済みの言語バー項目のいずれかを指定できます。
ppItemITfLangBarItem**out項目のインターフェイスを受け取る ITfLangBarItem インターフェイス ポインターへのポインター。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

説明
S_OK
メソッドは成功しました。
S_FALSE
項目が見つかりません。
E_INVALIDARG
ppItem パラメーターが無効です。
vtbl 5 HRESULT AddItem(ITfLangBarItem* punk)

ITfLangBarItemMgr::AddItem メソッド

punkITfLangBarItem*in

言語バーに追加する ITfLangBarItem オブジェクトへのポインター。

Windows 8 以降では、(GetInfo から) GUID_LBI_INPUTMODE を返す最初の項目のみが表示されます。詳細については、Windows の互換性クックブックの サードパーティ製 IME (Third-party input method editors) を参照してください。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

説明
S_OK
メソッドは成功しました (呼び出しが暗黙に無視された場合もこのステータスが返されます)。
E_FAIL
不特定のエラーが発生しました。
E_INVALIDARG
punk が無効です。
E_OUTOFMEMORY
メモリの割り当てに失敗しました。
vtbl 6 HRESULT RemoveItem(ITfLangBarItem* punk)

ITfLangBarItemMgr::RemoveItem メソッド

punkITfLangBarItem*in言語バーから削除する ITfLangBarItem オブジェクトへのポインター。言語バーは ITfLangBarItem::GetInfo を呼び出し、その項目 GUID を使用して削除対象の項目を識別します。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

説明
S_OK
メソッドは成功しました。
E_FAIL
不特定のエラーが発生しました。
E_INVALIDARG
punk が無効です。
vtbl 7 HRESULT AdviseItemSink(ITfLangBarItemSink* punk, DWORD* pdwCookie, GUID* rguidItem)

ITfLangBarItemMgr::AdviseItemSink メソッド

punkITfLangBarItemSink*inインストールする ITfLangBarItemSink オブジェクトへのポインター。
pdwCookieDWORD*outアドバイズ シンクの識別クッキーを受け取る DWORD へのポインター。このクッキーは、ITfLangBarItemMgr::UnadviseItemSink または ITfLangBarItemMgr::UnadviseItemsSink メソッドでアドバイズ シンクを削除する際に、そのシンクを識別します。
rguidItemGUID*inアドバイズ シンクをインストールする対象の項目を識別する GUID を指定します。これは項目が ITfLangBarItem::GetInfo で提供する項目 GUID です。独自の値、または定義済みの言語バー項目のいずれかを指定できます。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

説明
S_OK
メソッドは成功しました。
E_FAIL
不特定のエラーが発生しました。
E_INVALIDARG
rguidItem が無効です。
E_OUTOFMEMORY
メモリの割り当てに失敗しました。
E_POINTER
punk または pdwCookie (あるいはその両方) が無効です。
vtbl 8 HRESULT UnadviseItemSink(DWORD dwCookie)

ITfLangBarItemMgr::UnadviseItemSink メソッド

dwCookieDWORDin削除するアドバイズ シンクを識別する DWORD を指定します。このクッキーは、ITfLangBarItemMgr::AdviseItemSink または ITfLangBarItemMgr::AdviseItemsSink でアドバイズ シンクをインストールしたときに取得されます。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

説明
S_OK
メソッドは成功しました。
E_FAIL
不特定のエラーが発生しました。
vtbl 9 HRESULT GetItemFloatingRect(DWORD dwThreadId, GUID* rguid, RECT* prc)

ITfLangBarItemMgr::GetItemFloatingRect メソッド

dwThreadIdDWORDin現在は使用されていません。ゼロを指定する必要があります。
rguidGUID*in外接矩形を取得する対象の項目を識別する GUID を指定します。これは項目が ITfLangBarItem::GetInfo で提供する項目 GUID です。独自の値、または定義済みの言語バー項目のいずれかを指定できます。
prcRECT*outスクリーン座標での外接矩形を受け取る RECT 構造体へのポインター。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

説明
S_OK
メソッドは成功しました。
E_FAIL
不特定のエラーが発生しました。
E_INVALIDARG
prc が無効です。
vtbl 10 HRESULT GetItemsStatus(DWORD ulCount, GUID* prgguid, DWORD* pdwStatus)

ITfLangBarItemMgr::GetItemsStatus メソッド

ulCountDWORDin状態を取得する項目の数を指定します。
prgguidGUID*in状態を取得する対象の項目を識別する GUID の配列へのポインター。これらは項目が ITfLangBarItem::GetInfo で提供する項目 GUID です。この配列の長さは少なくとも ulCount 要素でなければなりません。
pdwStatusDWORD*out

各項目の状態を受け取る DWORD 値の配列へのポインター。この配列の各要素は、ゼロ、または 1 つ以上の TF_LBI_STATUS_* 値の組み合わせを受け取ります。この配列の長さは少なくとも ulCount 要素でなければなりません。

各状態値のインデックスは、prgguid 内の項目識別子のインデックスに対応します。たとえば pdwStatus の要素 0 は、prgguid の要素 0 で識別される項目の状態を受け取ります。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

説明
S_OK
メソッドは成功しました。
E_FAIL
不特定のエラーが発生しました。

解説(Remarks)

このメソッドを呼び出すと、prgguid で識別される各言語バー項目の ITfLangBarItem::GetStatus メソッドが呼び出されます。

vtbl 11 HRESULT GetItemNum(DWORD* pulCount)

ITfLangBarItemMgr::GetItemNum メソッド

pulCountDWORD*out言語バー内の項目数を受け取る ULONG へのポインター。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

説明
S_OK
メソッドは成功しました。
E_INVALIDARG
pulCount が無効です。
vtbl 12 HRESULT GetItems(DWORD ulCount, ITfLangBarItem** ppItem, TF_LANGBARITEMINFO* pInfo, DWORD* pdwStatus, DWORD* pcFetched)

ITfLangBarItemMgr::GetItems メソッド

ulCountDWORDin状態を取得する項目の数を指定します。
ppItemITfLangBarItem**out項目のインターフェイスを受け取る ITfLangBarItem インターフェイス ポインターの配列へのポインター。この配列の長さは少なくとも ulCount 要素でなければなりません。
pInfoTF_LANGBARITEMINFO*out[in, out] 各項目の情報を受け取る TF_LANGBARITEMINFO 構造体の配列へのポインター。この配列の長さは少なくとも ulCount 要素でなければなりません。
pdwStatusDWORD*out[in, out] 各項目の状態を受け取る DWORD 値の配列へのポインター。この配列の各要素は、ゼロ、または 1 つ以上の TF_LBI_STATUS_* 値の組み合わせを受け取ります。この配列の長さは少なくとも ulCount 要素でなければなりません。
pcFetchedDWORD*inout[in, out] このメソッドで取得された項目数を受け取る ULONG へのポインター。この情報が不要な場合、このパラメーターは NULL でもかまいません。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

説明
S_OK
メソッドは成功しました。
S_FALSE
取得された項目数が要求した項目数より少ないことを示します。pcFetchedNULL でない場合、pcFetched は取得された項目数を受け取ります。
E_FAIL
不特定のエラーが発生しました。
vtbl 13 HRESULT AdviseItemsSink(DWORD ulCount, ITfLangBarItemSink** ppunk, GUID* pguidItem, DWORD* pdwCookie)

ITfLangBarItemMgr::AdviseItemsSink メソッド

ulCountDWORDinインストールするアドバイズ シンクの数を指定します。
ppunkITfLangBarItemSink**inインストールする ITfLangBarItemSink オブジェクトの配列へのポインター。この配列の長さは少なくとも ulCount 要素でなければなりません。
pguidItemGUID*inアドバイズ シンクをインストールする対象の項目を識別する GUID の配列へのポインター。これらは項目が ITfLangBarItem::GetInfo で提供する項目 GUID です。この配列の長さは少なくとも ulCount 要素でなければなりません。
pdwCookieDWORD*out対応するアドバイズ シンクの識別クッキーを受け取る DWORD の配列へのポインター。これらのクッキーは、ITfLangBarItemMgr::UnadviseItemSink または ITfLangBarItemMgr::UnadviseItemsSink メソッドでアドバイズ シンクを削除する際に、それらのシンクを識別します。この配列の長さは少なくとも ulCount 要素でなければなりません。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

説明
S_OK
メソッドは成功しました。
E_FAIL
不特定のエラーが発生しました。
vtbl 14 HRESULT UnadviseItemsSink(DWORD ulCount, DWORD* pdwCookie)

ITfLangBarItemMgr::UnadviseItemsSink メソッド

ulCountDWORDinインストールするアドバイズ シンクの数を指定します。
pdwCookieDWORD*in削除するアドバイズ シンクを識別する DWORD の配列へのポインター。これらのクッキーは、ITfLangBarItemMgr::AdviseItemSink または ITfLangBarItemMgr::AdviseItemsSink でアドバイズ シンクをインストールしたときに取得されます。この配列の長さは少なくとも ulCount 要素でなければなりません。

戻り値

このメソッドに戻り値はありません。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
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 指定が可能。