4

ローカルの .net アセンブリから、フェデレーション検索機能を使用して Windows 7 エクスプローラーに検索結果を表示しようとしています。(Web サービスからではありません)

さまざまなチュートリアルを見つけましたが、それらはすべて Web サービス用です。以前は不可能だと思っていましたが、StickyNotes の統合検索コネクタに出会いました。.OSDX ファイルの内容は次のとおりです。

<?xml version="1.0" encoding="UTF-8"?>
<searchConnectorDescription xmlns="http://schemas.microsoft.com/windows/2009/searchConnector">
  <description>Create short handwritten or text notes.</description>
  <isSearchOnlyItem>true</isSearchOnlyItem>
  <includeInStartMenuScope>true</includeInStartMenuScope>
  <templateInfo>
    <folderType>{982725EE-6F47-479E-B447-812BFA7D2E8F}</folderType>
  </templateInfo>
  <simpleLocation>
    <url>StickyNotes://{S-1-5-21-3431700657-2522803235-1547684158-1000}/notes</url>
    <serialized>MBAAAEAFCAAAAAAAADAAAAAAAYUgAAQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAYKAUAwHAykg1PPWtiyRvmVorPeOnkJkAQEATBAdAkGAjBwaAkHAOBwbAQHAlBwcAoDAvAwLAsHATBQLAEDAtAQNA0CAyAQMA0CAzAANAMDAxAwNAADAwAgNAUDA3AQLAIDA1AgMAIDA4AAMAMDAyAwMAUDAtAQMAUDA0AwNAYDA4AANAEDA1AAOA0CAxAAMAADAwAQfA8CAuBwbAQHAlBwcAAAAAAAAAAAAAAA</serialized>
  </simpleLocation>
</searchConnectorDescription>

これは、検索クエリをローカルのデータストア/dll/exe に転送できることを意味します。

.net アプリを使用して、同じ/類似の方法で検索結果を提供したいと考えています。どこから始めればよいですか?

参照: Windows 7 Federated Search Provider Implementer's Guide

私の目的は、ドキュメント ライブラリ データベース (sqlite) を Windows エクスプローラーで検索可能にし、エクスプローラーで DB からファイルとそのメタ データを一覧表示することです (ファイルはローカルに保存されます)。

4

2 に答える 2

2

このプロジェクトは、C# でこれを達成しているようです: http://mossph.codeplex.com/

このプロジェクトは、IContentEnumerator、IFilter、および IUrlAccessor を使用して ISearchProtocol を実装します。すべてが ContentEnumerator クラスの実装から伝搬されます。

于 2012-11-14T18:43:24.693 に答える
1

MSDN の情報が更新されました。
http://msdn.microsoft.com/en-us/library/dd378288%28v=vs.85%29.aspx

次のリストが表示されます。

HRESULT GetResults(
  [in]   HWND hwnd,
  [in]   LPCWSTR pszQuery,
  [in]   DWORD dwStartIndex,
  [in]   DWORD dwCount,
  [in]   REFIID riid,
  [out]  void **ppv
);

パラメーター

hwnd [インチ]

型: HWND
呼び出し元のウィンドウ ハンドル。

pszQuery [入力]

タイプ: LPCWSTR
ユーザーが入力したクエリ。このパラメーターは、OpenSearch {searchTerms} パラメーターと同等であり、空の場合があります。

dwStartIndex [入力]

タイプ: DWORD
リクエストされた最初の結果のインデックス。OpenSearch {startIndex} パラメータに相当します。以下の備考を参照してください。

dwCount [に]

タイプ: DWORD
要求されている結果の数。OpenSearch {count} パラメータに相当します。

リッド [で]

タイプ: REFIID
要求されているインターフェースの IID。通常は IID_IStream です。

pv [アウト]

型: void** Atom または RSS 形式の結果を含むオブジェクトへの、RIID で指定された型のインターフェイス ポインター。

少なくとも、有効なriidがIID_IStream

そのための情報はここにあります: http://msdn.microsoft.com/en-us/library/windows/desktop/aa380034%28v=vs.85%29.aspx

于 2014-05-15T14:15:31.117 に答える