2.2.3.3 CPMCreateQueryIn
The CPMCreateQueryIn message creates a new search query. The format of the CPMCreateQueryIn message that follows the header is shown in the following diagram.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Size |
|||||||||||||||||||||||||||||||
CColumnSetPresent |
Align0 (variable) |
||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
ColumnSet (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
CRestrictionPresent |
Reserved2 |
Align1 (variable) |
|||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
Restriction (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
CSortSetPresent |
Align2 (variable) |
||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
SortSet |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
Reserved0 |
Align3 (variable) |
||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
RowSetProperties (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
PidMapper (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
Reserved1 |
|||||||||||||||||||||||||||||||
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. This field MUST be set to one of the following values.
Value |
Meaning |
---|---|
0x00 |
The ColumnSet field MUST be absent. |
0x01 |
The ColumnSet field MUST be present. |
Align0 (variable): A field structure of zero, 1, 2 or 3 bytes that is used to align the next field to a 4-byte boundary. MUST be ignored by the protocol server.
ColumnSet (variable): A CColumnSet structure containing the property offsets for properties in CPidMapper that are returned as a column.
CRestrictionPresent (1 byte): A byte field indicating if the Restriction field is present.
-
If this field is set to any nonzero value, the Restriction field MUST be present. If this field is set to "0x00", the Restriction field MUST NOT be present.
Reserved2 (2 bytes): A 16-bit reserved field. MUST contain the value "0x0101".
Align1 (variable): A field structure of zero, 1, 2 or 3 bytes that is used to align the next field to a 4-byte boundary. This field MUST be ignored by the protocol server.
Restriction (variable): A CRestriction structure containing the command tree of the search query. The tree MUST only contain CRestriction structures with Type equal to RTAnd, RTOr, RTNot, RTContent, RTProperty, RTProximity, RTNatLanguage, RTPropertyRange or RTPhrase.
CSortSetPresent (1 byte): A byte field indicating if the SortSet field is present.
-
If this field is set to any nonzero value, the SortSet field MUST be present. If set to "0x00", the SortSet field MUST NOT be present.
Align2 (variable): A field structure of zero, 1, 2 or 3 bytes that is used to align the next field to a 4-byte boundary. This field MUST be ignored by the protocol server.
SortSet (variable): A CSortSet structure indicating the sort order of the search query.
Reserved0 (1 byte): An 8-bit field reserved for future use. This field MUST be ignored by the protocol server.
Align3 (variable): A field structure of zero, 1, 2 or 3 bytes that is used to align the next field to a 4-byte boundary. This field MUST be ignored by the protocol server.
RowSetProperties (variable): A CRowsetProperties structure providing configuration information for the search query.
PidMapper (variable): A CPidMapper structure that maps from property offsets to full property descriptions.
Reserved1 (4 bytes): A 32-bit reserved field. This field MUST be set to "0x00000000".
LCID (4 bytes): A 32-bit unsigned integer, indicating the LCID of the search query, as specified in [MS-LCID].