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

ISearchLanguageSupport

COM
IID24c3cbaa-ebc1-491a-9ef1-9f6d8deb1b8f継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

シソーラス情報にアクセスするためのメソッドを提供します。

解説(Remarks)

シソーラスファイルには、単語と、クエリ時に置き換える単語の一覧が含まれます。シソーラスファイルはカタログ固有であり、複数のファイルで定義することもできます。

メソッド 5

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

vtbl 3 HRESULT SetDiacriticSensitivity(BOOL fDiacriticSensitive)

実装された ISearchLanguageSupport インターフェイスが発音区別符号 (diacritic) を区別するかどうかを示す値を設定します。発音区別符号とは、特別な音価や発音を示すために文字に付加されるアクセント記号です。

fDiacriticSensitiveBOOLinインターフェイスが発音区別符号を区別するかどうかを示すブール値です。既定値は FALSE で、インターフェイスが発音区別符号を無視することを示します。

戻り値

型: HRESULT

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

vtbl 4 HRESULT GetDiacriticSensitivity(BOOL* pfDiacriticSensitive)

実装された ISearchLanguageSupport インターフェイスが発音区別符号 (diacritic) を区別するかどうかを取得します。発音区別符号とは、特別な音価や発音を示すために文字に付加されるアクセント記号です。

pfDiacriticSensitiveBOOL*out戻り時に、区別設定へのポインターが格納されます。FALSE はインターフェイスが発音区別符号を無視することを示し、TRUE はインターフェイスが発音区別符号を認識することを示します。

戻り値

型: HRESULT

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

vtbl 5 HRESULT LoadWordBreaker(DWORD lcid, GUID* riid, void** ppWordBreaker, DWORD* pLcidUsed)

指定した言語コード識別子 (LCID) に対して登録されているワードブレーカーのインターフェイスを取得します。

lcidDWORDin要求する LCID です。
riidGUID*in照会するインターフェイスの IID です。
ppWordBreakervoid**out戻り時に、pLcidUsed に格納された LCID のインターフェイスへのポインターのアドレスが格納されます。
pLcidUsedDWORD*out戻り時に、実際に使用された LCID へのポインターが格納されます。

戻り値

型: HRESULT

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

vtbl 6 HRESULT LoadStemmer(DWORD lcid, GUID* riid, void** ppStemmer, DWORD* pLcidUsed)

指定した言語コード識別子 (LCID) に対して登録されているステマー (語幹処理エンジン) のインターフェイスを取得します。

lcidDWORDin要求する LCID です。
riidGUID*in照会するインターフェイスの IID です。
ppStemmervoid**out戻り時に、pLcidUsed に格納された LCID のインターフェイスへのポインターのアドレスが格納されます。
pLcidUsedDWORD*out戻り時に、実際に使用された LCID へのポインターが格納されます。

戻り値

型: HRESULT

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

vtbl 7 HRESULT IsPrefixNormalized(LPWSTR pwcsQueryToken, DWORD cwcQueryToken, LPWSTR pwcsDocumentToken, DWORD cwcDocumentToken, DWORD* pulPrefixLength)

クエリトークンがドキュメントトークンの前置部分 (プレフィックス) であるかどうかを、大文字小文字、文字幅、および (任意で) 発音区別符号を無視して判定します。

pwcsQueryTokenLPWSTRin検索するプレフィックスへのポインターです。
cwcQueryTokenDWORDinpwcsQueryToken のサイズです。
pwcsDocumentTokenLPWSTRin検索対象のドキュメントへのポインターです。
cwcDocumentTokenDWORDinpwcsDocumentToken のサイズです。
pulPrefixLengthDWORD*outpwcsDocumentToken において一致した文字数へのポインターを返します。通常は pwcsQueryToken の文字数となりますが、必ずしもそうとは限りません。

戻り値

型: HRESULT

pwcsQueryTokenpwcsDocumentToken のプレフィックスである場合は S_OK を返します。それ以外の場合は S_FALSE を返し、pulPrefixLength には 0 が設定されます。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_ISearchLanguageSupport "{24C3CBAA-EBC1-491A-9EF1-9F6D8DEB1B8F}"
#usecom global ISearchLanguageSupport IID_ISearchLanguageSupport "{}"
#comfunc global ISearchLanguageSupport_SetDiacriticSensitivity  3 int
#comfunc global ISearchLanguageSupport_GetDiacriticSensitivity  4 var
#comfunc global ISearchLanguageSupport_LoadWordBreaker          5 int,var,sptr,var
#comfunc global ISearchLanguageSupport_LoadStemmer              6 int,var,sptr,var
#comfunc global ISearchLanguageSupport_IsPrefixNormalized       7 wstr,int,wstr,int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。