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

ISearchManager

COM
IIDab310581-ac80-11d1-8df3-00c04fb6ef69継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

Search サービスを制御するためのメソッドを提供します。このインターフェイスは、カタログ全体にわたって検索エンジンに影響する設定やオブジェクトを管理します。

解説(Remarks)

どのファイルをどのように再インデックスするかを指定する方法を示すサンプルについては、ReindexMatchingUrls サンプルを参照してください。

メソッド 13

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

vtbl 3 HRESULT GetIndexerVersionStr(LPWSTR* ppszVersionString)

現在のインデクサーのバージョンを単一の文字列として取得します。

ppszVersionStringLPWSTR*out

現在のインデクサーのバージョンを受け取ります。

Windows XP/Windows Server 2003 上の 65

02.06.5000.5378

Windows XP/Windows Server 2003 上の 66

02.06.6000.5414

Windows XP/Windows Server 2003 上の 0

03.00.5824.280

Windows XP/Windows Server 2003 上の 01

03.01.6000.72

Windows Vista RTM/Windows Server RTM 上の Windows Search

03.00.6000.16386

Windows Vista SP1/Windows Server 2008 上の Windows Search

03.00.6001.18000

すべてのプラットフォーム上の 0 Preview

04.00.6001.381

すべてのプラットフォーム上の 0

04.00.6001.16503

戻り値

型: HRESULT

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

解説(Remarks)

どのファイルを再インデックスするかを指定する方法とその設定方法については、ReindexMatchingUrls コードサンプルを参照してください。

vtbl 4 HRESULT GetIndexerVersion(DWORD* pdwMajor, DWORD* pdwMinor)

現在のインデクサーのバージョンを、メジャーバージョン識別子とマイナーバージョン識別子の 2 つに分けて取得します。

pdwMajorDWORD*outメジャーバージョン識別子 (ドットの左側の数値) を受け取ります。
pdwMinorDWORD*outマイナーバージョン識別子 (ドットの右側の数値) を受け取ります。

戻り値

型: HRESULT

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

解説(Remarks)

どのファイルを再インデックスするかを指定する方法とその設定方法については、ReindexMatchingUrls コードサンプルを参照してください。

vtbl 5 HRESULT GetParameter(LPWSTR pszName, PROPVARIANT** ppValue)

サポートされていません。このメソッドは、呼び出されると E_INVALIDARG を返します。(ISearchManager.GetParameter)

pszNameLPWSTRin現在のバージョンの検索 (WDS 3.0) には、有効なパラメーターはありません。
ppValuePROPVARIANT**out値を取得できるプロパティが現在定義されていないため、未定義の状態の値を返します。

戻り値

型: HRESULT

このメソッドは、呼び出されるとエラーコードとして E_InvalidArg を返します。

解説(Remarks)

どのファイルを再インデックスするかを指定する方法とその設定方法については、ReindexMatchingUrls コードサンプルを参照してください。

vtbl 6 HRESULT SetParameter(LPWSTR pszName, PROPVARIANT* pValue)

サポートされていません。このメソッドは、呼び出されると E_INVALIDARG を返します。(ISearchManager.SetParameter)

pszNameLPWSTRin現在、渡したり取得したりできる有効なパラメーターはありません。
pValuePROPVARIANT*in現在構成されている有効なパラメーターがないため、このメソッドに渡す有効なパラメーターはありません。

戻り値

型: HRESULT

このメソッドは、呼び出されるとエラーコードとして E_InvalidArg を返します。

解説(Remarks)

どのファイルを再インデックスするかを指定する方法とその設定方法については、ReindexMatchingUrls コードサンプルを参照してください。

vtbl 7 HRESULT get_ProxyName(LPWSTR* ppszProxyName)

プロトコルハンドラーが使用するプロキシ名を取得します。

ppszProxyNameLPWSTR*outプロキシ名を格納した Unicode 文字列へのポインターを受け取ります。

戻り値

型: HRESULT

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

解説(Remarks)

どのファイルを再インデックスするかを指定する方法とその設定方法については、ReindexMatchingUrls コードサンプルを参照してください。

vtbl 8 HRESULT get_BypassList(LPWSTR* ppszBypassList)

インデクサーからプロキシバイパスリストを取得します。このリストは、どの項目や URL がローカルであり、プロキシサーバーを経由する必要がないかを判断するために使用されます。このリストは ISearchManager::SetProxy を呼び出して設定します。

ppszBypassListLPWSTR*outインデクサーに格納されているプロキシバイパスリストへのポインターを受け取ります。

戻り値

型: HRESULT

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

解説(Remarks)

どのファイルを再インデックスするかを指定する方法とその設定方法については、ReindexMatchingUrls コードサンプルを参照してください。

vtbl 9 HRESULT SetProxy(PROXY_ACCESS sUseProxy, BOOL fLocalByPassProxy, DWORD dwPortNumber, LPWSTR pszProxyName, LPWSTR pszByPassList)

インデクサーがどのように動作し、プロキシサーバーと通信するかを決定する情報をインデクサーに格納します。

sUseProxyPROXY_ACCESSinPROXY_ACCESS で列挙されている値のいずれかを使用して、プロキシを使用するかどうか、およびその方法を設定します。
fLocalByPassProxyBOOLinローカルの項目および URL に対してプロキシサーバーをバイパスするかどうかを設定します。
dwPortNumberDWORDinインデックスがプロキシサーバーと通信する際に使用するポート番号を設定します。
pszProxyNameLPWSTRin使用するプロキシサーバーの名前を格納した、null で終わる Unicode 文字列です。
pszByPassListLPWSTRinインデクサーがローカルとみなし、プロキシサーバー経由でアクセスしない項目のコンマ区切りリストを格納した、null で終わる Unicode 文字列です。

戻り値

型: HRESULT

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

解説(Remarks)

どのファイルを再インデックスするかを指定する方法とその設定方法については、ReindexMatchingUrls コードサンプルを参照してください。

vtbl 10 HRESULT GetCatalog(LPWSTR pszCatalog, ISearchCatalogManager** ppCatalogManager)

名前を指定してカタログを取得し、そのカタログに対応する新しい ISearchCatalogManager オブジェクトを作成します。

pszCatalogLPWSTRin取得するカタログの名前です。
ppCatalogManagerISearchCatalogManager**outpszCatalog で指定された ISearchCatalogManager オブジェクトへのポインターのアドレスを受け取ります。

戻り値

型: HRESULT

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

解説(Remarks)

現在、Microsoft Windows Desktop Search (WDS) 3.0 がサポートするカタログは 1 つのみで、その名前は SystemIndex です。

どのファイルを再インデックスするかを指定する方法とその設定方法については、ReindexMatchingUrls コードサンプルを参照してください。

vtbl 11 HRESULT get_UserAgent(LPWSTR* ppszUserAgent)

ユーザーエージェント文字列を取得します。

ppszUserAgentLPWSTR*outユーザーエージェント文字列へのポインターのアドレスを受け取ります。

戻り値

型: HRESULT

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

解説(Remarks)

どのファイルを再インデックスするかを指定する方法とその設定方法については、ReindexMatchingUrls コードサンプルを参照してください。

vtbl 12 HRESULT put_UserAgent(LPWSTR pszUserAgent)

ユーザーエージェントが自身を識別するために Web サイトやサービスに渡すユーザーエージェント文字列を設定します。

pszUserAgentLPWSTRinユーザーエージェントを識別するユーザーエージェント文字列です。

戻り値

型: HRESULT

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

解説(Remarks)

ユーザーエージェントとは、インターネットにアクセスするクライアントアプリケーションです。ユーザーエージェントには Web ブラウザー、検索エンジンのクローラー、ダウンロードマネージャーなどが含まれ、File Transfer Protocol (FTP) や Hyper Text Transfer Protocol (HTTP) といった特定のプロトコルに関連付けられている場合があります。

各ユーザーエージェントは通常、"Mozilla/4.0" のようなユーザーエージェント文字列を持ち、自身を識別するために Web サイトやサービスに渡すことができます。

どのファイルを再インデックスするかを指定する方法とその設定方法については、ReindexMatchingUrls コードサンプルを参照してください。

vtbl 13 HRESULT get_UseProxy(PROXY_ACCESS* pUseProxy)

使用するプロキシサーバーを取得します。

pUseProxyPROXY_ACCESS*out使用するプロキシサーバーへのポインターを受け取ります。

戻り値

型: HRESULT

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

解説(Remarks)

どのファイルを再インデックスするかを指定する方法とその設定方法については、ReindexMatchingUrls コードサンプルを参照してください。

vtbl 14 HRESULT get_LocalBypass(BOOL* pfLocalBypass)

項目または URL を検索する際にプロキシサーバーをバイパスするかどうかを決定する値を取得します。

pfLocalBypassBOOL*out項目または URL を検索する際にプロキシサーバーをバイパスするかどうかを示す BOOL 値へのポインターを受け取ります。プロキシをバイパスする場合 (ローカル項目の場合) は TRUE、それ以外の場合は FALSE です。

戻り値

型: HRESULT

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

解説(Remarks)

プロキシサーバーは、主にセキュリティ上の理由から、ローカルエリアネットワーク (LAN) とインターネットの間のゲートウェイとして使用されます。プロキシサーバーは、サーバーやワークステーションなどの内部システムから、(他のネットワークやインターネット上の) 情報に対する要求を受け取ります。その後、プロキシサーバーはその要求をインターネットリソースへ転送し、要求元システムのアドレスを匿名に保ちます。インターネットリソースから情報が返されると、プロキシサーバーはその情報を要求元システムへ返送します。LAN 上のコンテンツについては、プロキシサーバーを経由してアクセスする必要はありません。これにより、時間や余分な手順を節約できる可能性があります。

このメソッドで取得される値は、ローカルドメインまたはネットワーク上にあるコンテンツをどのように扱うかをインデクサーが判断するのに役立ちます。ローカル以外のコンテンツについては、プロキシサーバーを経由することが適切、あるいは必要な場合があります。

ローカルドメインに対してプロキシをバイパスする設定はインデクサーに格納され、ISearchManager::SetProxy メソッドを呼び出して設定します。

どのファイルを再インデックスするかを指定する方法とその設定方法については、ReindexMatchingUrls コードサンプルを参照してください。

vtbl 15 HRESULT get_PortNumber(DWORD* pdwPortNumber)

プロキシサーバーとの通信に使用されるポート番号を取得します。このポート番号はインデクサーに格納され、ISearchManager::SetProxy メソッドによって設定されます。

pdwPortNumberDWORD*outポート番号へのポインターを受け取ります。

戻り値

型: HRESULT

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

解説(Remarks)

どのファイルを再インデックスするかを指定する方法とその設定方法については、ReindexMatchingUrls コードサンプルを参照してください。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_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 指定が可能。