Com IFilter未由Windows索引服务运行

Com IFilter未由Windows索引服务运行,com,ifilter,Com,Ifilter,操作系统:Win8.1x86 我正在尝试开发一个专用文件格式的IFilter。IPersistStream接口在过滤器中实现(尽管没有工具测试此接口…)。DLL经过IFilter测试套件中的所有测试(ifilttst、filtdump、filtreg;ifilttst发出的属性/值正确),它安装在c:\windows\system32中,但windows索引服务使用的SearchFilterHost.exe未正确运行它。没有索引 我使用进程监视器(procmon.exe)查看SearchFilt

操作系统:Win8.1x86

我正在尝试开发一个专用文件格式的IFilter。IPersistStream接口在过滤器中实现(尽管没有工具测试此接口…)。DLL经过IFilter测试套件中的所有测试(ifilttst、filtdump、filtreg;ifilttst发出的属性/值正确),它安装在c:\windows\system32中,但windows索引服务使用的SearchFilterHost.exe未正确运行它。没有索引

我使用进程监视器(procmon.exe)查看SearchFilterHost何时使用IFilter。在对磁盘重新编制索引期间,或者当IFilter处理的文件名发生更改时,SearchFilterHost将加载IFilter的映像,但不会发生任何其他情况

Dependency Walker发现了丢失的DLL(有些在c:\windows\system32中找到)(IEHIMS.DLL、API-MS-WIN-CORExxx.DLL等),但我怀疑(我可能错了)这会有很大的不同,因为ifilttst运行正常

我束手无策。有人能帮忙吗


谢谢

您的过滤器是32位还是64位?那么你的操作系统呢?最好的办法是将日志记录添加到每个方法以及
QueryInterface()
,这样你就可以知道请求了哪些接口(以及你是否可以提供这些接口)以及使用什么参数调用了哪些方法(以及你的代码是否正确地处理了这些问题)。你找到解决方案了吗?如果是,请将其作为答案发布。