Handling the SMB2_CREATE_EA_BUFFER Create Context

The client is requesting that an array of extended attributes be applied to the file that is being created. The server MUST ignore this Create Context for requests to open an existing file, a pipe, or a printer. This create context can be combined with any of those listed here except SMB2_CREATE_DURABLE_HANDLE_RECONNECT.

The processing changes involved for this create context are:

If IsSharedVHDSupported is TRUE and the file name in the Buffer field ends with ":SharedVirtualDisk", the processing changes for this create context are:

  • In the "Open Execution" phase, this request MUST be processed as specified in [MS-RSVD] section by providing the file name, Open.CreateOptions, and SMB2_CREATE_EA_BUFFER Create Context.

  • In the "Successful Open Initialization" phase, the server MUST set Open.IsSharedVHDX to TRUE.

Otherwise, in the "Open Execution" phase, the server MUST pass the received extended attributes array to the underlying object store to be stored on the created file.<268> If the object store does not support extended attributes, the server MUST fail the open request with STATUS_EAS_NOT_SUPPORTED.