3.2.4 Higher-Layer Triggered Events

When a request is received from a higher layer, the protocol client MUST create a named pipe connection to the protocol server, using the details specified in section 2.1. If it is unable to do so, the higher-layer request MUST be failed. In other words, in the case of a failure to connect, it is the responsibility of the higher layer to retry.

A header MUST be prepended with fields set as specified in section 2.2.2.

For messages that are specified as requiring a nonzero checksum, the _ulChecksum value MUST be calculated as follows:

  1. The content of the message after the _ulReserved2 field in the message header MUST be interpreted as a sequence of 32-bit integers. The protocol client MUST calculate the sum of the numeric values given by these integers.

  2. Calculate the bitwise XOR of this value with 0x59533959.

  3. Subtract the value given by _msg from the value that results from the bitwise XOR.