ISearchManager
COM公式ドキュメント
Search サービスを制御するためのメソッドを提供します。このインターフェイスは、カタログ全体にわたって検索エンジンに影響する設定やオブジェクトを管理します。
解説(Remarks)
どのファイルをどのように再インデックスするかを指定する方法を示すサンプルについては、ReindexMatchingUrls サンプルを参照してください。
メソッド 13
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
現在のインデクサーのバージョンを単一の文字列として取得します。
| ppszVersionString | LPWSTR* | out | 現在のインデクサーのバージョンを受け取ります。 Windows XP/Windows Server 2003 上の 6502.06.5000.5378 Windows XP/Windows Server 2003 上の 6602.06.6000.5414 Windows XP/Windows Server 2003 上の 003.00.5824.280 Windows XP/Windows Server 2003 上の 0103.01.6000.72 Windows Vista RTM/Windows Server RTM 上の Windows Search03.00.6000.16386 Windows Vista SP1/Windows Server 2008 上の Windows Search03.00.6001.18000 すべてのプラットフォーム上の 0 Preview04.00.6001.381 すべてのプラットフォーム上の 004.00.6001.16503 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
どのファイルを再インデックスするかを指定する方法とその設定方法については、ReindexMatchingUrls コードサンプルを参照してください。
現在のインデクサーのバージョンを、メジャーバージョン識別子とマイナーバージョン識別子の 2 つに分けて取得します。
| pdwMajor | DWORD* | out | メジャーバージョン識別子 (ドットの左側の数値) を受け取ります。 |
| pdwMinor | DWORD* | out | マイナーバージョン識別子 (ドットの右側の数値) を受け取ります。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
どのファイルを再インデックスするかを指定する方法とその設定方法については、ReindexMatchingUrls コードサンプルを参照してください。
サポートされていません。このメソッドは、呼び出されると E_INVALIDARG を返します。(ISearchManager.GetParameter)
| pszName | LPWSTR | in | 現在のバージョンの検索 (WDS 3.0) には、有効なパラメーターはありません。 |
| ppValue | PROPVARIANT** | out | 値を取得できるプロパティが現在定義されていないため、未定義の状態の値を返します。 |
戻り値
型: HRESULT
このメソッドは、呼び出されるとエラーコードとして E_InvalidArg を返します。
解説(Remarks)
どのファイルを再インデックスするかを指定する方法とその設定方法については、ReindexMatchingUrls コードサンプルを参照してください。
サポートされていません。このメソッドは、呼び出されると E_INVALIDARG を返します。(ISearchManager.SetParameter)
| pszName | LPWSTR | in | 現在、渡したり取得したりできる有効なパラメーターはありません。 |
| pValue | PROPVARIANT* | in | 現在構成されている有効なパラメーターがないため、このメソッドに渡す有効なパラメーターはありません。 |
戻り値
型: HRESULT
このメソッドは、呼び出されるとエラーコードとして E_InvalidArg を返します。
解説(Remarks)
どのファイルを再インデックスするかを指定する方法とその設定方法については、ReindexMatchingUrls コードサンプルを参照してください。
プロトコルハンドラーが使用するプロキシ名を取得します。
| ppszProxyName | LPWSTR* | out | プロキシ名を格納した Unicode 文字列へのポインターを受け取ります。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
どのファイルを再インデックスするかを指定する方法とその設定方法については、ReindexMatchingUrls コードサンプルを参照してください。
インデクサーからプロキシバイパスリストを取得します。このリストは、どの項目や URL がローカルであり、プロキシサーバーを経由する必要がないかを判断するために使用されます。このリストは ISearchManager::SetProxy を呼び出して設定します。
| ppszBypassList | LPWSTR* | out | インデクサーに格納されているプロキシバイパスリストへのポインターを受け取ります。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
どのファイルを再インデックスするかを指定する方法とその設定方法については、ReindexMatchingUrls コードサンプルを参照してください。
インデクサーがどのように動作し、プロキシサーバーと通信するかを決定する情報をインデクサーに格納します。
| sUseProxy | PROXY_ACCESS | in | PROXY_ACCESS で列挙されている値のいずれかを使用して、プロキシを使用するかどうか、およびその方法を設定します。 |
| fLocalByPassProxy | BOOL | in | ローカルの項目および URL に対してプロキシサーバーをバイパスするかどうかを設定します。 |
| dwPortNumber | DWORD | in | インデックスがプロキシサーバーと通信する際に使用するポート番号を設定します。 |
| pszProxyName | LPWSTR | in | 使用するプロキシサーバーの名前を格納した、null で終わる Unicode 文字列です。 |
| pszByPassList | LPWSTR | in | インデクサーがローカルとみなし、プロキシサーバー経由でアクセスしない項目のコンマ区切りリストを格納した、null で終わる Unicode 文字列です。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
どのファイルを再インデックスするかを指定する方法とその設定方法については、ReindexMatchingUrls コードサンプルを参照してください。
名前を指定してカタログを取得し、そのカタログに対応する新しい ISearchCatalogManager オブジェクトを作成します。
| pszCatalog | LPWSTR | in | 取得するカタログの名前です。 |
| ppCatalogManager | ISearchCatalogManager** | out | pszCatalog で指定された ISearchCatalogManager オブジェクトへのポインターのアドレスを受け取ります。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
現在、Microsoft Windows Desktop Search (WDS) 3.0 がサポートするカタログは 1 つのみで、その名前は SystemIndex です。
どのファイルを再インデックスするかを指定する方法とその設定方法については、ReindexMatchingUrls コードサンプルを参照してください。
ユーザーエージェント文字列を取得します。
| ppszUserAgent | LPWSTR* | out | ユーザーエージェント文字列へのポインターのアドレスを受け取ります。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
どのファイルを再インデックスするかを指定する方法とその設定方法については、ReindexMatchingUrls コードサンプルを参照してください。
ユーザーエージェントが自身を識別するために Web サイトやサービスに渡すユーザーエージェント文字列を設定します。
| pszUserAgent | LPWSTR | in | ユーザーエージェントを識別するユーザーエージェント文字列です。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
ユーザーエージェントとは、インターネットにアクセスするクライアントアプリケーションです。ユーザーエージェントには Web ブラウザー、検索エンジンのクローラー、ダウンロードマネージャーなどが含まれ、File Transfer Protocol (FTP) や Hyper Text Transfer Protocol (HTTP) といった特定のプロトコルに関連付けられている場合があります。
各ユーザーエージェントは通常、"Mozilla/4.0" のようなユーザーエージェント文字列を持ち、自身を識別するために Web サイトやサービスに渡すことができます。
どのファイルを再インデックスするかを指定する方法とその設定方法については、ReindexMatchingUrls コードサンプルを参照してください。
使用するプロキシサーバーを取得します。
| pUseProxy | PROXY_ACCESS* | out | 使用するプロキシサーバーへのポインターを受け取ります。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
どのファイルを再インデックスするかを指定する方法とその設定方法については、ReindexMatchingUrls コードサンプルを参照してください。
項目または URL を検索する際にプロキシサーバーをバイパスするかどうかを決定する値を取得します。
| pfLocalBypass | BOOL* | out | 項目または URL を検索する際にプロキシサーバーをバイパスするかどうかを示す BOOL 値へのポインターを受け取ります。プロキシをバイパスする場合 (ローカル項目の場合) は TRUE、それ以外の場合は FALSE です。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
プロキシサーバーは、主にセキュリティ上の理由から、ローカルエリアネットワーク (LAN) とインターネットの間のゲートウェイとして使用されます。プロキシサーバーは、サーバーやワークステーションなどの内部システムから、(他のネットワークやインターネット上の) 情報に対する要求を受け取ります。その後、プロキシサーバーはその要求をインターネットリソースへ転送し、要求元システムのアドレスを匿名に保ちます。インターネットリソースから情報が返されると、プロキシサーバーはその情報を要求元システムへ返送します。LAN 上のコンテンツについては、プロキシサーバーを経由してアクセスする必要はありません。これにより、時間や余分な手順を節約できる可能性があります。
このメソッドで取得される値は、ローカルドメインまたはネットワーク上にあるコンテンツをどのように扱うかをインデクサーが判断するのに役立ちます。ローカル以外のコンテンツについては、プロキシサーバーを経由することが適切、あるいは必要な場合があります。
ローカルドメインに対してプロキシをバイパスする設定はインデクサーに格納され、ISearchManager::SetProxy メソッドを呼び出して設定します。
どのファイルを再インデックスするかを指定する方法とその設定方法については、ReindexMatchingUrls コードサンプルを参照してください。
プロキシサーバーとの通信に使用されるポート番号を取得します。このポート番号はインデクサーに格納され、ISearchManager::SetProxy メソッドによって設定されます。
| pdwPortNumber | DWORD* | out | ポート番号へのポインターを受け取ります。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
どのファイルを再インデックスするかを指定する方法とその設定方法については、ReindexMatchingUrls コードサンプルを参照してください。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_ISearchManager "{AB310581-AC80-11D1-8DF3-00C04FB6EF69}" #usecom global ISearchManager IID_ISearchManager "{}" #comfunc global ISearchManager_GetIndexerVersionStr 3 var #comfunc global ISearchManager_GetIndexerVersion 4 var,var #comfunc global ISearchManager_GetParameter 5 wstr,var #comfunc global ISearchManager_SetParameter 6 wstr,var #comfunc global ISearchManager_get_ProxyName 7 var #comfunc global ISearchManager_get_BypassList 8 var #comfunc global ISearchManager_SetProxy 9 int,int,int,wstr,wstr #comfunc global ISearchManager_GetCatalog 10 wstr,sptr #comfunc global ISearchManager_get_UserAgent 11 var #comfunc global ISearchManager_put_UserAgent 12 wstr #comfunc global ISearchManager_get_UseProxy 13 var #comfunc global ISearchManager_get_LocalBypass 14 var #comfunc global ISearchManager_get_PortNumber 15 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ISearchManager "{AB310581-AC80-11D1-8DF3-00C04FB6EF69}" #usecom global ISearchManager IID_ISearchManager "{}" #comfunc global ISearchManager_GetIndexerVersionStr 3 sptr #comfunc global ISearchManager_GetIndexerVersion 4 sptr,sptr #comfunc global ISearchManager_GetParameter 5 wstr,sptr #comfunc global ISearchManager_SetParameter 6 wstr,sptr #comfunc global ISearchManager_get_ProxyName 7 sptr #comfunc global ISearchManager_get_BypassList 8 sptr #comfunc global ISearchManager_SetProxy 9 int,int,int,wstr,wstr #comfunc global ISearchManager_GetCatalog 10 wstr,sptr #comfunc global ISearchManager_get_UserAgent 11 sptr #comfunc global ISearchManager_put_UserAgent 12 wstr #comfunc global ISearchManager_get_UseProxy 13 sptr #comfunc global ISearchManager_get_LocalBypass 14 sptr #comfunc global ISearchManager_get_PortNumber 15 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。