3.2.5.17 Receiving an SMB_COM_READ_MPX Response

A single SMB_COM_READ_MPX request can generate multiple response messages. If there is one SMB_COM_READ_MPX response, it either contains all of the data read from the FID, or it indicates an error return.

The SMB_COM_READ_MPX response MUST be processed as specified in section 3.2.5.1, with the exception that the SMB_COM_READ_MPX command is supported only over connectionless transports, and signing is supported only over connection-oriented transports. Therefore, SMB_COM_READ_MPX messages are not signed.

The client MUST verify that all of the replies have the same MID, PID, and FID values, indicating that they are all responses to the same request. The response messages MAY be received in any order, so the client MUST use the Offset and DataLength fields to reorder the read data correctly. The client MUST check the Count field in every response. The lowest Count value received indicates the total number of bytes that the server returns to the client. When the sum of all DataLength fields is equal to the lowest Count value received, all replies have been received.