2.2.6.1.2 RestrictionPacket Structure
The RestrictionPacket structure contains the restrictions that are used to evaluate the contents table of the folder. Only those rows that evaluate to a value of TRUE MUST be displayed.
The RestrictionPacket structure is recursively built up by the restriction structures that are specified in section 2.2.6.1.2.1 through section 2.2.6.1.2.11. To determine the size of the RestrictionPacket structure, the application parses each restriction structure recursively if necessary. The restrictions are stored in a special format, which is different from the format specified for restrictions in [MS-OXCDATA] section 2.12.
The RestrictionPacket structure starts with a single restriction structure. The type of the restriction determines whether other restrictions will follow each restriction, as specified in the following description.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
RestrictionBlocks (variable) |
|||||||||||||||||||||||||||||||
... |
RestrictionBlocks (variable): This field contains one or more of the restriction structures that are specified in section 2.2.6.1.2.1 through section 2.2.6.1.2.11. From the restriction type, specified in the RestrictionType field of each restriction structure, the application can determine whether the restriction structure contains subrestrictions, which are stored sequentially in the RestrictionPacket structure. The server parses each restriction structure recursively, if necessary, to complete reading one sequence of restriction structures.
-
The following table specifies the values for the RestrictionType field and the associated restriction.
Value of RestrictionType field |
Numeric value |
Meaning |
---|---|---|
RES_AND |
0x00000000 |
Indicates a LogicalAndRestriction structure (section 2.2.6.1.2.1). This structure has subrestrictions that follow it. |
RES_OR |
0x00000001 |
Indicates a LogicalOrRestriction structure (section 2.2.6.1.2.2). This structure has subrestrictions that follow it. |
RES_NOT |
0x00000002 |
Indicates a LogicalNotRestriction structure (section 2.2.6.1.2.3). This structure has a single subrestriction that follows it. |
RES_CONTENT |
0x00000003 |
Indicates a ContentRestriction structure (section 2.2.6.1.2.4). |
RES_PROPERTY |
0x00000004 |
Indicates a PropertyRestriction structure (section 2.2.6.1.2.5). |
RES_COMPAREPROPS |
0x00000005 |
Indicates a ComparePropsRestriction structure (section 2.2.6.1.2.6). |
RES_BITMASK |
0x00000006 |
Indicates a BitmaskRestriction structure (section 2.2.6.1.2.7). |
RES_SIZE |
0x00000007 |
Indicates a SizeRestriction structure (section 2.2.6.1.2.8). |
RES_EXIST |
0x00000008 |
Indicates a ExistRestriction structure (section 2.2.6.1.2.9). |
RES_SUBRESTRICTION |
0x00000009 |
Indicates a SubObjectRestriction structure (section 2.2.6.1.2.10). This structure has a single subrestriction that follows it. |
RES_COMMENT |
0x0000000A |
Indicates a CommentRestriction structure (section 2.2.6.1.2.11). This structure has a single subrestriction that follows it. |