I'm investigating documentation about the SMB protocol.
And a misunderstanding arose between these two values.
2.2.4 SMB2 NEGOTIATE Response
MaxTransactSize (4 bytes): The maximum size, in bytes, of the buffer that can be used for QUERY_INFO, QUERY_DIRECTORY, SET_INFO and CHANGE_NOTIFY operations. This field is applicable only for buffers sent by the client in SET_INFO requests, or returned from the server in QUERY_INFO, QUERY_DIRECTORY, and CHANGE_NOTIFY responses.
And
MaxReadSize (4 bytes): The maximum size, in bytes, of the Length in an SMB2 READ Request (section 2.2.19) that the server will accept.
The documentation describes that
3.2.5.1 Receiving Any Message
If the message size received exceeds Connection.MaxTransactSize, the client MUST disconnect the connection.
This statement means that MaxReadSize must be less than or equal to MaxTransactSize.
Or, only QUERY_INFO, QUERY_DIRECTORY, SET_INFO and CHANGE_NOTIFY operations depend on the MaxTransactSize value, and MaxReadSize can be greater than MaxTransactSize.
Could you please clarify this misunderstanding?