3.2.5.5 Receiving an SMB_COM_OPEN Response

The SMB_COM_OPEN Response (section 2.2.4.3.2) MUST be processed as specified in section 3.2.5.1.

If the SMB_COM_OPEN (section 2.2.4.3) command was successful, a new Client.Open MUST be entered into the Client.Connection.OpenTable. Client.Open.FID is set to the returned FID, and Client.Open.OpLock is set based on the SMB_Header.Flags SMB_FLAGS_OPLOCK and SMB_FLAGS_OPBATCH flags. Client.Open.TreeConnect MUST be set to a Client.TreeConnect where Client.TreeConnect.TreeID matches the TID sent by the server in the SMB Header of the SMB_COM_OPEN Response. Client.Open.Session MUST be set to a Client.Session where Client.Session.SessionUID matches the UID sent by the server in the SMB Header of the SMB_COM_OPEN Response. Client.Open.Connection MUST be set to Client.Open.Session.Connection.

The FID returned in the SMB_COM_OPEN response MUST be returned to the application along with the access mode granted by the server. The Client.Open that matches the FID in the response MUST be returned to the application. The additional metadata returned in the command MUST be returned to the application, if requested.