3.2.5.6 Receiving a Query Shared Virtual Disk Support Request

If MaxOutputResponse is less than 8 (size of SVHDX_SHARED_VIRTUAL_DISK_SUPPORT_RESPONSE), the server MUST fail the request with STATUS_BUFFER_TOO_SMALL.

The server MUST construct an SVHDX_SHARED_VIRTUAL_DISK_SUPPORT_RESPONSE, as specified in section 2.2.4.16, with the following values:

  • If ServerServiceVersion is equal to RSVD Protocol version 1(0x00000001), the server MUST set the SharedVirtualDiskSupport field of the response to SharedVirtualDisksSupported. If ServerServiceVersion is equal to RSVD Protocol version 2(0x00000002), the server MUST set the SharedVirtualDiskSupport field of the response to SharedVirtualDiskSnapshotsSupported.

  • The server MUST search the OpenTable where Open.FileName matches the file name. If no Open is found, the server MUST set the SharedVirtualDiskHandleState field of the response to HandleStateNone. If any Open is found for which Open.LocalOpen matches the application-provided handle, the server MUST set the SharedVirtualDiskHandleState field of the response to HandleStateShared. Otherwise, the server MUST set the SharedVirtualDiskHandleState field of the response to HandleStateFileShared.

The response MUST be sent to the client.