• CPMCreateQueryOut
  • [ms-wsp]: Windows Search Protocol Intellectual Property Rights Notice for Open Specifications Documentation




    Download 349,46 Kb.
    bet16/28
    Sana25.03.2020
    Hajmi349,46 Kb.
    #8793
    1   ...   12   13   14   15   16   17   18   19   ...   28

    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].
          1. CPMCreateQueryOut


    The CPMCreateQueryOut message contains a response to a CPMCreateQueryIn message.

    The format of the CPMCreateQueryOut message that follows the header is shown in the following table.



    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

    _fTrueSequential

    _fWorkIdUnique

    aCursors

    _fTrueSequential (4 bytes): A 32-bit unsigned integer. MUST be set to one of the following values.

    Note  An informative value indicating whether the query can be expected to provide results faster.

    Value

    Meaning

    0x00000000

    For the query provided in CPMCreateQueryIn, there would be a greater latency in delivering query results.

    0x00000001

    If _fTrueSequential is set to true, results can be returned sequentially without the server incurring the cost of processing the entire result set before returning the first result.

    _fWorkIdUnique (4 bytes): A Boolean value indicating whether the document identifiers pointed by the cursors are unique throughout query results. MUST be set to one of the following values.

    Value

    Meaning

    0x00000000

    The cursors are unique only throughout the rowset.

    0x00000001

    The cursors are unique across multiple query results.

    aCursors (4 bytes): An array of 32-bit unsigned integers representing the handles to cursors with the number of elements equal to the number of categories in the CategorizationSet field of CPMCreateQueryIn message plus one element, representing an uncategorized cursor.


          1. Download 349,46 Kb.
    1   ...   12   13   14   15   16   17   18   19   ...   28




    Download 349,46 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    [ms-wsp]: Windows Search Protocol Intellectual Property Rights Notice for Open Specifications Documentation

    Download 349,46 Kb.