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

ITfCandidateListUIElement

COM
IIDea1ea138-19df-11d7-a6d2-00065b84435c継承元ITfUIElement自前メソッド開始 vtbl7

公式ドキュメント

ITfCandidateListUIElement インターフェイスは、候補一覧の UI を持つテキストサービスによって実装されます。

メソッド 8

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

vtbl 7 HRESULT GetUpdatedFlags(DWORD* pdwFlags)

ITfCandidateListUIElement::GetUpdatedFlags メソッドは、この要素のどの部分が更新されたかを示すフラグを返します。

pdwFlagsDWORD*out

[out] 次のビットの組み合わせであるフラグを受け取るポインター:

意味
TF_CLUIE_DOCUMENTMGR
対象のドキュメントマネージャーが変更されました。
TF_CLUIE_COUNT
候補文字列の個数が変更されました。
TF_CLUIE_SELECTION
候補の選択が変更されました。
TF_CLUIE_STRING
一覧内のいくつかの文字列が変更されました。
TF_CLUIE_PAGEINDEX
現在のページインデックス、またはいずれかのページインデックスが変更されました。
TF_CLUIE_CURRENTPAGE
ページが変更されました。

戻り値

このメソッドは次のいずれかの値を返します。

説明
S_OK
メソッドは成功しました。
E_FAIL
不特定のエラーが発生しました。
E_INVALIDARG
1 つ以上の引数が無効です。
vtbl 8 HRESULT GetDocumentMgr(ITfDocumentMgr** ppdim)

ITfCandidateListUIElement::GetDocumentMgr メソッドは、この UI の対象となるドキュメントマネージャーを返します。

ppdimITfDocumentMgr**out[out] ITfDocumentMgr インターフェイスポインターを受け取るポインター。

戻り値

このメソッドは次のいずれかの値を返します。

説明
S_OK
メソッドは成功しました。
E_FAIL
不特定のエラーが発生しました。
E_INVALIDARG
1 つ以上の引数が無効です。
vtbl 9 HRESULT GetCount(DWORD* puCount)

ITfCandidateListUIElement::GetCount メソッドは、候補文字列の個数を返します。

puCountDWORD*out[out] 候補文字列の個数を受け取るポインター。

戻り値

このメソッドは次のいずれかの値を返します。

説明
S_OK
メソッドは成功しました。
E_FAIL
不特定のエラーが発生しました。
E_INVALIDARG
1 つ以上の引数が無効です。
vtbl 10 HRESULT GetSelection(DWORD* puIndex)

ITfCandidateListUIElement::GetSelection メソッドは、候補一覧の現在の選択を返します。

puIndexDWORD*out[out] 現在選択されている候補文字列のインデックスを受け取るポインター。

戻り値

このメソッドは次のいずれかの値を返します。

説明
S_OK
メソッドは成功しました。
E_FAIL
不特定のエラーが発生しました。
E_INVALIDARG
1 つ以上の引数が無効です。
vtbl 11 HRESULT GetString(DWORD uIndex, LPWSTR* pstr)

ITfCandidateListUIElement::GetString メソッドは、指定したインデックスの文字列を返します。

uIndexDWORDin[in] 取得する文字列のインデックス。
pstrLPWSTR*out[out] 指定したインデックスの候補文字列を受け取る BSTR へのポインター。

戻り値

このメソッドは次のいずれかの値を返します。

説明
S_OK
メソッドは成功しました。
E_FAIL
不特定のエラーが発生しました。
E_INVALIDARG
1 つ以上の引数が無効です。
vtbl 12 HRESULT GetPageIndex(DWORD* pIndex, DWORD uSize, DWORD* puPageCnt)

ITfCandidateListUIElement::GetPageIndex メソッドは、一覧のページインデックスを返します。

pIndexDWORD*outoptional[out] 各ページの開始位置を示すインデックスの配列を受け取るポインター。NULL を指定できます。呼び出し元はまずこの引数に NULL を指定してこのメソッドを呼び出し、puPageCnt でページ数を取得してから、すべてのページのインデックスを受け取るためのバッファーを割り当てます。
uSizeDWORDin[in] pIndex のバッファーサイズ。
puPageCntDWORD*out[out] ページ数を受け取るポインター。

戻り値

このメソッドは次のいずれかの値を返します。

説明
S_OK
メソッドは成功しました。
E_FAIL
不特定のエラーが発生しました。
E_INVALIDARG
1 つ以上の引数が無効です。
vtbl 13 HRESULT SetPageIndex(DWORD* pIndex, DWORD uPageCnt)

ITfCandidateListUIElement::SetPageIndex メソッドは、ページインデックスを設定します。

pIndexDWORD*in[in] 各ページの開始位置を示すインデックスの配列へのポインター。
uPageCntDWORDin[in] ページ数。pIndex バッファーのサイズです。

戻り値

このメソッドは次のいずれかの値を返します。

説明
S_OK
メソッドは成功しました。
E_FAIL
不特定のエラーが発生しました。
E_INVALIDARG
1 つ以上の引数が無効です。
vtbl 14 HRESULT GetCurrentPage(DWORD* puPage)

ITfCandidateListUIElement::GetCurrentPage メソッドは、現在のページを返します。

puPageDWORD*out[in] 現在のページインデックスを受け取るポインター。

戻り値

このメソッドは次のいずれかの値を返します。

説明
S_OK
メソッドは成功しました。
E_FAIL
不特定のエラーが発生しました。
E_INVALIDARG
1 つ以上の引数が無効です。
出典・ライセンス: 上記「公式ドキュメント」の内容は 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_ITfCandidateListUIElement "{EA1EA138-19DF-11D7-A6D2-00065B84435C}"
#usecom global ITfCandidateListUIElement IID_ITfCandidateListUIElement "{}"
#comfunc global ITfCandidateListUIElement_GetUpdatedFlags  7 var
#comfunc global ITfCandidateListUIElement_GetDocumentMgr   8 sptr
#comfunc global ITfCandidateListUIElement_GetCount         9 var
#comfunc global ITfCandidateListUIElement_GetSelection     10 var
#comfunc global ITfCandidateListUIElement_GetString        11 int,var
#comfunc global ITfCandidateListUIElement_GetPageIndex     12 var,int,var
#comfunc global ITfCandidateListUIElement_SetPageIndex     13 var,int
#comfunc global ITfCandidateListUIElement_GetCurrentPage   14 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。