ISearchCatalogManager
COM公式ドキュメント
再インデックスやタイムアウトの設定など、検索カタログを管理するためのメソッドを提供します。
メソッド 26
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
現在のカタログの名前を取得します。
| pszName | LPWSTR* | out | 現在のカタログの名前を格納した、null で終わる Unicode バッファーへのポインターを受け取ります。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
実装されていません。(ISearchCatalogManager.GetParameter)
| pszName | LPWSTR | in | 取得するパラメーターの名前。 |
| ppValue | PROPVARIANT** | out | パラメーターの値へのポインターを受け取ります。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
カタログの名前と値のパラメーターを設定します。
| pszName | LPWSTR | in | 変更するパラメーターの名前。 |
| pValue | PROPVARIANT* | in | パラメーターの新しい値へのポインター。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
カタログの状態を取得します。
| pStatus | CatalogStatus* | out | CatalogStatus 列挙型の値へのポインターを受け取ります。pStatus が CATALOG_STATUS_PAUSED の場合は、pPausedReason パラメーターから詳細な情報を得られます。 |
| pPausedReason | CatalogPausedReason* | out | カタログが一時停止している理由を示す CatalogPausedReason 列挙型の値へのポインターを受け取ります。カタログの状態が CATALOG_STATUS_PAUSED でない場合、このパラメーターは CATALOG_PAUSED_REASON_NONE を受け取ります。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
データベースを再構築して完全なインデックス作成を行い、基になるカタログをリセットします。
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
リセットには非常に長い時間がかかることがあり、その間は検索可能な情報がほとんど、またはまったくありません。
カタログ内のすべての URL を再インデックスします。
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
古い情報は、再インデックス中に新しい情報で置き換えられるまでカタログ内に残ります。
指定したパターンに一致するすべての項目を再インデックスします。このメソッドは Windows 7 より前では実装されていませんでした。
| pszPattern | LPWSTR | in | 再インデックスの対象を照合するパターンへのポインター。パターンには *.pdf のような標準的なパターンのほか、file:///c:\MyStuff*.pdf のような URL 形式のパターンも指定できます。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
このメソッドは Windows 7 で完全に実装されています。
指定したルート配下のすべての URL を再インデックスします。
| pszRootURL | LPWSTR | in | 検索のルートとなる URL を格納した、null で終わる Unicode バッファーへのポインター。この URL は、あらかじめ ISearchCrawlScopeManager::AddRoot で登録された検索ルートである必要があります。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
インデクサーは、このメソッドが正常に復帰した時点で、pszRootURL 配下のすべての開始ページに対する増分クロールを開始します。
古い情報は、再インデックス中に新しい情報で置き換えられるまでカタログ内に残ります。
TIMEOUT_INFO 構造体の接続タイムアウト値を秒単位で設定します。
| dwConnectTimeout | DWORD | in | 接続の応答を待機する秒数。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
インデクサーは、ドキュメントの最初のチャンクを接続タイムアウト時間内に、以降のチャンクをデータタイムアウト時間内に受信することを想定しています。これらのタイムアウト値は、フィルターやプロトコルハンドラーの失敗やパフォーマンス問題の発生を防ぐのに役立ちます。
インデックス作成のためにストアへ接続する際の接続タイムアウト値を取得します。
| pdwConnectTimeout | DWORD* | out | TIMEOUT_INFO 構造体のタイムアウト値(秒単位)へのポインターを受け取ります。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
インデクサーは、ドキュメントの最初のチャンクを接続タイムアウト時間内に、以降のチャンクをデータタイムアウト時間内に受信することを想定しています。これらのタイムアウト値は、フィルターやプロトコルハンドラーの失敗やパフォーマンス問題の発生を防ぐのに役立ちます。
インデクサーと検索フィルターホスト間のデータのやり取りに対するタイムアウト値を設定します。この情報は TIMEOUT_INFO 構造体に格納され、秒単位で表されます。
| dwDataTimeout | DWORD | in | インデクサーがデータのチャンクとチャンクの間で待機する秒数。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
インデクサーは、ドキュメントの最初のチャンクを接続タイムアウト時間内に、以降のチャンクをデータタイムアウト時間内に受信することを想定しています。これらのタイムアウト値は、フィルターやプロトコルハンドラーの失敗やパフォーマンス問題の発生を防ぐのに役立ちます。
インデクサーと検索フィルターホスト間のデータのやり取りに対するデータタイムアウト値を秒単位で取得します。この値は TIMEOUT_INFO 構造体に格納されています。
| pdwDataTimeout | DWORD* | out | データのやり取りに関する TIMEOUT_INFO の値(データのやり取りを待機する時間)へのポインターを受け取ります。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
インデクサーは、ドキュメントの最初のチャンクを接続タイムアウト時間内に、以降のチャンクをデータタイムアウト時間内に受信することを想定しています。これらのタイムアウト値は、フィルターやプロトコルハンドラーの失敗やパフォーマンス問題の発生を防ぐのに役立ちます。
カタログ内の項目数を取得します。
| plCount | INT* | out | カタログ内の項目数へのポインターを受け取ります。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
カタログ内でインデックス作成の対象となる項目数を取得します。
| plIncrementalCount | INT* | out | 次回の増分インデックス作成でインデックスされる項目数へのポインターを受け取ります。 |
| plNotificationQueue | INT* | out | 通知キュー内の項目数へのポインターを受け取ります。 |
| plHighPriorityQueue | INT* | out | 高優先度キュー内の項目数へのポインターを受け取ります。plHighPriorityQueue の項目が最初にインデックスされます。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
現在インデックス作成中の URL を取得します。インデックス作成が実行されていない場合、pszUrl には NULL が設定されます。
| pszUrl | LPWSTR* | out | 現在インデックス作成中の URL へのポインターを受け取ります。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
実装されていません。(ISearchCatalogManager.GetURLIndexingState)
| pszURL | LPWSTR | in | |
| pdwState | DWORD* | out |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
クライアント向けの変更通知イベントシンクインターフェイスを取得します。このメソッドは、クライアントアプリケーションやプロトコルハンドラーがインデクサーに変更を通知するために使用します。
| ppISearchPersistentItemsChangedSink | ISearchPersistentItemsChangedSink** | out | このカタログ用の新しい ISearchPersistentItemsChangedSink インターフェイスへのポインターのアドレスを受け取ります。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
実装されていません。(ISearchCatalogManager.RegisterViewForNotification)
| pszView | LPWSTR | in | ビューの名前へのポインター。 |
| pViewChangedSink | ISearchViewChangedSink* | in | 通知を受け取る ISearchViewChangedSink オブジェクトへのポインター。 |
| pdwCookie | DWORD* | out |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
変更通知シンクインターフェイスを取得します。
| pISearchNotifyInlineSite | ISearchNotifyInlineSite* | in | 呼び出し側の ISearchNotifyInlineSite インターフェイスへのポインター。 |
| riid | GUID* | in | ISearchItemsChangedSink インターフェイスの UUID。 |
| ppv | void** | out | ISearchItemsChangedSink インターフェイスへのポインターを受け取ります。 |
| pGUIDCatalogResetSignature | GUID* | out | カタログのリセットを表す GUID へのポインターを受け取ります。この GUID が変化した場合は、すべての通知を再送する必要があります。 |
| pGUIDCheckPointSignature | GUID* | out | チェックポイントを表す GUID へのポインターを受け取ります。 |
| pdwLastCheckPointNumber | DWORD* | out | 最後に保存されるチェックポイントを示す番号へのポインターを受け取ります。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
実装されていません。(ISearchCatalogManager.UnregisterViewForNotification)
| dwCookie | DWORD | in |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
実装されていません。(ISearchCatalogManager.SetExtensionClusion)
| pszExtension | LPWSTR | in | |
| fExclude | BOOL | in |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
実装されていません。(ISearchCatalogManager.EnumerateExcludedExtensions)
| ppExtensions | IEnumString** | out | 除外されている拡張子の列挙リストへのポインターのアドレスを返します。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
現在のカタログに対する ISearchQueryHelper インターフェイスを取得します。
| ppSearchQueryHelper | ISearchQueryHelper** | out | 既定の設定を持つ ISearchQueryHelper インターフェイスの新しいインスタンスへのポインターのアドレスを受け取ります。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
ISearchQueryHelper インターフェイスを作成した後、このインターフェイスの put... メソッドを使用して設定を変更します。ISearchQueryHelper オブジェクトの設定は、再度変更されるか、その項目が解放されるまでの間のみ有効です。次に項目が作成されたときは、設定は既定値になります。
カタログがダイアクリティカルマークを区別するかどうかを決定する値を設定します。ダイアクリティカルマークとは、特別な音価や発音を示すために文字に付加される記号です。
| fDiacriticSensitive | BOOL | in | カタログがダイアクリティカルマークを区別するかどうかを決定するブール値。カタログがダイアクリティカルマークを区別して認識する場合は TRUE、それ以外の場合は FALSE です。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
カタログがダイアクリティカルマークを区別するかどうかを示す値を取得します。ダイアクリティカルマークとは、特別な音価や発音を示すために文字に付加される記号です。
| pfDiacriticSensitive | BOOL* | out | カタログがダイアクリティカルマークを区別するかどうかを示すブール値へのポインターを受け取ります。カタログがダイアクリティカルマークを区別して認識する場合は TRUE、それ以外の場合は FALSE です。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
この検索カタログに対する ISearchCrawlScopeManager インターフェイスを取得します。
| ppCrawlScopeManager | ISearchCrawlScopeManager** | out | 新しい ISearchCrawlScopeManager インターフェイスへのポインターを受け取ります。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_ISearchCatalogManager "{AB310581-AC80-11D1-8DF3-00C04FB6EF50}" #usecom global ISearchCatalogManager IID_ISearchCatalogManager "{}" #comfunc global ISearchCatalogManager_get_Name 3 var #comfunc global ISearchCatalogManager_GetParameter 4 wstr,var #comfunc global ISearchCatalogManager_SetParameter 5 wstr,var #comfunc global ISearchCatalogManager_GetCatalogStatus 6 var,var #comfunc global ISearchCatalogManager_Reset 7 #comfunc global ISearchCatalogManager_Reindex 8 #comfunc global ISearchCatalogManager_ReindexMatchingURLs 9 wstr #comfunc global ISearchCatalogManager_ReindexSearchRoot 10 wstr #comfunc global ISearchCatalogManager_put_ConnectTimeout 11 int #comfunc global ISearchCatalogManager_get_ConnectTimeout 12 var #comfunc global ISearchCatalogManager_put_DataTimeout 13 int #comfunc global ISearchCatalogManager_get_DataTimeout 14 var #comfunc global ISearchCatalogManager_NumberOfItems 15 var #comfunc global ISearchCatalogManager_NumberOfItemsToIndex 16 var,var,var #comfunc global ISearchCatalogManager_URLBeingIndexed 17 var #comfunc global ISearchCatalogManager_GetURLIndexingState 18 wstr,var #comfunc global ISearchCatalogManager_GetPersistentItemsChangedSink 19 sptr #comfunc global ISearchCatalogManager_RegisterViewForNotification 20 wstr,sptr,var #comfunc global ISearchCatalogManager_GetItemsChangedSink 21 sptr,var,sptr,var,var,var #comfunc global ISearchCatalogManager_UnregisterViewForNotification 22 int #comfunc global ISearchCatalogManager_SetExtensionClusion 23 wstr,int #comfunc global ISearchCatalogManager_EnumerateExcludedExtensions 24 sptr #comfunc global ISearchCatalogManager_GetQueryHelper 25 sptr #comfunc global ISearchCatalogManager_put_DiacriticSensitivity 26 int #comfunc global ISearchCatalogManager_get_DiacriticSensitivity 27 var #comfunc global ISearchCatalogManager_GetCrawlScopeManager 28 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ISearchCatalogManager "{AB310581-AC80-11D1-8DF3-00C04FB6EF50}" #usecom global ISearchCatalogManager IID_ISearchCatalogManager "{}" #comfunc global ISearchCatalogManager_get_Name 3 sptr #comfunc global ISearchCatalogManager_GetParameter 4 wstr,sptr #comfunc global ISearchCatalogManager_SetParameter 5 wstr,sptr #comfunc global ISearchCatalogManager_GetCatalogStatus 6 sptr,sptr #comfunc global ISearchCatalogManager_Reset 7 #comfunc global ISearchCatalogManager_Reindex 8 #comfunc global ISearchCatalogManager_ReindexMatchingURLs 9 wstr #comfunc global ISearchCatalogManager_ReindexSearchRoot 10 wstr #comfunc global ISearchCatalogManager_put_ConnectTimeout 11 int #comfunc global ISearchCatalogManager_get_ConnectTimeout 12 sptr #comfunc global ISearchCatalogManager_put_DataTimeout 13 int #comfunc global ISearchCatalogManager_get_DataTimeout 14 sptr #comfunc global ISearchCatalogManager_NumberOfItems 15 sptr #comfunc global ISearchCatalogManager_NumberOfItemsToIndex 16 sptr,sptr,sptr #comfunc global ISearchCatalogManager_URLBeingIndexed 17 sptr #comfunc global ISearchCatalogManager_GetURLIndexingState 18 wstr,sptr #comfunc global ISearchCatalogManager_GetPersistentItemsChangedSink 19 sptr #comfunc global ISearchCatalogManager_RegisterViewForNotification 20 wstr,sptr,sptr #comfunc global ISearchCatalogManager_GetItemsChangedSink 21 sptr,sptr,sptr,sptr,sptr,sptr #comfunc global ISearchCatalogManager_UnregisterViewForNotification 22 int #comfunc global ISearchCatalogManager_SetExtensionClusion 23 wstr,int #comfunc global ISearchCatalogManager_EnumerateExcludedExtensions 24 sptr #comfunc global ISearchCatalogManager_GetQueryHelper 25 sptr #comfunc global ISearchCatalogManager_put_DiacriticSensitivity 26 int #comfunc global ISearchCatalogManager_get_DiacriticSensitivity 27 sptr #comfunc global ISearchCatalogManager_GetCrawlScopeManager 28 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。