【问题标题】:Are persistent handlers deprecated for search?是否不推荐使用持久性处理程序进行搜索?
【发布时间】:2017-07-25 16:41:47
【问题描述】:

我对 Windows 中用于搜索的持久处理程序的状态感到非常困惑。一方面,主题上的 MSDN documentation 在页面顶部暗示它们在 Windows 8 中不可用:

注意索引服务从 Windows XP 开始不再受支持,而是 自 Windows 8 起无法使用。相反,请使用 Windows Search for 用于服务器端的客户端搜索和 Microsoft Search Server Express 搜索。

另一方面,我有一个应用程序,我正在查看它的代码,它仍然通过注册表查找文件扩展名的持久处理程序,加载 DLL,并通过IFilter 接口获取信息。更重要的是,在 Windows Server 2012(相当于 Windows 8 的服务器)中,HKEY_LOCAL_MACHINE\Software\Classes\.docx\CLSID\{PersistentHandlerGUID}\PersistentAddinsRegistered 形式的注册表项仍然存在,并且仍然设置了指向持久处理程序的值。那么有什么关系呢?它们被弃用了吗?它们在 Windows 8 中不可用只是一个谎言吗?

【问题讨论】:

    标签: windows winapi search


    【解决方案1】:

    不,它们没有被弃用,但它们已重命名为“过滤器处理程序”。当 Windows(桌面)搜索只是一个独立的附加组件时,它还使用大多数机器上存在的 IFilter 接口。 Windows 搜索现在是 Windows 的一部分,并且已经解除了索引服务作为系统范围的“从文件中提取文本”索引器的职责。

    MSDN Windows Search 部分下的 PersistentHandlerGUID 注册文档位于here。

    【讨论】:

    • 有趣的是,他们似乎已将它们完全重命名为“过滤器处理程序”,因此在 Google 中搜索“持久处理程序”不会导致该文档,即使它们仍然具有“PersistentHandler” " 注册表中的键。
    猜你喜欢
    • 2016-05-22
    • 2011-02-06
    • 1970-01-01
    • 2020-10-12
    • 2015-11-27
    • 1970-01-01
    • 1970-01-01
    • 2019-11-09
    • 2014-12-20
    相关资源
    最近更新 更多