Implementing ISearchProtocol

The ISearchProtocol interface provides methods for invoking, initializing, and managing UrlAccessor objects. The Filter Daemon uses the ISearchProtocol methods to process URLs from the search component.

After the Filter Daemon cocreates the protocol handler, it calls the Init method to perform any initialization the protocol handler needs. The parameter passed to the protocol handler can be cached during initialization. The Filter Daemon may unexpectedly terminate before calling the ShutDown method, so the before starting the current instance of the protocol handler, you should perform cleanup of any persistent information, such as temporary files and registry entries, used by the protocol handler.

The CreateAccessor method is called on the protocol handler to create and initialize the IUrlAccessor interface that is used to process items in the content source. Protocol handlers that perform incremental updates should return PRTH_S_NOT_MODIFIED in the CreateAccessor method to flag items that have not been modified since the last incremental crawl. This does not apply to container items, such as folders.

When you implement the ISearchProtocol interface, you must ensure that the protocol handler can handle up to 32 simultaneous instances of IUrlAccessor.

Implementing IUrlAccessor