2.2.2 Message Headers
All MSSearch Query Protocol messages have a 16-byte header.
The following diagram shows the MSSearch Query Protocol message header format.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
_msg |
|||||||||||||||||||||||||||||||
_status |
|||||||||||||||||||||||||||||||
_ulChecksum |
|||||||||||||||||||||||||||||||
_ulReserved2 |
_msg (4 bytes): A 32-bit integer that identifies the type of message following the header.
-
The following table lists the MSSearch Query Protocol messages and the integer values specified for each message. As shown in the table, some values identify two messages in the table. In those instances, the message following the header can be identified by the direction of the message flow. If the direction is protocol client to protocol server, the message with "In" appended to the message name is indicated. If the direction is protocol server to protocol client, the message with "Out" appended to the message name is indicated.
-
Value
Meaning
0x000000C8
0x000000C9
0x000000CA
0x000000CB
0x000000CC
0x000000D0
0x000000E4
_status (4 bytes): An HRESULT, indicating the status of the requested operation. When sent by the protocol client, this field MAY contain any value and the protocol server MUST ignore the value<6>.
_ulChecksum (4 bytes): A 32-bit integer field. The _ulChecksum MUST be calculated as specified in section 3.2.4 for the following messages:
§ CPMConnectIn
§ CPMCreateQueryIn
§ CPMSetBindingsIn
§ CPMGetRowsIn
§ CPMFetchValueIn
-
Note For all other messages from the protocol client, _ulChecksum MUST be ignored by the receiver. A protocol client MUST ignore the _ulChecksum field.
_ulReserved2 (4 bytes): A 32-bit integer field. If the message type is CPMGetRowsIn and 64-bit offsets are used, as specified in section 2.2.3.7, this field MUST contain the upper 32 bits of the base value to use for pointer calculations in the row buffer (the _ulClientBase field of the CPMGetRowsIn message contains the lower 32 bits). Otherwise, the value MUST be set to 0x00000000.