2.2.1.4 CInternalPropertyRestriction

The CInternalPropertyRestriction structure contains a property value to match with an operation.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

_relop

_pid

_prval (variable)

...

_padding_lcid

...

_lcid

restrictionPresent

nextRestriction (variable)

...

_relop (4 bytes): A 32-bit integer specifying the relation to perform on the property. _relop MUST be one of the following values.

Value

Meaning

PRLT

0x00000000

A less-than comparison.

PRLE

0x00000001

A less-than or equal-to comparison.

PRGT

0x00000002

A greater-than comparison.

PRGE

0x00000003

A greater-than or equal-to comparison.

PREQ

0x00000004

An equality comparison.

PRNE

0x00000005

A not-equal comparison.

PRRE

0x00000006

A regular expression comparison.

PRAllBits

0x00000007

A bitwise AND that returns the right operand.

PRSomeBits

0x00000008

A bitwise AND that returns a nonzero value.

PRAll

0x00000100

The operation is to be performed on a column of a rowset and is only true if the operation is true for all rows.

PRAny

0x00000200

The operation is to be performed on a column of a rowset and is true if the operation is true for any row.

_pid (4 bytes): A 32-bit unsigned integer, representing the property ID.

_prval (variable): A CBaseStorageVariant that contains the value to relate to the property.

If the vType of _prval is VT_BLOB or VT_BLOB_OBJECT and _Property refers to a property of a string type (VT_LPSTR, VT_LPWSTR, VT_COMPRESSED_LPWSTR, VT_BSTR, or VT_VECTORs or VT_ARRAYs of those base types), then the first byte of the blob SHOULD be the low-order byte of a valid RANGEBOUNDARY ulType value (see section 2.2.1.23) and be followed by a null-terminated Unicode string. The value is interpreted in the same manner as RANGEBOUNDARY values (see section 2.2.1.23).

_padding_lcid (variable): This field MUST be 0 to 3 bytes in length. The length of this field MUST be such that the following _lcid field begins at an offset that is a multiple of 4 bytes from the beginning of the message that contains this structure. If this field is present (that is, length nonzero), the value it contains is arbitrary. The content of this field MUST be ignored by the receiver.

_lcid (4 bytes): A 32-bit unsigned integer, indicating the locale of a string, contained in _prval value, as specified in [MS-LCID].

restrictionPresent (1 byte): A byte value. MUST be set to one of the following values.

Value

Meaning

0x00

restrictionPresent indicates that the nextRestriction field is not present.

0x01

restrictionPresent indicates that the nextRestriction field is present.

nextRestriction (variable): A CRestriction structure specifying a further restriction.