3.2.4.16 Application Requests Flushing Cached Data

The application provides:

  • A handle to the Open identifying a file or named pipe for which it requires to flush cached data.

If the handle is invalid, or if no Open referenced by the handle is found, the client MUST return an implementation-specific error code. If the handle is valid and Open is found, the client MUST proceed as follows.

For the specified Open, the client MUST select a connection as specified in section 3.2.4.1.7. If no connection is available, the client MUST fail the flush operation.

Otherwise, the client initializes an SMB2 FLUSH Request by following the syntax specified in section 2.2.17. The SMB2 header MUST be initialized as follows:

  • The Command field is set to SMB2 FLUSH.

  • The MessageId field is set as specified in section 3.2.4.1.3.

  • The SessionId field is set to Open.TreeConnect.Session.SessionId.

  • The TreeId field is set to Open.TreeConnect.TreeConnectId.

The SMB2 FLUSH Request MUST be initialized as follows:

  • The FileId field is set to Open.FileId.

The request MUST be sent to the server.