Export (0) Print
Expand All

2.12.4.1 ContentRestriction Structure

01234567891012345678920123456789301

RestrictType

FuzzyLevelLow

FuzzyLevelHigh

...

PropertyTag

...

TaggedValue (variable)

...

RestrictType (1 byte): An unsigned integer. This value indicates the type of restriction (2) and MUST be set to 0x03.

FuzzyLevelLow (2 bytes): An unsigned integer. This field specifies the level of precision that the server enforces when checking for a match against a ContentRestriction structure. The value of the FuzzyLevelLow field applies to both binary and string properties and MUST be set to one of the values in the following table.

FuzzyLevelLow value

Meaning

0x0000

FL_FULLSTRING

The value stored in the TaggedValue field and the value of the column property tag match one another in their entirety.

0x0001

FL_SUBSTRING

The value stored in the TaggedValue field matches some portion of the value of the column property tag.

0x0002

FL_PREFIX

The value stored in the TaggedValue field matches a starting portion of the value of the column property tag.

FuzzyLevelHigh (2 bytes): This field applies only to string-value properties and can be set to the bit values listed in the following table, in any combination. The values of the FuzzyLevelHigh field can be combined by using the bitwise OR operation.

FuzzyLevelHigh values

Meaning

0x0001

FL_IGNORECASE

The comparison does not consider case.

0x0002

FL_IGNORENONSPACE

The comparison ignores Unicode-defined nonspacing characters such as diacritical marks.

0x0004

FL_LOOSE

The comparison results in a match whenever possible, ignoring case and nonspacing characters.

PropertyTag (4 bytes): An unsigned integer. This value indicates the property tag of the column whose value MUST be matched against the value specified in the TaggedValue field.

TaggedValue (variable): A TaggedPropertyValue structure, as specified in section 2.11.4. This structure contains the value to be matched.

The property ID portion of the PropertyTag field in the TaggedValue field is ignored.

The result of a content restriction (2) imposed against a property is undefined when the property does not exist. When a client requires well-defined behavior for such a restriction (2) and is not sure whether the property exists, the client can create an AndRestriction to join the ContentRestriction with an ExistRestriction.

Multivalue properties (when the MultivalueFlag bit is set) are supported for this type of restriction (2), but the property types (obtained by masking off the MultivalueFlag bit) of both the PropertyTag field and the property tag subfield of the TaggedValue subfield MUST be the same in all cases.

The cases supported for multivalue properties are described in the following table.

PropertyTag value

TaggedValue value

Support

Details

Single-valued

Single-valued

All RelOp values are supported.

Simple comparison.

Single-valued

Multivalued

Not supported.

Multivalued and the same as the MultivalueInstance column in the table

Single-valued

All RelOp values are supported.

Each value of the property tag is compared with the value in the TaggedValue field. One successful match means that the restriction (2) is satisfied.

Multivalued and the same as the MultivalueInstance column in the table

Multivalued

Not supported.

Multivalued but not the same as the MultivalueInstance column in the table

Single-valued

All RelOp values are supported.

Each value of the property tag is compared with the value in the TaggedValue field. One successful match means that the restriction (2) is satisfied.

Multivalued but not the same as the MultivalueInstance column in the table

Multivalued

Not supported.

Show:
© 2015 Microsoft