Windows Search

Overview of the Windows Search technology.

To develop Windows Search, you need these headers:

For programming guidance for this technology, see:

Enumerations

Title Description
AUTH_TYPE Describes authentication types for content access.
CASE_REQUIREMENT Specifies the case requirements of keywords, if any, for a query.
CatalogPausedReason Used by ISearchCatalogManager::GetCatalogStatus to determine the reason the catalog is paused.
CatalogStatus Used by ISearchCatalogManager::GetCatalogStatus to determine the current state of the catalog.
CLUSION_REASON These flags enumerate reasons why URLs are included or excluded from the current crawl scope.
CONDITION_CREATION_OPTIONS Provides a set of flags to be used with the following interfaces to indicate the type of condition tree node:_ICondition, ICondition2, IConditionFactory, IConditionFactory2, and IConditionGenerator.
CONDITION_OPERATION Provides a set of flags to be used with following methods to indicate the operation in ICondition::GetComparisonInfo, ICondition2::GetLeafConditionInfo, IConditionFactory::MakeLeaf, IConditionFactory2::CreateBooleanLeaf, IConditionFactory2::CreateIntegerLeaf, IConditionFactory2::MakeLeaf, IConditionFactory2::CreateStringLeaf, and IConditionGenerator::GenerateForLeaf.
CONDITION_TYPE Provides a set of flags to be used with the following methods to indicate the type of condition tree node:_ICondition::GetConditionType, IConditionFactory::MakeAndOr, IConditionFactory2::CreateCompoundFromArray, and IConditionFactory2::CreateCompoundFromObjectArray.
FOLLOW_FLAGS Used to help define behavior when crawling or indexing. These flags are used by the ISearchCrawlScopeManager::AddDefaultScopeRule and ISearchCrawlScopeManager::AddUserScopeRule methods.
INTERVAL_LIMIT_KIND These values are returned by IInterval::GetLimits as pairs to specify a range with an upper and lower limit.
NAMED_ENTITY_CERTAINTY Defines the level of certainty for a named entity.
PRIORITY_LEVEL Used by the IRowsetPrioritization interface to sets or retrieve the current indexer prioritization level for the scope specified by a query.
PROXY_ACCESS Used by ISearchManager to state proxy use.
QUERY_PARSER_MANAGER_OPTION Used by IQueryParserManager::SetOption to set parsing options. This can be used to specify schemas and localization options.
ROWSETEVENT_ITEMSTATE Describes whether an item that matches the search criteria of a rowset is currently in that rowset.
ROWSETEVENT_TYPE Describes the type of change to the rowset's data.
SEARCH_INDEXING_PHASE Specifies the status of the current search indexing phase.
SEARCH_KIND_OF_CHANGE Indicates the kind of change affecting an item when a source sink notifies a client that an item has been changed.
SEARCH_NOTIFICATION_PRIORITY Indicates the priority of processing an item that has changed.
SEARCH_QUERY_SYNTAX Specifies the type of query syntax.
SEARCH_TERM_EXPANSION Indicates wildcard options on search terms. Used by ISearchQueryHelper::get_QueryTermExpansion and ISearchQueryHelper::put_QueryTermExpansion methods.
STRUCTURED_QUERY_MULTIOPTION A set of flags used by IQueryParser::SetMultiOption to indicate individual options.
STRUCTURED_QUERY_PARSE_ERROR A set of flags to be used with IQuerySolution::GetErrors to indentify parsing error(s). Each parsing error indicates that one or more tokens were ignored when parsing a query string.
STRUCTURED_QUERY_RESOLVE_OPTION Options for resolving data into a condition tree.
STRUCTURED_QUERY_SINGLE_OPTION A set of flags to be used with IQueryParser::SetOption and IQueryParser::GetOption to indicate individual options.
STRUCTURED_QUERY_SYNTAX Specifies the type of query syntax.
tagPRIORITIZE_FLAGS Used by PrioritizeMatchingURLs to specify how to process items the indexer has previously failed to index.

Functions

Title Description
Add Adds a single (potential) named entity to this INamedEntityCollector collection, as identified in a tokenized span of the input string being parsed.
AddDefaultScopeRule Adds a URL as the default scope for this rule.
AddHierarchicalScope Adds a hierarchical scope to the search engine.
AddRequestParameter Requests a property-value set.
AddRoot Adds a new search root to the search engine.
AddUserScopeRule Adds a new crawl scope rule when the user creates a new rule or adds a URL to be indexed.
Base Retrieves the parent entity of this entity.
BindToFilter Binds the item being processed to the appropriate IFilterand retrieves a pointer to the IFilter.
BindToStream Binds the item being processed to an IStream interface [Structured Storage] data stream and retrieves a pointer to that stream.
BreakText Parses text to identify words and phrases and provides the results to the IWordSink and IPhraseSink objects.
Clone Creates a copy of the IEnumSearchRoots object with the same contents and state as the current one.
Clone Creates a copy of this IEnumSearchScopeRules object with the same contents and state as the current one.
Clone Creates a deep copy of this ICondition object.
CloseAccessor Closes a previously created IUrlAccessor object.
ComposePhrase Not supported.
CreateAccessor Creates and initializes an IUrlAccessor object.
CreateAccessorEx Creates and initializes an IUrlAccessor object. This method has the same basic functionality as the ISearchProtocol::CreateAccessor method, but it includes an additional pUserData parameter to supply additional data to the protocol handler.
CreateBooleanLeaf Creates a search condition that is either TRUE or FALSE.
CreateCatalog Creates a new custom catalog in the Windows Search indexer and returns a reference to it.
CreateCompoundFromArray Creates a leaf condition node that is a conjunction (AND) or a disjunction (OR) from an array of condition nodes. The returned object supports ICondition and ICondition2.
CreateCompoundFromObjectArray Creates a leaf condition node that is a conjunction (AND) or a disjunction (OR) of a collection of subconditions. The returned object supports ICondition and ICondition2.
CreateICommand Creates an ICommand.
CreateIntegerLeaf Creates a leaf condition node for an integer value. The returned object supports ICondition and ICondition2.
CreateLeaf Creates a leaf condition node for any value. The returned object supports ICondition and ICondition2.
CreateLoadedParser Creates a new instance of a IQueryParser interface implementation. This instance of the query parser is loaded with the schema for the specified catalog and is localized to a specified language. All other settings are initialized to default settings.
CreateNegation Creates a condition node that is a logical negation (NOT) of another condition (a subnode of this node).
CreateStringLeaf Creates a leaf condition node for a string value that represents a comparison of property value and constant value. The returned object supports ICondition and ICondition2.
CreateTrueFalse Creates a search condition that is either TRUE or FALSE.
DefaultPhrase This method attempts to produce a phrase that, when recognized by this instance of IConditionGenerator, represents the type and value pair for an entity, relationship, or named entity.
DefaultPhrase Retrieves a default phrase to use for this entity in restatements.
DefaultPhrase Retrieves a default phrase to use for this named entity in restatements.
DefaultPhrase Retrieves the default phrase to use for this relationship in restatements.
DeleteCatalog Deletes an existing catalog and all associated indexed data from the Windows Search indexer.
Destination Retrieves the destination IEntity object of the relationship. The destination of a relationshipo corresponds to the type of a property.
Entities Retrieves an enumeration of IEntity objects with one entry for each entity in the loaded schema.
EnumerateExcludedExtensions Not implemented.
EnumerateRoots Returns an enumeration of all the roots of which this instance of the ISearchCrawlScopeManager is aware.
EnumerateScopeRules Returns an enumeration of all the scope rules of which this instance of the ISearchCrawlScopeManager interface is aware.
EnumPropInfo Gets the i-th entry from the list of properties.
GenerateForLeaf Generates a special query expression for what would otherwise become a leaf query expression.
GenerateSQLFromUserQuery Generates a Structured Query Language (SQL) query based on a client-supplied query string expressed in either Advanced Query Syntax (AQS) or Natural Query Syntax (NQS).
GenerateWordForms Generates alternative forms for a word and puts these forms in the IWordFormSink object.
get_AuthenticationType Retrieves the type of authentication needed to access the URLs under this this search root.
get_BypassList Gets a proxy bypass list from the indexer. This list is used to determine which items or URLs are local and do not need to go through the proxy server. This list is set by calling ISearchManager::SetProxy.
get_ConnectionString Returns the OLE DB connection string for the Window Search index.
get_ConnectTimeout Gets the connection time-out value for connecting to a store for indexing.
get_DataTimeout Gets the data time-out value, in seconds, for data transactions between the indexer and the search filter host. This value is contained in a TIMEOUT_INFO structure.
get_DiacriticSensitivity Gets a value that indicates whether the catalog is sensitive to diacritics. A diacritic is a mark added to a letter to indicate a special phonetic value or pronunciation.
get_EnumerationDepth Gets the enumeration depth for this search root.
get_FollowDirectories Gets a BOOL value that indicates whether the search engine follows subdirectories and hierarchical scopes.
get_FollowFlags Not supported.This method returns E_InvalidArg when called.
get_HostDepth Gets a value that indicates how far into a host tree to crawl when indexing.
get_IsDefault Gets a value that identifies whether this is a default rule.
get_IsHierarchical Gets a value that indicates whether the search is rooted on a hierarchical tree structure.
get_IsIncluded Gets a value identifying whether this rule is an inclusion rule. Inclusion rules identify scopes that should be included in the crawl scope.
get_LocalBypass Retrieves a value that determines whether the proxy server should be bypassed to find the item or URL.
get_Name Gets the name of the current catalog.
get_Password Not implemented.
get_PatternOrURL Gets the pattern or URL for the rule. The scope rules determine what URLs or paths to include or exclude.
get_PortNumber Retrieves the port number used to communicate with the proxy server. This port number is stored in the indexer and is set by the ISearchManager::SetProxy method.
get_ProvidesNotifications Gets a value that indicates whether the search engine is notified (by protocol handlers or other applications) about changes to the URLs under the search root.
get_ProxyName Retrieves the proxy name to be used by the protocol handler.
get_QueryContentLocale Gets the language code identifier (LCID) for the query.
get_QueryContentProperties Gets the list of properties included in the query when search terms do not explicitly specify a property.
get_QueryKeywordLocale Gets the language code identifier (LCID) for the locale to use when parsing Advanced Query Syntax (AQS) keywords.
get_QueryMaxResults Gets the maximum number of results to be returned by the query.
get_QuerySelectColumns Gets the columns (or properties) requested in the SELECT statement of the query.
get_QuerySorting Gets the sort order for the query result set.
get_QuerySyntax Gets the syntax of the query.
get_QueryTermExpansion Gets the value that specifies how query terms are to be expanded.
get_QueryWhereRestrictions Gets the restrictions appended to a query in WHERE clauses.
get_RootURL Gets the URL of the starting point for this search root.
get_Schedule Not implemented.
get_UseNotificationsOnly Gets a value that indicates whether this search root should be indexed only by notification and not crawled.
get_UseProxy Retrieves the proxy server to be used.
get_User Not implemented.
get_UserAgent Retrieves the user agent string.
GetCatalog Retrieves a catalog by name and creates a new ISearchCatalogManager object for that catalog.
GetCatalogStatus Gets the status of the catalog.
GetCLSID Gets the CLSID for the document type of the URL item being processed.
GetCodePage Gets the code page for properties of the URL item.
GetColumnMapper Retrieves a column mapper object.
GetComparisonInfo Retrieves the property name, operation, and value from a leaf search condition node.
GetConditionType Retrieves the condition type for this search condition node, identifying it as a logical AND, OR, or NOT, or as a leaf node.
GetCrawlScopeManager Gets an ISearchCrawlScopeManager interface for this search catalog.
GetData Retrieves the PROPVARIANT and input string that represents a chunk of data.
GetData Retrieves one key/value pair from the metadata of an IEntity, IRelationship, or ISchemaProvider object.
GetDefaultCatalog Determines the default catalog for the system.
GetDiacriticSensitivity Gets the sensitivity of an implemented ISearchLanguageSupport interface to diacritics. A diacritic is an accent mark added to a letter to indicate a special phonetic value or pronunciation.
GetDisplayUrl Gets the user-friendly path for the URL item.
GetDocFormat Gets the document format, represented as a Multipurpose Internet Mail Extensions (MIME) string.
GetEntity Retrieves an entity by name from the loaded schema.
GetErrors Identifies parts of the input string that the parser did not recognize or did not use when constructing the IQuerySolution condition tree.
GetFileName Retrieves the file name of the item, which the filter host uses for indexing. If the item does not exist in a file system and the IUrlAccessor::BindToStream method is implemented, this method returns the shell's System.ParsingPath property for the item.
GetFilter Retrieves the appropriate IFilteraccording to the supplied parameters.
GetHost Gets the host name for the content source, if applicable.
GetImpersonationSidBlobs Retrieves an array of user security identifiers (SIDs) for a specified URL. This method enables protocol handlers to specify which users can access the file and the search protocol host to impersonate a user in order to index the file.
GetIndexerVersion Retrieves the version of the current indexer in two chunks:_the major version signifier and the minor version signifier.
GetIndexerVersionStr Retrieves the version of the current indexer as a single string.
GetInputTerms For a leaf node, ICondition::GetInputTerms retrieves information about what parts (or ranges) of the input string produced the property, the operation, and the value for the search condition node.
GetItemsChangedSink Gets the change notification sink interface.
GetLastModified Gets the time stamp identifying when the URL was last modified.
GetLeafConditionInfo Retrieves the property name, operation, and value from a leaf search condition node.
GetLexicalData Reports the query string, how it was tokenized, and what language code identifier (LCID) and word breaker were used to parse it.
GetLicenseToUse Gets the license information for this IStemmer implementation.
GetLicenseToUse Gets a pointer to the license information for this implementation of the IWordBreaker interface.
GetLimits Specifies the lower and upper limits of an interval, each of which may be infinite or a specific value.
GetLocale Retrieves the property name, operation, and value from a leaf search condition node.
GetNamedEntity Retrieves an INamedEntity object based on an entity name.
GetOplockEventHandle Gets the event handle of the opportunistic lock (OpLock). The event object is set to the signaled state when the OpLock is broken, enabling the indexer to stop all operations on the underlying IUrlAccessor object.
GetOption Retrieves a specified simple option value for this query parser.
GetParameter Not implemented.
GetParameter Not supported.This method returns E_INVALIDARG when called.
GetParentScopeVersionId Gets the version ID of the parent inclusion URL.
GetPersistentItemsChangedSink Gets the change notification event sink interface for a client. This method is used by client applications and protocol handlers to notify the indexer of changes.
GetPropInfoFromId Gets the property information from the DBID.
GetPropInfoFromName Gets property information from a name. This will return a DBID pointer in parameter ppPropId which now has to be freed by the caller and not by the callee (this class).
GetQuery Retrieves the condition tree and the semantic type of the solution.
GetQueryHelper Gets the ISearchQueryHelper interface for the current catalog.
GetRedirectedURL Gets the redirected URL for the current item.
GetRelationship Retrieves the IRelationship object for this entity as requested by name.
GetSchemaProvider Retrieves a schema provider for browsing the currently loaded schema.
GetScopePriority Retrieves the current indexer prioritization level for the scope specified by this query.
GetScopeStatistics Gets information describing the scope specified by this query.
GetSecurityDescriptor Gets the security descriptor for the URL item. Security is applied at query time, so this descriptor identifies security for read access.
GetSecurityProvider Gets the security provider for the URL.
GetSize Gets the size of the content designated by the URL.
GetSubConditions Retrieves a collection of the subconditions of the search condition node and the IID of the interface for enumerating the collection.
GetToken Retrieves the position, length, and any overriding string of an individual token.
GetURLIndexingState Not implemented.
GetValue Retrieves the value of this named entity as a string.
GetValueNormalization Retrieves the character-normalized value of the search condition node.
GetValueType Retrieves the semantic type of the value of the search condition node.
GetVersion Causes file mapping to be mapped into the address space of the calling process, and informs clients if the state of the Crawl Scope Manager (CSM) has changed.
HasChildScopeRule Identifies whether a given URL has a child rule in scope.
HasParentScopeRule Identifies whether a given URL has a parent rule in scope.
IncludedInCrawlScope Retrieves an indicator of whether the specified URL is included in the crawl scope.
IncludedInCrawlScopeEx Retrieves an indicator of whether and why the specified URL is included in the crawl scope.
Init Initializes the stemmer.
Init Initializes the IWordBreaker implementation and indicates the mode in which the component operates.
Init Initializes a protocol handler.
Initialize Resets all states of the interface to default values and retrieves any necessary information from the schema.
InitializeOptions Sets the flags for Natural Query Syntax (NQS) and automatic wildcard characters for the specified query parser.
IsDirectory Ascertains whether the item URL points to a directory.
IsDocument Ascertains whether an item URL is a document or directory.
IsMapUpToDate Determines if the map is up to date.
IsOplockBroken Checks the status of the opportunistic lock (OpLock) on the item being indexed.
IsOplockValid Checks the status of the opportunistic lock (OpLock) on the item being indexed.
IsPrefixNormalized Determines whether the query token is a prefix of the document token, disregarding case, width, and (optionally) diacritics.
IsReal Reports whether a relationship is real.
LoadIFilter Retrieves and loads the most appropriate filter that is mapped to a Shell data source.
LoadIFilterFromStorage Do not use:_this method is not implemented.
LoadIFilterFromStream Do not use:_this method is not implemented.
LoadStemmer Retrieves an interface to the word stemmer registered for the specified language code identifier (LCID).
LoadWordBreaker Retrieves an interface to the word breaker registered for the specified language code identifier (LCID).
Localize Localizes keywords from an input string.
Localize Localizes the currently loaded schema for a specified locale.
LookupAuthoredNamedEntity Finds named entities of a specified type in a tokenized string, and returns the value of the entity and the number of tokens the entity value occupies.
MakeAndOr Creates a condition node that is a logical conjunction (AND) or disjunction (OR) of a collection of subconditions.
MakeLeaf Creates a leaf condition node that represents a comparison of property value and constant value.
MakeNot Creates a condition node that is a logical negation (NOT) of another condition (a subnode of this node).
MetaData Retrieves an enumeration of IMetaData objects for this entity.
MetaData Retrieves an enumeration of IMetaData objects for this relationship.
MetaData Retrieves an enumeration of global IMetaData objects for the loaded schema.
Name Retrieves the name of this entity.
Name Retrieves the name of the relationship.
NamedEntities Retrieves an enumeration of INamedEntity objects, one for each known named entity of this type.
Next Retrieves the specified number of ISearchRoot elements.
Next Retrieves the specified number of ISearchScopeRule elements.
NumberOfItems Gets the number of items in the catalog.
NumberOfItemsToIndex Gets the number of items to be indexed within the catalog.
NumberOfTokens Retrieves the number of tokens in the collection.
OnCatalogStatusChange Called by the search service to notify a client when the status of the catalog changes.
OnChange Not implemented.
OnChangedItem Called by the indexer to notify clients that an item has been modified. This item may have matched some (or all) of the criteria for the client rowset.
OnDeletedItem Called by the indexer to notify clients that an item has been deleted. This item may have matched some (or all) of the search criteria for the client rowset.
OnItemIndexedStatusChange Called by the search service to notify the client when the status of a particular document or item changes.
OnItemsChanged Call this method to notify an indexer to re-index some changed items.
OnItemsChanged Notifies the indexer to index changed items.
OnNewItem Called by the indexer to notify clients of a new item that may match some (or all) of the criteria for the client rowset.
OnRowsetEvent Called by the indexer to notify clients of an event related to the client rowset.
Parse Parses an input string that contains Structured Query keywords and/or contents to produce an IQuerySolution object.
ParsePropertyValue Parses a condition for a specified property.
PrioritizeMatchingURLs Instructs the indexer to give a higher priority to indexing items that have URLs that match a specified pattern. These items will then have a higher priority than other indexing tasks.
put_AuthenticationType Sets the type of authentication required to access the URLs under this search root.
put_ConnectTimeout Sets the connection time-out value in the TIMEOUT_INFO structure, in seconds.
put_DataTimeout Sets the time-out value for data transactions between the indexer and the search filter host. This information is stored in the TIMEOUT_INFO structure and is measured in seconds.
put_DiacriticSensitivity Sets a value that determines whether the catalog is sensitive to diacritics. A diacritic is a mark added to a letter to indicate a special phonetic value or pronunciation.
put_EnumerationDepth Sets the enumeration depth for this search root.
put_FollowDirectories Sets a BOOL value that indicates whether the search engine should follow subdirectories and hierarchical scopes for this search root.
put_HostDepth Sets a value that indicates how far into a host tree to crawl when indexing.
put_IsHierarchical Sets a value that indicates whether the search is rooted on a hierarchical tree structure.
put_Password Not implemented.
put_ProvidesNotifications Sets a value that indicates whether the search engine is notified (by protocol handlers or other applications) about changes to the URLs under the search root.
put_QueryContentLocale Sets the language code identifier (LCID) of the query.
put_QueryContentProperties Sets the properties to include in the query if search terms do not explicitly specify properties.
put_QueryKeywordLocale Sets the language code identifier (LCID) for the locale to use when parsing Advanced Query Syntax (AQS) keywords.
put_QueryMaxResults Sets the maximum number of results to be returned by a query.
put_QuerySelectColumns Sets the columns (or properties) requested in the select statement.
put_QuerySorting Sets the sort order for the query result set.
put_QuerySyntax Sets the syntax of the query.
put_QueryTermExpansion Sets a value that specifies how query terms are to be expanded.
put_QueryWhereRestrictions Sets the restrictions appended to a query in WHERE clauses.
put_RootURL Sets the URL of the current search root.
put_Schedule Not implemented.
put_UseNotificationsOnly Sets a value that indicates whether this search root should be indexed only by notification and not crawled.
put_User Not implemented.
put_UserAgent Sets the user agent string that a user agent passes to website and services to identify itself.
PutPhrase Puts a query-time phrase in the IPhraseSink object.
PutSmallPhrase Puts a small query-time phrase in the IPhraseSink object for WordBreaker.
RecognizeNamedEntities Identifies named entities in an input string, and creates a collection containing them.
RegisterViewForNotification Not implemented.
Reindex Re-indexes all URLs in the catalog.
ReindexMatchingURLs Reindexes all items that match the provided pattern. This method was not implemented prior to Windows 7.
ReindexSearchRoot Re-indexes all URLs from a specified root.
Relationships Retrieves an enumeration of IRelationship objects, one for each relationship this entity has.
RemoveDefaultScopeRule Removes a default scope rule from the search engine.
RemoveRoot Removes a search root from the search engine.
RemoveScopeRule Removes a scope rule from the search engine.
Reset Moves the internal counter to the beginning of the list so a subsequent call to IEnumSearchRoots::Next retrieves from the beginning.
Reset Moves the internal counter to the beginning of the list so that a subsequent call to IEnumSearchScopeRules::Next retrieves from the beginning.
Reset Resets the underlying catalog by rebuilding the databases and performing a full indexing.
Resolve Performs a variety of transformations on a condition tree, including the following:_resolves conditions with relative date/time expressions to conditions with absolute date/time (as a VT_FILETIME); turns other recognized named entities into condition trees with actual values; simplifies condition trees; replaces virtual or compound properties with OR trees of other properties; removes condition trees resulting from queries with property keywords that had no condition applied.
ResolveCondition Performs a variety of transformations on a condition tree, and thereby the resolved condition for evaluation. The returned object supports ICondition and ICondition2.
RestatePropertyValueToString Restates a specified property for a condition as a query string.
RestateToString Restates a condition as a structured query string. If the condition was the result of parsing an original query string, the keywords of that query string are used to a great extent. If not, default keywords are used.
RevertToDefaultScopes Reverts to the default scopes.
RootEntity Retrieves the root entity of the loaded schema.
SaveAll Commits all changes to the search engine.
SaveBinary Saves the loaded schema as a schema binary at a specified path.
SetDiacriticSensitivity Sets a value that indicates whether an implemented ISearchLanguageSupport interface is sensitive to diacritics. A diacritic is an accent mark added to a letter to indicate a special phonetic value or pronunciation.
SetExtensionClusion Not implemented.
SetMultiOption Sets a complex option, such as a specified condition generator, to use when parsing an input string.
SetOption Sets a single option, such as a specified wordbreaker, for parsing an input string.
SetOption Changes a single option in this IQueryParserManager object. For example, this method could change the name of the schema binary to load or the location of localized schema binaries.
SetParameter Sets a name/value parameter for the catalog.
SetParameter Not supported.This method returns E_INVALIDARG when called.
SetProxy Stores information in the indexer that determines how the indexer will work and communicate with a proxy server.
SetScopePriority Sets the current indexer prioritization level for the scope specified by this query.
ShouldIndexItemContent Identifies whether the item's content should be indexed.
ShouldIndexProperty Identifies whether a property should be indexed.
ShutDown Shuts down the protocol handler.
Skip Skips the specified number of elements.
Skip Skips the specified number of elements.
StartedMonitoringScope Permits an index-managed notification source to add itself to a list of "monitored scopes".
StartedMonitoringScope Called by a notifications provider to notify the indexer to monitor changes to items within a specified hierarchical scope.
StoppedMonitoringScope Not implemented.
StoppedMonitoringScope Called by a notifications provider to notify the indexer to stop monitoring changes to items within a specified hierarchical scope.
ThreadIdle Notifies the protocol handler that the filtering thread is idle, so that the protocol handler can clean up any cache it might have built up.
ThreadInit Initializes communication between the protocol handler and the protocol host.
ThreadShutdown Notifies the protocol handler that the thread is being shut down.
UnregisterViewForNotification Not implemented.
URLBeingIndexed Gets the URL that is currently being indexed. If no indexing is currently in process, pszUrl is set to NULL.
VerifyCatalog Validates the catalog location.
WriteProperties Not implemented.

Interfaces

Title Description
IColumnMapper Retrieves property information for file based queries.
IColumnMapperCreator Contains a method to retrieves a column mapper object.
ICondition Provides methods for retrieving information about a search condition.
ICondition2 Extends the functionality of the ICondition interface. ICondition2 provides methods for retrieving information about a search condition.
IConditionFactory Provides methods for creating or resolving a condition tree that was obtained by parsing a query string.
IConditionFactory2 Extends the functionality of IConditionFactory. IConditionFactory2 provides methods for creating or resolving a condition tree that was obtained by parsing a query string.
IConditionGenerator Provides methods for handling named entities and generating special conditions.
IEntity Provides methods for retrieving information about an entity type in the schema.
IEnumSearchRoots Provides methods to enumerate the search roots of a catalog, for example, SystemIndex.
IEnumSearchScopeRules Enumerates scope rules.
IInterval Provides a method to get the limits of an interval.
ILoadFilter Defines methods and properties that are implemented by the FilterRegistration object, which provides methods for loading a filter.
IMetaData Provides a method for retrieving a key/value pair of strings from an IEntity, IRelationship or ISchemaProvider object.
INamedEntity Provides methods to get the value of, or a default phrase for the value of, a named entity.
INamedEntityCollector Provides a method to accumulate named entities as identified by an IConditionGenerator object.
IOpLockStatus Provides methods to check the opportunistic lock that is used by Microsoft Windows Desktop Search (WDS) on items while indexing.
IProtocolHandlerSite Provides methods for a protocol handler's IUrlAccessor object to query the Filter Daemon for the appropriate filter for the URL item.
IQueryParser Provides methods to parse an input string into an IQuerySolution object.
IQueryParserManager Provides methods to create, initialize, and change options for an IQueryParser object.
IQuerySolution Provides methods that retrieve information about the interpretation of a parsed query.
IRelationship Provides methods for retrieving information about a schema property.
IRichChunk Represents a chunk of data as a string and a PROPVARIANT value.
IRowsetEvents Exposes methods for receiving event notifications.
IRowsetPrioritization Sets or retrieves the current indexer prioritization level for the scope specified by this query.
ISchemaLocalizerSupport Provides a method for localizing keywords in a specified string.
ISchemaProvider Provides a schema repository that can be browsed.
ISearchCatalogManager Provides methods to manage a search catalog for purposes such as re-indexing or setting timeouts.
ISearchCatalogManager2 Extends the ISearchCatalogManager interface to manage a search catalog, for purposes such as re-indexing or setting timeouts.
ISearchCrawlScopeManager Provides methods that notify the search engine of containers to crawl and/or watch, and items under those containers to include or exclude when crawling or watching.
ISearchCrawlScopeManager2 Extends the functionality of the ISearchCrawlScopeManager interface.
ISearchItemsChangedSink Provides notifications for changes to indexed items. Also provides notification of the hierarchical scope that is being monitored for changed items.
ISearchLanguageSupport Provides methods for accessing thesaurus information.
ISearchManager Provides methods for controlling the Search service. This interface manages settings and objects that affect the search engine across catalogs.
ISearchManager2 Enabled applications to create and delete custom catalogs in the Windows Search indexer.
ISearchNotifyInlineSite Provides methods the Search service uses to send updates on catalog and index status to notification providers.
ISearchPersistentItemsChangedSink Provides methods for passing change notifications to alert the indexer that items need to be updated.
ISearchProtocol Provides methods for invoking, initializing, and managing IUrlAccessor objects.
ISearchProtocol2 Provides methods for invoking, initializing, and managing IUrlAccessor objects.
ISearchProtocolThreadContext This optional interface enables the protocol handler to perform an action on the thread used for filtering in the protocol host.
ISearchQueryHelper Provides methods for building a query from user input, converting a query to Windows Search SQL, and obtaining a connection string to initialize a connection to the Window Search index.
ISearchRoot Provides methods for manipulating a search root. Changes to property members are applied to any URL that falls under the search root. A URL falls under a search root if it matches the search root URL or is a hierarchical child of that URL.
ISearchScopeRule Provides methods to define scope rules for crawling and indexing.
ISearchViewChangedSink Not implemented.
ISimpleCommandCreator Contains methods for interacting with the file catalog.
IStemmer Provides methods for creating a language-specific stemmer. The stemmer generates inflected forms of a specified word.
ITokenCollection Gets the tokens that result from using a word breaker.
IUrlAccessor Provides methods for processing an individual item in a content source whose URL is provided by the gatherer to the filter host.
IUrlAccessor2 Extends functionality of the IUrlAccessor interface.
IUrlAccessor3 Extends the functionality of the IUrlAccessor2 interface with the IUrlAccessor3::GetImpersonationSidBlobs method to identify user security identifiers (SIDs) for a specified URL.
IUrlAccessor4 Extends the functionality of the IUrlAccessor3 interface with the IUrlAccessor4::ShouldIndexItemContent method that identifies whether the content of the item should be indexed.
IWordBreaker Parses text and identifies individual words and phrases. This interface is a language-specific language resource component. It is used in background processes and must be optimized for both throughput and minimal use of resources.
IWordFormSink Handles the list of alternative word forms that stemmers generate during query time.

Structures

Title Description
AUTHENTICATION_INFO Describes security authentication information for content access.
FILTERED_DATA_SOURCES Specifies parameters for a Shell data source for which a filter is loaded.
HITRANGE Identifies the range of matching data when query search conditions match indexed data.
INCREMENTAL_ACCESS_INFO Contains access information used by an incremental crawl, such as the last access date and modification time.
ITEM_INFO Contains information passed to the IUrlAccessor object about the current item; for example, the application name and catalog name.
ITEMPROP Stores information about properties in the Windows Property System, and is used by the IItemPropertyBag interface.
PROXY_INFO Stores information about a proxy. Used by ISearchProtocol.
SEARCH_COLUMN_PROPERTIES This structure is not implemented.
SEARCH_ITEM_CHANGE Specifies the changes to an indexed item.
SEARCH_ITEM_INDEXING_STATUS Describes the status of a document to be indexed.
SEARCH_ITEM_PERSISTENT_CHANGE Contains information about the kind of change that has occurred in an item to be indexed. This structure is used with the ISearchPersistentItemsChangedSink::OnItemsChanged method to pass information to the indexer about what has changed.
TEXT_SOURCE Contains information about text that the word breaker will process.
TIMEOUT_INFO Stores time-out values for connections and data.