3.2.5.36 Receiving an SMB_COM_NT_CREATE_ANDX Response

The SMB_COM_NT_CREATE_ANDX Response (section 2.2.4.64.2) MUST be processed as specified in section 3.2.5.1.

If the command fails, the error status MUST be passed to the application.

If the request succeeds, the FID returned in the SMB_COM_NT_CREATE_ANDX Response MUST be returned to the application, along with the access mode granted by the server. If an OpLock was requested, the OpLock status, including the OpLock level granted, MUST be returned to the application.

Other attributes returned in the command can be passed to the application, if requested.

In addition, the FID MUST be used to create new Open entry in the Client.Connection.OpenTable. If an OpLock was requested, the value of Client.Open.OpLock MUST be set to indicate the type of OpLock that was granted, if any. The newly-created Client.Open MUST be returned to the application. Client.Open.TreeConnect MUST be set to  Client.Connection.TreeConnectTable[TID], where the TID matches the TID field sent by the server in the SMB Header (section 2.2.3.1) of the SMB_COM_NT_CREATE_ANDX 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_NT_CREATE_ANDX Response. Client.Open.Connection MUST be set to Client.Open.Session.Connection.

If the open is to a named pipe, Client.Open.NamedPipeMessageMode MUST be initialized to TRUE, indicating a message mode named pipe.