Extending the Index (Windows Search)

You can extend Windows Search to index the contents and properties of new file formats, and data stores using data add-in interfaces. To create Windows Search add-ins, third-party developers must first implement a Shell data store, and then develop a protocol handler so that Windows Search can access the data for indexing. If you have a custom file format, you must develop a filter handler to index file contents, and a property handler for every file type to index properties.

Windows Search currently supports the indexing of over 200 types of items (such as .txt, .html, and .xml file formats) and can work with multiple types of data stores (such as the NTFS file system and Microsoft Outlook). Windows Search uses filter and protocol handler technology similar to SharePoint Server. Hence, if you already have implementations for your file format, you can update the implementations to be initialized with a stream by using IPersistStream so that the filter will work with Windows Search.


Filter handlers, property handlers, and protocol handlers must be written in native code. This is due to potential common language runtime (CLR) versioning issues with the process that multiple add-ins run in.


This section on extending the index with add-ins contains the following topics:

Additional Resources

For related code samples, see Windows Search Code Samples.

Windows Search Development Guide

Managing the Index

Querying the Index Programmatically

Extending Language Resources