IUrlAccessor Interface

Provides methods for processing an individual item in a content source whose URL is provided by the Enterprise Search crawler to the Filter Daemon.

Extends

The IUrlAccessor interface extends the IUnknown interface.

IUrlAccessor Methods

Name Description

BindToFilter Method

Binds to the appropriate filter for the item and returns a pointer to it.

BindToStream Method

Binds the item being processed to a data stream and returns a pointer for that stream to the Filter Daemon.

GetCLSID Method

Gets the CLSID of a document type.

GetDocFormat Method

Gets the document format represented as a Multipurpose Internet Mail Extensions (MIME) string.

GetFileName Method

Gets the current item's file name, with the full path in Universal Naming Convention (UNC) format.

GetLastModified Method

Gets the time stamp of the last file modification.

GetRedirectedURL Method

Gets the redirected URL for the current item.

GetSecurityDescriptor Method

Gets the security descriptor for the current item.

GetSize Method

Gets the size of the content item designated by the URL.

IsDirectory Method

Determines if the item URL points to a directory.

Remarks

Enterprise Search in Microsoft Office SharePoint Server 2007 does not support protocol handlers that implement the following methods of the IUrlAccessor interface:

  • AddRequestParameter

  • GetHost

  • GetSecurityProvider

One of the following methods must be implemented for each URL:

If there is a binary stream associated with the URL that must be parsed by one of the standard filters, such as text or html, BindToStream is usually implemented. Otherwise, the protocol handler must implement BindToFilter with an IFilter implemented directly in the UrlAccessor object. A UrlAccessor object can also provide both an IFilter and an IStream for the URL.

Example

interface IUrlAccessor: IUnknown
{
      …
    HRESULT GetDocFormat([out, length_is(*pdwLength), size_is(dwSize)] WCHAR wszDocFormat[],
                            [in] DWORD dwSize,
                            [out] DWORD *pdwLength);

    HRESULT GetLastModified([out] FILETIME *pftLastModified);

    HRESULT GetSecurityDescriptor([out, size_is(dwSize)] BYTE *pSD,
                                    [in] DWORD dwSize,
                                    [out] DWORD *pdwLength);

      …
    HRESULT BindToStream([out] IStream **ppStream);
    HRESULT BindToFilter([out] IFilter **ppFilter);
};

See Also

Concepts

Protocol Handler Reference
Protocol Handler Interfaces
ISearchProtocol Interface
Enterprise Search Protocol Handlers

Other Resources

IUnknown Interface