Sending an Invalid Parameter Server-Side Copy Response

The server MUST construct an SMB2 IOCTL Response, following the syntax specified in section 2.2.32, with the following values:

  • Status in the SMB2 header MUST be set to STATUS_INVALID_PARAMETER.

  • CtlCode MUST be set to the CtlCode value in the SMB2 IOCTL Request.

  • FileId.Persistent MUST be set to Open.DurableFileId. FileId.Volatile MUST be set to Open.FileId.

  • InputOffset SHOULD be set to the offset, in bytes, from the beginning of the SMB2 header to the Buffer[] field of the response.

  • InputCount SHOULD be set to zero.

  • OutputOffset MUST be set to InputOffset + InputCount, rounded up to a multiple of 8.

  • OutputCount MUST be set to 12.

  • Flags MUST be set to zero.

  • The server MUST copy a SRV_COPYCHUNK_RESPONSE, following the syntax specified in section, into the Buffer field at the OutputOffset computed above, with the following differences. ChunksWritten MUST be set ServerSideCopyMaxNumberofChunks. ChunkBytesWritten MUST be set ServerSideCopyMaxChunkSize. TotalBytesWritten MUST be set to ServerSideCopyMaxDataSize.

The response MUST be sent to the client.