我想扩展Windows桌面搜索,以包含自定义数据存储的结果(就像Outlook的工作方式)。这意味着,当有人在Vista或Windows 7的“开始”菜单中进行搜索时,我希望我的结果显示在“我的自定义类别”中,其中每个结果都是我的自定义数据存储中的单个条目。
我已经通过MSDN文档进行了大量阅读,感觉它们不完整。我还在Windows 7 SDK和Windows Search 3x SDK中使用了大量示例。我希望Windows Search SDK中的RegSearch示例(这是一个示例协议处理程序实现)会很有用,但是,它似乎不起作用。我可以构建它并将其注册,但搜索服务会返回以下错误(来自事件查看器):
Log Name: Application
Source: Microsoft-Windows-Search
Event ID: 3036
Task Category: Gatherer
Level: Warning
Description:
The content source <reg://<USER SID REMOVED>/> cannot be accessed.
Context: Application, SystemIndex Catalog
Details:
The specified address was excluded from the index. The site path rules may have to be modified to include this address. (HRESULT : 0x80040d07) (0x80040d07)
(注意:我在发布时删除了SID,但日志中包含了它)
其次是:
Log Name: Application
Source: Microsoft-Windows-Search
Event ID: 3023
Task Category: Gatherer
Level: Warning
Description:
The update cannot be started because all of the content sources were excluded by site path rules, or removed from the index configuration.
Context: Application, SystemIndex Catalog
Details:
(HRESULT : 0x1) (0x00000001)
然后:
Log Name: Application
Source: Microsoft-Windows-Search
Event ID: 3083
Task Category: Gatherer
Level: Error
Description:
The protocol handler File cannot be loaded. Error description: (HRESULT : 0x800700c1).
最后,重复第一个错误。
有没有人让这个样本有效?协议处理程序是否是我正在努力实现的正确方法?
非常感谢任何帮助!
答案 0 :(得分:0)
下载Windows SDK http://msdn.microsoft.com/en-us/windows/bb980924.aspx,你会发现一些非常好的代码示例 - 我特别发现有用的搜索注册表。
请注意,搜索集成适用于Vista及更高版本的Windows。从理论上讲,XP也得到了支持,但这显然是事后的想法。