2.12.6.1 ComparePropertiesRestriction Structure
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
RestrictType |
RelOp |
PropTag1 |
|||||||||||||||||||||||||||||
... |
PropTag2 |
||||||||||||||||||||||||||||||
... |
RestrictType (1 byte): An unsigned integer. This value indicates the type of restriction (2) and MUST be set to 0x05.
RelOp (1 byte): An unsigned integer. This value indicates the relational operator used to compare the two properties. The value MUST be one the values listed in the following table.
Relational operator |
Hexadecimal value |
Evaluation |
Alternate name |
---|---|---|---|
RelationalOperatorLessThan |
0x00 |
TRUE if the object's property value is less than the specified value. |
RELOP_LT |
RelationalOperatorLessThanOrEqual |
0x01 |
TRUE if the object's property value is less than or equal to the specified value. |
RELOP_LE |
RelationalOperatorGreaterThan |
0x02 |
TRUE if the object's property value is greater than the specified value. |
RELOP_GT |
RelationalOperatorGreaterThanOrEqual |
0x03 |
TRUE if the object's property value is greater than or equal to the specified value. |
RELOP_GE |
RelationalOperatorEqual |
0x04 |
TRUE if the object's property value equals the specified value. |
RELOP_EQ |
RelationalOperatorNotEqual |
0x05 |
TRUE if the object's property value does not equal the specified value. |
RELOP_NE |
RelationalOperatorMemberOfDL |
0x64 |
TRUE if the object's property value is in the DL membership of the specified property value. The object's property value MUST be an EntryID of a mail-enabled object in the address book. Also, the specified property value MUST be an EntryID of a distribution list object in the address book. |
RELOP_MEMBER_OF_DL |
PropTag1 (4 bytes): An unsigned integer. This value is the property tag of the first property that MUST be compared.
PropTag2 (4 bytes): An unsigned integer. This value is the property tag of the second property that MUST be compared.
-
The comparison order is (property tag 1) (relational operator) (property tag 2).
-
The properties to be compared MUST both be of the same type.
-
The result of a compare property value restriction (2) is undefined when one or both of the properties do not exist. When a client requires well-defined behavior for such a restriction (2) and is not sure whether the property exists (for example, it is not a required column in a table), the client can create an AndRestriction to join the compare property restriction with an Exist restriction.
-
The properties specified by the PropTag1 and PropTag2 fields MUST be single-valued.
-
Only Equal and NotEqual operators are allowed fields when the types of the PropTag1 and PropTag2 fields are PtypBoolean.