3.2.4.1.5 Sending Multi-Credit Requests

If Connection.SupportsMultiCredit is TRUE,

  • For READ, WRITE, IOCTL, and QUERY_DIRECTORY requests, CreditCharge field in the SMB2 header SHOULD<111> be set to a value greater than or equal to the value computed in section 3.1.5.2.

  • For all other requests, the client MUST set CreditCharge to 1, even if the payload size of a request or the anticipated response is greater than 65536.

If the client implements the SMB 2.1 dialect or SMB 3.x dialect family and Connection.SupportsMultiCredit is FALSE, CreditCharge SHOULD<112> be set to 0 and the payload size of a request or the maximum size of a response MUST be a maximum of 65536.

Otherwise, the CreditCharge field MUST be set to 0 and the payload size of a request or the maximum size of a response MUST be a maximum of 65536.

Before sending a multi-credit request, the client MUST consume the calculated number of consecutive MessageIds from Connection.SequenceWindow.