3.3.1.13 Per Request

The server implements the following:

  • Request.MessageId: The value of the MessageId field from the SMB2 Header of the client request.

  • Request.AsyncId: An asynchronous identifier generated for an Asynchronous Operation, as specified in section 3.3.4.2. The identifier MUST uniquely identify this Request among all requests currently being processed asynchronously on a specified SMB2 transport connection. If the request is not being processed asynchronously, this value MUST be set to zero.

  • Request.CancelRequestId: An implementation-dependent identifier generated by the server to support cancellation of pending requests that are sent to the object store. The identifier MUST be unique among all requests currently being processed by the server and all object store operations being performed by other server applications.<207>

  • Request.Open: A reference to an Open of a file or named pipe, as specified in section 3.3.1.10. If the request is not associated with an Open at this time, this value MUST be NULL.

If the server implements the SMB 3.x dialect family, it MUST implement the following:

  • Request.IsEncrypted: A Boolean that, if set, indicates that the request has been encrypted.

  • Request.TransformSessionId: The SessionId sent by the client in the SMB2 TRANSFORM_HEADER, if the request is encrypted.

If the server implements the SMB 3.1.1 dialect, it implements the following:

  • Request.CompressReply: A Boolean that, if set, indicates that the reply to this request is eligible for compression.