3.2.4.1.1 Sending a CPMConnectIn Request

This message SHOULD be the very first request from the higher layer (if the protocol client is not connected, the protocol server will fail most of the messages). The higher level provides the protocol client with information necessary to connect. To serve the higher layer, the protocol client MUST do the following:

  1. Fill in the message, using information that the higher layer client provided (see section 2.2.3.1) in _iClientVersion, MachineName, UserName, PropertySets, and ExtPropertySets.

  2. Set _fClientIsRemote, _cbBlob1, _cbBlob2, cPropSet, and cExtPropSet, as specified in section 2.2.3.1.

  3. Set the checksum in the _ulChecksum field.

  4. Send the CPMConnectIn message to the protocol server.

  5. Wait to receive a CPMConnectOut message back from the protocol server, silently discarding all other messages.

  6. Report the value of the _status field of the response (and, if it was successful, the _serverVersion) back to the higher layer.

The higher layers SHOULD do the following actions on successful connection, but these are not enforced by the MSSearch Query Protocol client:

  • Use a CPMCreateQueryIn request to create a search query with a purpose of retrieving results from the search catalog.