Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Search Windows 7联合搜索-如何使其向我的.net程序集发送搜索请求_Search_Shell_Windows 7_Local Database_Federated - Fatal编程技术网

Search Windows 7联合搜索-如何使其向我的.net程序集发送搜索请求

Search Windows 7联合搜索-如何使其向我的.net程序集发送搜索请求,search,shell,windows-7,local-database,federated,Search,Shell,Windows 7,Local Database,Federated,我试图通过本地.net程序集的联合搜索功能在windows 7资源管理器中显示搜索结果。(不是来自web服务) 我找到了各种教程,但都是针对web服务的。早些时候,我认为这是不可能的,但后来,我遇到了StickyNotes联邦搜索连接器。.OSDX文件的内容包括: <?xml version="1.0" encoding="UTF-8"?> <searchConnectorDescription xmlns="http://schemas.microsoft.com/windo

我试图通过本地.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>

创建简短的手写或文本注释。
真的
真的
{982725EE-6F47-479E-B447-812BFA7D2E8F}
粘贴说明:/{S-1-5-21-3431700657-2522803235-1547684158-1000}/notes
mbaaafcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
这意味着可以将搜索查询转发到本地数据存储/dll/exe

我想使用我的.net应用程序以相同/类似的方式提供搜索结果。我从哪里开始

见:


我的目标是使文档库数据库(sqlite)可通过windows资源管理器进行搜索,并在资源管理器中列出数据库中的文件及其元数据(文件存储在本地)。

此项目似乎在C#中实现了这一点:


该项目使用IContentEnumerator、IFilter和IUrlAccessor实现ISearch协议。所有内容都从ContentEnumerator类的实现中传播。

MSDN上的信息已更新。

它现在列出:

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

hwnd[in]

类型:HWND
调用方的窗口句柄

pszQuery[in]

类型:LPCWSTR
用户输入的查询。此参数等效于OpenSearch{searchTerms}参数,可能为空

dwStartIndex[英寸]

类型:DWORD
请求的第一个结果的索引。相当于OpenSearch{startIndex}参数。见下文备注

dwCount[英寸]

类型:DWORD
请求的结果数。相当于OpenSearch{count}参数

里德[英寸]

类型:refid
被请求接口的IID。典型的IID_是流

ppv[输出]

类型:void** 由RIID指定类型的接口指针,指向包含Atom或RSS格式结果的对象

至少我们知道有效的riid是
IID\u IStream


这方面的信息如下:

我想我需要的是实现IOpenSearchSource接口。我不确定如何继续,因为信息太少。进一步的分析表明,下面的标签是最重要的。我如何定义它,使其指向我的应用程序(它将公开IOpenSearchSource接口theu COM interop)