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




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

    CPMConnectIn


    The CPMConnectIn message begins a session between the client and server.

    The format of the CPMConnectIn 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

    _iClientVersion

    _fClientIsRemote

    _cbBlob1

    _paddingcbdBlob2

    _cbBlob2

    _padding

    ...

    ...

    MachineName (variable)

    ...

    UserName (variable)

    ...

    _paddingcPropSets (variable)

    ...

    cPropSets

    PropertySet1 (variable)

    ...

    PropertySet2 (variable)

    ...

    PaddingExtPropset (variable)

    ...

    cExtPropSet

    aPropertySets (variable)

    ...

    _iClientVersion (4 bytes): A 32-bit integer indicating whether the server is to validate the checksum value specified in the _ulChecksum field of the message headers for messages sent by the client.

    Note  If the _iClientVersion field's lowest 2 bytes are set to 0x00000109 or greater, the server MUST validate the _ulChecksum field value for the following messages:

    • CPMConnectIn

    • CPMCreateQueryIn

    • CPMFetchValueIn

    • CPMGetRowsIn

    • CPMSetBindingsIn

    For details on how the server validates the value specified by the client in the _ulChecksum field for the messages previously listed, see section 3.2.4.

    If the lowest 2 bytes are greater than 0x00000109, the client is assumed to be capable of handling 64-bit offsets in CPMGetRowsOut messages.<5><6>



    _fClientIsRemote (4 bytes): A Boolean value indicating if the client is running on a different machine than the server. This field is set to 0x00000001 if the client is running on a different machine and 0x00000000 if it is not.

    _cbBlob1 (4 bytes): A 32-bit unsigned integer indicating the size, in bytes, of the cPropSets, PropertySet1, and PropertySet2 fields combined.

    _paddingcbdBlob2 (4 bytes): This field MUST be 4 bytes in length. The length of this field MUST be such that the byte offset from the beginning of the message to the beginning of the _cbBlob2 field is a multiple of 8. The value of the bytes can be any arbitrary value, and MUST be ignored by the receiver.

    _cbBlob2 (4 bytes): A 32-bit unsigned integer indicating the size in bytes of the cExtPropSet and aPropertySet fields, combined.

    _padding (12 bytes): Twelve bytes of padding that can contain arbitrary values and MUST be ignored.

    MachineName (variable): The machine name of the client. The name string MUST be a null-terminated array of less than 512 Unicode characters, including the null terminator. The server MUST ignore this field upon receipt.

    UserName (variable): A string that represents the user name of the person who is running the application that invoked this protocol. The name string MUST be a null-terminated array of less than 512 Unicode characters when concatenated with MachineName. The server MUST ignore this field upon receipt.

    _paddingcPropSets (variable): This field MUST be 0 to 7 bytes in length. The number of bytes MUST be the number required to make the byte offset of the cPropSets field from the beginning of the message that contains this structure equal a multiple of 8. The value of the bytes can be any arbitrary value, and MUST be ignored by the receiver.

    cPropSets (4 bytes): A 32-bit unsigned integer indicating the number of CDbPropSet structures following this field.

    Note  This field MUST be set to 0x0000002.

    PropertySet1 (variable): A CDbPropSet structure with guidPropertySet containing DBPROPSET_FSCIFRMWRK_EXT.

    PropertySet2 (variable): A CDbPropSet structure with guidPropertySet containing DBPROPSET_CIFRMWRKCORE_EXT.

    PaddingExtPropset (variable): This field MUST be 0 to 7 bytes in length. The number of bytes MUST be the number required to make the byte offset of the cExtPropSets field from the beginning of the message that contains this structure equal a multiple of 8. The value of the bytes can be any arbitrary value, and MUST be ignored by the receiver.

    cExtPropSet (4 bytes): A 32-bit unsigned integer indicating the number of CDbPropSet structures following this field. This field must be greater than or equal to 1.

    aPropertySets (variable): An array of CDbPropSet structures specifying other properties. The number of elements in this array MUST be equal to cExtPropSet.

    Although any value can be passed here, the server MUST ignore anything except the following property, which must be the first property in aPropertySets. This value must also align with the DBPROP_CI_CATALOG_NAME specified in DBPROPSET_FSCIFRMWRK_EXT.



    Value

    Meaning

    DBPROP_CI_CATALOG_NAME

    0x00000002



    This is the catalog name for the query.


          1. CPMConnectOut


    The CPMConnectOut message contains a response to a CPMConnectIn message.

    The format of the CPMConnectOut 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

    _serverVersion

    _reserved (variable)

    ...

    dwWinVerMajor (optional)

    dwWinVerMinor (optional)

    dwNLSVerMajor (optional)

    dwNLSVerMinor (optional)

    _serverVersion (4 bytes): A 32-bit integer that indicates whether the server can support 64-bit offsets. Values greater than or equal to 0x00010000 indicate 64-bit support. Values less than 0x00010000 indicate 32-bit support.<7><8>

    _reserved (variable): The server can send an arbitrary number of arbitrary values, and the client MUST ignore these values if present. If the server supports version reporting, the size MUST be 4 bytes.

    dwWinVerMajor (4 bytes): 32-bit unsigned integer that contains the major version number of the Windows operating system on a server. If server doesn't supports version reporting then this field MUST be omitted.<9>

    If present this field can contain one of the following values:

    Value

    Meaning

    WINDOWS_MAJOR_VERSION_6

    0x00000006



    The major version of the Windows operating system is 0x00000006.

    dwWinVerMinor (4 bytes): 32-bit unsigned integer that contains the minor version number of the Windows operating system on a server. If server doesn't supports version reporting then this field MUST be omitted. <10>

    If present this field can contain one of the following values:



    Value

    Meaning

    WINDOWS_MINOR_VERSION_0

    0x00000000



    The minor version of the Windows operating system is 0x00000000.

    WINDOWS_MINOR_VERSION_1

    0x00000001



    The minor version of the Windows operating system is 0x00000001.

    dwNLSVerMajor (4 bytes): 32-bit unsigned integer that contains the National Language Support (NLS) version number of the Windows operating system on a server. If server doesn't supports version reporting then this field MUST be omitted. <11>

    dwNLSVerMinor (4 bytes): 32-bit unsigned integer that contains the defined National Language Support (NLS) version number of the Windows operating system on a server. If server doesn't supports version reporting then this field MUST be omitted. <12>

    If present, the dwNLSVerMajor and dwNLSVerMinor fields can contain one of the following values:

    Value

    Meaning

    NLS_ VERSION_40500

    0x00040500



    Defined NLS version is 0x00040500.

    NLS_VERSION_60000

    0x00060000



    Defined NLS version is 0x00060000.

    NLS_VERSION_60101

    0x00060101



    Defined NLS version is 0x00060101.




          1. Download 349,46 Kb.
    1   ...   11   12   13   14   15   16   17   18   ...   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.