共用方式為


Debugging IFilters with WDS 3.0 and Windows Vista.

With the public release of Vista a week back, soon developers will be wondering how to write and debug IFilters in the vista environment. Here's a quick and easy way, in addition to the one stated by Marco under Chronicles of an IFilter development - inception to deployment.:

 1. Disable back-off (this prevents the indexer to stop when Windows events are generated):

HKLM\Software\Microsoft\Windows Search\Gathering Manager:DisableBackOff = 1

2. Disable filter host termination:

HKLM\Software\Microsoft\Windows Search\Gathering Manager:DebugFilters = 1

3. Restart the WSearch service.

4. Attach a debugger to SearchFilterHost.exe.

5. Set break points in your IFilter dll.

6. Set symbols for your IFilter.

7. Touch the file of interest by opening it and modifying it slightly.

8. Wait for Break Point to hit.

9. Start debugging.

Note that the FilterHost process is the same in vista and WDS.

Comments

  • Anonymous
    November 13, 2007
    Another interesting question is how to exercise the IPersistStream interface. As far as I understood an IFilter can only work under Vista if it supports IPersistStream. But the filtdump and ifilttst tools only use IPersistFile, or did I overlook something in the documentation? Is it necessary to write a special  test driver to exercise the IPersistStream interface? Regards Stephan

  • Anonymous
    November 14, 2007
    Stephan, You will need to use LRtest, see http://support.microsoft.com/kb/890613 for usage. Also feel free to pick this one up from the test tools installed with our DWG iFilter; www.dwgifilter.com Good Luck, Marco van Schagen / CAD & Company / www.dwgifilter.com / ifilter@cadcompany.nl

  • Anonymous
    December 11, 2007
    Hi, I have troble setting the required registry keys (VISTA). I can't change permissions for those keys and access is denied. It doesn't matter if UAC is on or off. Any idea? Thorsten

  • Anonymous
    December 14, 2007
    Thorsten, Use a link to the article bellow. The answer is Windows Resource Protection: http://www.tjitjing.com/blog/2007/02/regedit-cannot-create-value-error.html

  • Anonymous
    December 18, 2007
    Hi Vladimir, taking ownership of the registry key was really the right hint! Thanks!

  • Anonymous
    March 31, 2010
    Deb, This page is great piece of information. Thanks