ISearchCrawlScopeManager
COM公式ドキュメント
クロールまたは監視の対象とするコンテナーと、それらのコンテナー配下でクロールまたは監視の際に含める、あるいは除外するアイテムを検索エンジンに通知するためのメソッドを提供します。
解説(Remarks)
Crawl Scope Manager (CSM) のインデックス作成操作に対するコマンドラインオプションを定義する方法を示すサンプルについては、CrawlScopeCommandLine サンプルを参照してください。
メソッド 16
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
このルールの既定のスコープとして URL を追加します。
| pszURL | LPWSTR | in | 既定のスコープとして使用する URL を格納した、null で終わる Unicode バッファーへのポインター。 |
| fInclude | BOOL | in | pszUrl をインデックス作成に含める場合は TRUE、除外する場合は FALSE を指定します。 |
| fFollowFlags | DWORD | in | 複雑な URL をたどるかどうか、および URL をインデックスに登録するのか単にたどるだけにするのかを指定する FOLLOW_FLAGS を設定します。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
既定のスコープルールは、スコープルールの初期セットを提供します。ユーザースコープルールは常に既定のスコープルールより優先されますが、ユーザー定義のルールが元に戻された場合は既定のスコープルールが復元されます。
ISearchCrawlScopeManager::AddDefaultScopeRule にパラメーターとして渡す URL は、完全に URL デコードされ、URL 制御コードを含まない状態である必要があります。たとえば、file:///c:\My Documents は完全に URL デコードされていますが、file:///c:\My%20Documents はそうではありません。
Windows 7 以降: Crawl Scope Manager (CSM) のインデックス作成操作に対するコマンドラインオプションを定義する方法については、CrawlScopeCommandLine コードサンプルを参照してください。
検索エンジンに新しい検索ルートを追加します。
| pSearchRoot | ISearchRoot* | in | 追加する新しい検索ルートを記述する ISearchRoot。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
その URL に対する既存のルート定義を上書きします。
Windows 7 以降: Crawl Scope Manager (CSM) のインデックス作成操作に対するコマンドラインオプションを定義する方法については、CrawlScopeCommandLine コードサンプルを参照してください。
検索エンジンから検索ルートを削除します。
| pszURL | LPWSTR | in | 削除する検索ルートの URL。 |
戻り値
解説(Remarks)
Windows 7 以降: Crawl Scope Manager (CSM) のインデックス作成操作に対するコマンドラインオプションを定義する方法については、CrawlScopeCommandLine コードサンプルを参照してください。
この ISearchCrawlScopeManager のインスタンスが認識しているすべてのルートの列挙子を返します。
| ppSearchRoots | IEnumSearchRoots** | out | IEnumSearchRoots インターフェースへのポインターを返します。 |
戻り値
解説(Remarks)
列挙するルートがない場合、ppSearchRoots には NULL が設定されます。
Windows 7 以降: Crawl Scope Manager (CSM) のインデックス作成操作に対するコマンドラインオプションを定義する方法については、CrawlScopeCommandLine コードサンプルを参照してください。
検索エンジンに階層スコープを追加します。
| pszURL | LPWSTR | in | 追加するスコープの URL。 |
| fInclude | BOOL | in | 包含スコープの場合は TRUE、除外スコープの場合は FALSE を指定します。 |
| fDefault | BOOL | in | 既定のスコープにする場合は TRUE、既定のスコープにしない場合は FALSE を指定します。 |
| fOverrideChildren | BOOL | in | このスコープが子 URL のルールをすべて上書きする場合は TRUE、それ以外の場合は FALSE を指定します。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
このメソッドは、その URL に対する既存のスコープルールを上書きします。この機能を実現する方法としては、ISearchCrawlScopeManager::AddDefaultScopeRule および ISearchCrawlScopeManager::AddUserScopeRule の使用が推奨されます。
ISearchCrawlScopeManager::AddHierarchicalScope にパラメーターとして渡す URL は、完全に URL デコードされ、URL 制御コードを含まない状態である必要があります。たとえば、file:///c:\My Documents は完全に URL デコードされていますが、file:///c:\My%20Documents はそうではありません。
Windows 7 以降: Crawl Scope Manager (CSM) のインデックス作成操作に対するコマンドラインオプションを定義する方法については、CrawlScopeCommandLine コードサンプルを参照してください。
ユーザーが新しいルールを作成したとき、またはインデックス作成対象の URL を追加したときに、新しいクロールスコープルールを追加します。
| pszURL | LPWSTR | in | インデックス作成の対象とする URL。 |
| fInclude | BOOL | in | すべての pszUrl の検索に含める場合は TRUE、それ以外の場合は FALSE を指定します。 |
| fOverrideChildren | BOOL | in | 子ルールを上書きするかどうかを指定する BOOL 値。TRUE に設定すると、実質的にすべての子ルールが削除されます。 |
| fFollowFlags | DWORD | in | 複雑な URL をたどるかどうか、および URL をインデックスに登録するのか単にたどるだけにするのかを指定する FOLLOW_FLAGS を設定します。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
スコープルールには、完全修飾 URL またはパターンを含むルールを指定できます。
ISearchCrawlScopeManager::AddUserScopeRule は、その URL またはパターンに対する既存のスコープルールを上書きします。
ISearchCrawlScopeManager::AddUserScopeRule にパラメーターとして渡す URL は、完全に URL デコードされ、URL 制御コードを含まない状態である必要があります。たとえば、file:///c:\My Documents は完全に URL デコードされていますが、file:///c:\My%20Documents はそうではありません。
Windows 7 以降: Crawl Scope Manager (CSM) のインデックス作成操作に対するコマンドラインオプションを定義する方法については、CrawlScopeCommandLine コードサンプルを参照してください。
検索エンジンからスコープルールを削除します。
| pszRule | LPWSTR | in | 削除するスコープルールの URL またはパターン。 |
戻り値
解説(Remarks)
ISearchCrawlScopeManager::RemoveScopeRule にパラメーターとして渡す URL は、完全に URL デコードされ、URL 制御コードを含まない状態である必要があります。たとえば、file:///c:\My Documents は完全に URL デコードされていますが、file:///c:\My%20Documents はそうではありません。
Windows 7 以降: Crawl Scope Manager (CSM) のインデックス作成操作に対するコマンドラインオプションを定義する方法については、CrawlScopeCommandLine コードサンプルを参照してください。
この ISearchCrawlScopeManager インターフェースのインスタンスが認識しているすべてのスコープルールの列挙子を返します。
| ppSearchScopeRules | IEnumSearchScopeRules** | out | IEnumSearchScopeRules インターフェースへのポインターを返します。 |
戻り値
解説(Remarks)
Windows 7 以降: Crawl Scope Manager (CSM) のインデックス作成操作に対するコマンドラインオプションを定義する方法については、CrawlScopeCommandLine コードサンプルを参照してください。
指定した URL がスコープ内に親ルールを持つかどうかを判定します。
| pszURL | LPWSTR | in | 親ルールの有無を確認する URL を格納した文字列。この文字列には、アスタリスク (*) などのワイルドカード文字を含めることができます。 |
| pfHasParentRule | BOOL* | out | pszURL が親ルールを持つ場合は TRUE、それ以外の場合は FALSE になります。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
Windows 7 以降: Crawl Scope Manager (CSM) のインデックス作成操作に対するコマンドラインオプションを定義する方法については、CrawlScopeCommandLine コードサンプルを参照してください。
指定した URL がスコープ内に子ルールを持つかどうかを判定します。
| pszURL | LPWSTR | in | 子ルールの有無を確認する URL を格納した文字列。この文字列には、アスタリスク (*) などのワイルドカード文字を含めることができます。 |
| pfHasChildRule | BOOL* | out | pszURL が子ルールを持つ場合は TRUE、それ以外の場合は FALSE になります。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
Windows 7 以降: Crawl Scope Manager (CSM) のインデックス作成操作に対するコマンドラインオプションを定義する方法については、CrawlScopeCommandLine コードサンプルを参照してください。
指定した URL がクロールスコープに含まれているかどうかを示す値を取得します。
| pszURL | LPWSTR | in | クロールスコープに含まれているかどうかを確認する URL を格納した文字列。 |
| pfIsIncluded | BOOL* | out | BOOL 値へのポインター。pszURL がクロールスコープに含まれている場合は TRUE、それ以外の場合は FALSE になります。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
階層型のソースでは、最も近い親が対象に含まれます。URL のような非階層型のソースでは、対象となるのはその URL ルール自体のみです。インデックスに登録される可能性のあるその他の URL については、スコープ内にあるかどうかを判断する手段がないため、このメソッドは FALSE を取得します。
Windows 7 以降: Crawl Scope Manager (CSM) のインデックス作成操作に対するコマンドラインオプションを定義する方法については、CrawlScopeCommandLine コードサンプルを参照してください。
指定した URL がクロールスコープに含まれているかどうか、およびその理由を示す値を取得します。
| pszURL | LPWSTR | in | クロールスコープに含まれているかどうかを確認する URL を示す文字列値。 |
| pfIsIncluded | BOOL* | out | BOOL 値へのポインター。pszURL がクロールスコープに含まれている場合は TRUE、それ以外の場合は FALSE になります。 |
| pReason | CLUSION_REASON* | out | 指定した URL がクロールスコープに含められた、または除外された理由を示す CLUSION_REASON 列挙型の値へのポインターを取得します。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
階層型のソースでは、最も近い親が対象に含まれます。URL のような非階層型のソースでは、対象となるのはその URL ルール自体のみです。インデックスに登録される可能性のあるその他の URL については、スコープ内にあるかどうかを判断する手段がないため、このメソッドは FALSE を取得します。
<Windows 7 以降: Crawl Scope Manager (CSM) のインデックス作成操作に対するコマンドラインオプションを定義する方法については、CrawlScopeCommandLine コードサンプルを参照してください。
既定のスコープに戻します。
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
このメソッドは、ユーザー定義のルールをすべて削除し、クロールスコープルールの作業セットを既定のルールに戻します。
Windows 7 以降: Crawl Scope Manager (CSM) のインデックス作成操作に対するコマンドラインオプションを定義する方法については、CrawlScopeCommandLine コードサンプルを参照してください。
すべての変更を検索エンジンにコミットします。
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
Windows 7 以降: Crawl Scope Manager (CSM) のインデックス作成操作に対するコマンドラインオプションを定義する方法については、CrawlScopeCommandLine コードサンプルを参照してください。
親の包含 URL のバージョン ID を取得します。
| pszURL | LPWSTR | in | 現在の URL を格納した文字列。 |
| plScopeId | INT* | out | 戻り時に、pszUrl の親の包含 URL のバージョン ID へのポインターが格納されます。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
このメソッドは、データストアやスコープの変更 (たとえば、データストアがインデックスから削除された後に再度追加された場合など) をインデクサーが認識しているかどうかを判断するために使用します。この場合、ストアの URL の階層上の親を再度プッシュする必要が生じる可能性があります。
この ID は、スコープルールが削除された後に再度追加されると変わることがあります。親の包含 URL が見つからない場合、このメソッドは S_FALSE を返します。
Windows 7 以降: Crawl Scope Manager (CSM) のインデックス作成操作に対するコマンドラインオプションを定義する方法については、CrawlScopeCommandLine コードサンプルを参照してください。
検索エンジンから既定のスコープルールを削除します。
| pszURL | LPWSTR | in | 削除する既定のルールの URL またはパターンを示す文字列。 |
戻り値
型: HRESULT
成功した場合は S_OK を返します。それ以外の場合はエラーを返します。
解説(Remarks)
ISearchCrawlScopeManager::RemoveDefaultScopeRule にパラメーターとして渡す URL は、完全に URL デコードされ、URL 制御コードを含まない状態である必要があります。たとえば、file:///c:\My Documents は完全に URL デコードされていますが、file:///c:\My%20Documents はそうではありません。
Windows 7 以降: Crawl Scope Manager (CSM) のインデックス作成操作に対するコマンドラインオプションを定義する方法については、CrawlScopeCommandLine コードサンプルを参照してください。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_ISearchCrawlScopeManager "{AB310581-AC80-11D1-8DF3-00C04FB6EF55}" #usecom global ISearchCrawlScopeManager IID_ISearchCrawlScopeManager "{}" #comfunc global ISearchCrawlScopeManager_AddDefaultScopeRule 3 wstr,int,int #comfunc global ISearchCrawlScopeManager_AddRoot 4 sptr #comfunc global ISearchCrawlScopeManager_RemoveRoot 5 wstr #comfunc global ISearchCrawlScopeManager_EnumerateRoots 6 sptr #comfunc global ISearchCrawlScopeManager_AddHierarchicalScope 7 wstr,int,int,int #comfunc global ISearchCrawlScopeManager_AddUserScopeRule 8 wstr,int,int,int #comfunc global ISearchCrawlScopeManager_RemoveScopeRule 9 wstr #comfunc global ISearchCrawlScopeManager_EnumerateScopeRules 10 sptr #comfunc global ISearchCrawlScopeManager_HasParentScopeRule 11 wstr,var #comfunc global ISearchCrawlScopeManager_HasChildScopeRule 12 wstr,var #comfunc global ISearchCrawlScopeManager_IncludedInCrawlScope 13 wstr,var #comfunc global ISearchCrawlScopeManager_IncludedInCrawlScopeEx 14 wstr,var,var #comfunc global ISearchCrawlScopeManager_RevertToDefaultScopes 15 #comfunc global ISearchCrawlScopeManager_SaveAll 16 #comfunc global ISearchCrawlScopeManager_GetParentScopeVersionId 17 wstr,var #comfunc global ISearchCrawlScopeManager_RemoveDefaultScopeRule 18 wstr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ISearchCrawlScopeManager "{AB310581-AC80-11D1-8DF3-00C04FB6EF55}" #usecom global ISearchCrawlScopeManager IID_ISearchCrawlScopeManager "{}" #comfunc global ISearchCrawlScopeManager_AddDefaultScopeRule 3 wstr,int,int #comfunc global ISearchCrawlScopeManager_AddRoot 4 sptr #comfunc global ISearchCrawlScopeManager_RemoveRoot 5 wstr #comfunc global ISearchCrawlScopeManager_EnumerateRoots 6 sptr #comfunc global ISearchCrawlScopeManager_AddHierarchicalScope 7 wstr,int,int,int #comfunc global ISearchCrawlScopeManager_AddUserScopeRule 8 wstr,int,int,int #comfunc global ISearchCrawlScopeManager_RemoveScopeRule 9 wstr #comfunc global ISearchCrawlScopeManager_EnumerateScopeRules 10 sptr #comfunc global ISearchCrawlScopeManager_HasParentScopeRule 11 wstr,sptr #comfunc global ISearchCrawlScopeManager_HasChildScopeRule 12 wstr,sptr #comfunc global ISearchCrawlScopeManager_IncludedInCrawlScope 13 wstr,sptr #comfunc global ISearchCrawlScopeManager_IncludedInCrawlScopeEx 14 wstr,sptr,sptr #comfunc global ISearchCrawlScopeManager_RevertToDefaultScopes 15 #comfunc global ISearchCrawlScopeManager_SaveAll 16 #comfunc global ISearchCrawlScopeManager_GetParentScopeVersionId 17 wstr,sptr #comfunc global ISearchCrawlScopeManager_RemoveDefaultScopeRule 18 wstr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。