CTaskConditionCombiner

The CTaskConditionCombiner class is one of many that SHELL32 exposes through its exported DllGetClass function. Instances can therefore be created using such well-documented COM functions as CoCreateInstance, by anyone who knows the CLSID:

CLSID_CTaskConditionCombiner {427BC7E3-F833-4584-8745-CFAB9D7A5761}

The CTaskConditionCombiner class implements the following interfaces (in the SHELL32 version 6.00 from Windows Vista):

With repeated use of the AddCondition method, a CTaskConditionCombiner can be loaded with any number of conditions represented by the ITaskCondition interfaces of CTaskCondition or CTaskConditionCombiner objects. The combination is by default a logical OR of all the loaded conditions. The SetIsAnd method changes the combination to the logical AND of all the loaded conditions. The SetInvert method negates this overall result.

SetIsAnd SetInvert  
no no combination is true if and only if at least one condition is true
no yes combination is true if and only if all conditions are false
yes no combination is true if and only if all conditions are true
yes yes combination is true if and only if at least one condition is false

Conditions are evaluated in the order in which they are set, but only for as many as are needed to produce a result.

Availability

The CTaskConditionCombiner class is implemented in the SHELL32 version 6.00 from Windows Vista, and higher.

Though new for Windows Vista, this class is not documented by Microsoft in the January 2007 edition of the Software Development Kit (SDK) for Windows Vista.