3.3.5.9.5 Handling the SMB2_CREATE_QUERY_MAXIMAL_ACCESS_REQUEST Create Context

The client is requesting that the server return maximal access information if the last modified time for the object that was opened, as returned by the underlying object store, is not equal to the time stamp provided by the client in the create context.

The processing changes involved for this create context are:

In the "Response Construction" phase, the server MUST construct an SMB2_CREATE_QUERY_MAXIMAL_ACCESS_RESPONSE create context, following the syntax specified in section 2.2.14.2.5, and include it in the buffer described by the response fields CreateContextsLength and CreateContextsOffset. This structure MUST have the following values set:

  • If the ChangeTime is not equal to the Timestamp in the request create context, the server MUST calculate the maximal access that the user identified by Session.SecurityContext has on the object that was opened. <331>

  • If the ChangeTime is equal to the Timestamp in the request create context, the server MUST set QueryStatus to STATUS_NONE_MAPPED and MaximalAccess to zero.

If no time stamp is present in the request, the server MUST return maximal access information unconditionally.