2.2.3.4 CPMCreateQueryIn

The CPMCreateQueryIn message creates a new query. The format of the CPMCreateQueryIn message that follows the header is shown in the following diagram.


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

Size

CColumnSetPresent

paddingCColumnSetPresent (variable)

ColumnSet (variable)

...

CRestrictionPresent

RestrictionArray (variable)

...

CSortSetPresent

paddingCSortSetPresent (variable)

SortSet (variable)

...

CCategorizationSetPresent

paddingCCategorizationSetPresent (variable)

CCategorizationSet (variable)

...

RowSetProperties (20 bytes)

...

...

PidMapper (variable)

...

GroupArray (variable)

...

Lcid

Size (4 bytes): A 32-bit unsigned integer indicating the number of bytes from the beginning of this field to the end of the message.

CColumnSetPresent (1 byte): A byte field indicating if the ColumnSet field is present. MUST be set to one of the following values. If the value is set to 0x00, then no information will be returned from the query.

Value

Meaning

0x00

The ColumnSet field MUST be absent.

0x01

The ColumnSet field MUST be present.

paddingCColumnSetPresent (variable): This field MUST be 0 to 3 bytes in length. The length of this field MUST be such that the following 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. This field MUST be absent in CColumnSetPresent is set to 0x00.

ColumnSet (variable): A CColumnSet structure containing the property offsets for properties in CPidMapper that are returned as a column. If no properties are in the column set, then no information will be returned from the query.

CRestrictionPresent (1 byte): A byte field indicating whether the RestrictionArray field is present.

Note If set to any nonzero value, the RestrictionArray field MUST be present. If set to 0x00, RestrictionArray MUST be absent.

RestrictionArray (variable): A CRestrictionArray structure containing the command tree of the query.

CSortSetPresent (1 byte): A byte field indicating whether the SortSet field is present.

Note If set to any nonzero value, the SortSet field MUST be present. If set to 0x00, SortSet MUST be absent.

paddingCSortSetPresent (variable): This field MUST be 0 to 3 bytes in length. The length of this field MUST be such that the following 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. This field MUST be absent if CSortSetPresent is set to 0x00.

SortSet (variable): A CInGroupSortAggregSets structure indicating the sort order of the query.

CCategorizationSetPresent (1 byte): A byte field indicating whether the CCategorizationSet field is present.

Note If set to any nonzero value, the CCategorizationSet field MUST be present. If set to 0x00, CCategorizationSet MUST be absent.

paddingCCategorizationSetPresent (variable): This field MUST be 0 to 3 bytes in length. The length of this field MUST be such that the following 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. This field MUST be absent if CCategorizationSetPresent is set to 0x00.

CCategorizationSet (variable): A CCategorizationSet structure that contains the groups for the query.

RowSetProperties (20 bytes): A CRowsetProperties structure providing configuration information for the query.

PidMapper (variable): A CPidMapper structure that maps from property offsets to full property descriptions.

GroupArray (variable): A CColumnGroupArray structure, describing property weights for probabilistic ranking.

Lcid (4 bytes): A 32-bit unsigned integer, indicating the user's locale for this query, as specified in [MS-LCID].