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

ITfThreadMgrEventSink

COM
IIDaa80e80e-2021-11d2-93e0-0060b067b86e継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

ITfThreadMgrEventSink インターフェイスは、特定のスレッドマネージャーのイベント通知を受け取るために、アプリケーションまたは TSF テキストサービスによって実装されます。このアドバイズシンクをインストールするには、TSF マネージャーの ITfSource::AdviseSink を IID_ITfThreadMgrEventSink とともに呼び出します。

メソッド 5

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

vtbl 3 HRESULT OnInitDocumentMgr(ITfDocumentMgr* pdim)

ITfThreadMgrEventSink::OnInitDocumentMgr メソッド

pdimITfDocumentMgr*inドキュメントマネージャーオブジェクトへのポインター。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 4 HRESULT OnUninitDocumentMgr(ITfDocumentMgr* pdim)

ITfThreadMgrEventSink::OnUninitDocumentMgr メソッド

pdimITfDocumentMgr*inドキュメントマネージャーオブジェクトへのポインター。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 5 HRESULT OnSetFocus(ITfDocumentMgr* pdimFocus, ITfDocumentMgr* pdimPrevFocus)

ITfThreadMgrEventSink::OnSetFocus メソッド

pdimFocusITfDocumentMgr*in入力フォーカスを受け取るドキュメントマネージャーへのポインター。フォーカスを受け取るドキュメントが存在しない場合は NULL になります。
pdimPrevFocusITfDocumentMgr*in直前に入力フォーカスを持っていたドキュメントマネージャーへのポインター。フォーカスを持っていたドキュメントが存在しない場合は NULL になります。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 6 HRESULT OnPushContext(ITfContext* pic)

ITfThreadMgrEventSink::OnPushContext メソッド

picITfContext*inスタックに追加されたコンテキストへのポインター。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 7 HRESULT OnPopContext(ITfContext* pic)

ITfThreadMgrEventSink::OnPopContext メソッド

picITfContext*inスタックから削除されたコンテキストへのポインター。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_ITfThreadMgrEventSink "{AA80E80E-2021-11D2-93E0-0060B067B86E}"
#usecom global ITfThreadMgrEventSink IID_ITfThreadMgrEventSink "{}"
#comfunc global ITfThreadMgrEventSink_OnInitDocumentMgr    3 sptr
#comfunc global ITfThreadMgrEventSink_OnUninitDocumentMgr  4 sptr
#comfunc global ITfThreadMgrEventSink_OnSetFocus           5 sptr,sptr
#comfunc global ITfThreadMgrEventSink_OnPushContext        6 sptr
#comfunc global ITfThreadMgrEventSink_OnPopContext         7 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。