次の方法で共有


プロトコル ハンドラー アドインの開発

Note

Windows Desktop Search 2.x は、Windows XP および Windows Server 2003 のアドインとして最初に使用できた古いテクノロジです。 以降のリリースでは、代わりに Windows Search を使用してください。

カスタム プロトコル ハンドラーを実装することで、Microsoft Windows Desktop Search (WDS) を拡張して新しいデータ ストアを含めることができます。

プロトコル ハンドラーを使用したデータ ストアのインデックス作成

データ ストアは、データが格納され、WDS インデクサーによってクロールできるコンテンツ ソース (データベース システム、ディレクトリ、ファイル システム) です。 ストアは、階層型 (データベースなど) またはリンクベース (Web サイトなど) にすることができます。 プロトコル ハンドラーを使用すると、WDS などのインデックス作成アプリケーションでデータ ストアのノードを体系的にクロールし、インデックスに含める関連情報を抽出できます。 各プロトコル ハンドラーは、特定の種類のデータ ストアのインデックスを作成するために使用されます。 WDS には、ファイル システム ストアと Microsoft Outlook Express データ ストア (電子メール ストア、 の両方) のプロトコル ハンドラーが付属しています。PST ファイルなど)。 たとえば、Outlook メールのインデックスを作成する場合、プロトコル ハンドラーは、各メッセージと添付ファイルから情報を抽出するすべてのフォルダー内のすべてのメッセージをクロールします。 この情報は、WDS カタログに含めるインデクサーに渡されます。

多くの場合、ユーザーは、レガシ データベース、電子メール ストア、WDS でサポートされていないデータ構造などの他のデータ ストアを検索する必要があります。 WDS を拡張して、そのデータ ストア専用のプロトコル ハンドラーを使用または実装することで、新しいデータ ストアをクロールできます。 最初に、データ ストアにプロトコル ハンドラーが既に存在するかどうか (たとえば、SharePoint Services などの別のアプリケーションで使用する場合) を判断する必要があります。 その場合は、そのプロトコル ハンドラーをシステムにインストールできます。 ただし、別のプロトコル ハンドラーが存在しない場合は、実装する必要があります。 WDS プロトコル ハンドラーは、SharePoint Services と同じ設計仕様を使用し、多くの場合、同じ意味で使用できます。

さらに、データ ストアに WDS でサポートされている 200 ファイルの種類の 1 つ以外のデータまたはファイルの種類が含まれている場合は、ストア内のアイテムの内容にアクセスしてインデックスを付けるフィルターも実装する必要があります。 WDS 2.x では、SharePoint Services によって使用されるプロトコル ハンドラーと IFilterテクノロジが使用されます。 インデックスを作成するシステムに特定のストアとファイルの種類のフィルターが既にインストールされている場合、WDS は既存のインターフェイスを使用してこのデータのインデックスを作成します。

 

新しいデータ ストアの追加のロードマップ

WDS を拡張して新しいデータ ストアをクロールするには、プロトコル ハンドラーと、コンテキスト メニュー ハンドラー、アイコン ハンドラー、SearchProtocolOptions アドインの 1 つ以上のアドインを作成します。

  1. データ ストアのマルチスレッド プロトコル ハンドラーを作成して登録します。

    • ISearchProtocol - このインターフェイスはプロトコルにアクセスし、URL を IUrlAccessor にマップします。
    • IUrlAccessor - これは、コンテンツ ソースからアイテムにアクセスし、コンテンツを適切なフィルターにバインドするために使用されるメイン インターフェイスです。
    • IProtocolHandlerSite - このインターフェイスは、追加のフィルターを要求および読み込むのに使用されます。
    • IFilter - このインターフェイスは、フォルダー内の各項目の URL を処理の値プロパティとして返します。

    Note

    非階層データ ストアから検索結果を返すために必要な最小アドイン機能は、ISearchProtocol インターフェイスと IUrlAccessor インターフェイスの実装です。

     

  2. ISearchProtocolOptions インターフェイスを実装して、定義済みのスタート ページなどのカスタマイズされたプロトコル ハンドラー オプションを含めます。

    • ISearchProtocolOptions - このインターフェイスは、処理するプロトコル ハンドラーの既定の URL を定義し、プロトコル ハンドラーの要件を決定し、特定のシステムで要件が満たされているかどうかを判断します。
  3. 次のインターフェイスを実装して、コンテキスト メニューやファイル固有のアイコンなどのユーザー インターフェイス要素を含むようにシェルを拡張します。

    • IShellFolder - フォルダーの管理に使用されるこのインターフェイスは、新しいストア内の URL に IContextMenu インターフェイスと IExtractIcon インターフェイスを提供するために必要です。
    • IPersistFolder - このインターフェイスは、シェル フォルダー オブジェクトに自身を初期化するように指示するために必要です。
    • IPersist - このインターフェイスは、システムに永続的に格納できるオブジェクトのクラス識別子 (CLSID) を提供します。
    • IContextMenu - このインターフェイスは、URL によって指される項目の右クリック コンテキスト メニューを定義します。
    • IExtractIcon - このインターフェイスは、URL によって指される項目に表示するアイコンを定義します。
  4. インデクサーにデータ ストアへの変更を通知するメカニズムを実装します。

    • ISearchItemsChangedSink - このインターフェイスを使用すると、プロトコル ハンドラーは、データ ストアに対する変更のインデックスを通知できます。 これにより、インデクサーが増分インデックスのストア全体をクロールしないようにすることで、パフォーマンスが向上します。

リファレンス

WDS のプロトコル ハンドラーの実装

シェル拡張機能を使用したアイコン、プレビュー、コンテキスト メニューの追加

変更のインデックスへの通知

プロトコル ハンドラーのインストールと登録