IConditionFactory Interface

Provides methods for creating or resolving a condition tree that was obtained by parsing a query string.

IConditionFactory Members

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).
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.


The StructuredQuerySample code sample, available on Code Gallery and the Windows 7 SDK, demonstrates how to read lines from the console, parse them using the system schema, and display the resulting condition trees.

Interface Information

Inherits from IUnknown
Header and IDL files structuredquery.h, structuredquery.idl
Minimum operating systems Windows XP Service Pack 2 (SP2) with Windows Desktop Search (WDS) 3.0, Windows Server 2003 Service Pack 1 (SP1) with Windows Desktop Search (WDS) 3.0, Windows Vista

See Also

CONDITION_TYPE, CONDITION_OPERATION, IConditionFactory2, ICondition, ICondition2