3.2.5.19 Receiving an SMB_COM_WRITE_MPX Response

Upon receipt of an SMB_COM_WRITE_MPX response, the client MUST compare the ResponseMask against the RequestMask of each SMB_COM_WRITE_MPX request that was sent as part of the same exchange. Any request that is not indicated as having been received in the ResponseMask MUST be resent. The last request to be resent MUST include the same nonzero SequenceNumber that was previously used in this exchange.

The server MUST send another SMB_COM_WRITE_MPX response upon receipt of the resent request with the nonzero SequenceNumber. The client MUST compare the ResponseMask against the RequestMask of each resent SMB_COM_WRITE_MPX request. Again, any request that is not indicated as having been received in the ResponseMask MUST be resent, and the last resent request MUST include the nonzero SequenceNumber that was previously used in this exchange. This cycle continues until an error return is received, or until all of the requests are successfully acknowledged.

If WritethroughMode was not set in the WriteMode field of the request(s), then an error in processing the command MAY occur after the final SMB_COM_WRITE_MPX response has been sent by the server. The server MUST return the error on the next client command request that makes use of the same FID.

If an error response is received in an SMB_COM_WRITE_MPX response, the Write MPX exchange is concluded and the client MUST inform the application of the error received.

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