Win32 API 日本語リファレンス
ホームSystem.Search › IWordSink

IWordSink

COM
IIDcc907054-c058-101a-b554-08002b33b0e6継承元IUnknown自前メソッド開始 vtbl3

メソッド 5

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

vtbl 3 HRESULT PutWord(DWORD cwc, LPWSTR pwcInBuf, DWORD cwcSrcLen, DWORD cwcSrcPos)
cwcDWORDinpwcInBuf 内の単語の文字数を指定する。
pwcInBufLPWSTRinインデックスへ追加する単語を含む文字バッファへのポインタである。
cwcSrcLenDWORDin元のソーステキスト内で、この単語が占める文字数(ソース長)を指定する。
cwcSrcPosDWORDin元のソーステキスト内における、この単語の開始位置(文字オフセット)を指定する。
vtbl 4 HRESULT PutAltWord(DWORD cwc, LPWSTR pwcInBuf, DWORD cwcSrcLen, DWORD cwcSrcPos)
cwcDWORDinpwcInBuf 内の代替単語の文字数を指定する。
pwcInBufLPWSTRin正規語と同じ位置に格納する代替形(別表記)の単語を含む文字バッファへのポインタである。
cwcSrcLenDWORDin元のソーステキスト内で、この単語が占める文字数(ソース長)を指定する。
cwcSrcPosDWORDin元のソーステキスト内における、この単語の開始位置(文字オフセット)を指定する。
vtbl 5 HRESULT StartAltPhrase()
vtbl 6 HRESULT EndAltPhrase()
vtbl 7 HRESULT PutBreak(WORDREP_BREAK_TYPE breakType)
breakTypeWORDREP_BREAK_TYPEin単語間の区切りの種類(単語区切り、文区切り、段落区切りなど)を指定する。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

#define global IID_IWordSink "{CC907054-C058-101A-B554-08002B33B0E6}"
#usecom global IWordSink IID_IWordSink "{}"
#comfunc global IWordSink_PutWord         3 int,wstr,int,int
#comfunc global IWordSink_PutAltWord      4 int,wstr,int,int
#comfunc global IWordSink_StartAltPhrase  5
#comfunc global IWordSink_EndAltPhrase    6
#comfunc global IWordSink_PutBreak        7 int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。