3.1.4.15 Application Requests Extracting a Differencing VHD

The application provides:

  • A handle to the Open identifying a VHD set.

  • TransactionId: A GUID used to uniquely identify the start operation.

  • SnapshotType: The type of the snapshot.

  • Flags: The flags to be passed to the server.

  • SnapshotId: A GUID to identify the first snapshot data to include in the extract.

  • SnapshotLimitId: A GUID to identify the last snapshot data to include in the extract.

  • DestinationVhdName: A VHD file name into which the difference data will be written.

The client MUST construct an SVHDX_META_OPERATION_START_REQUEST structure, as specified in section 2.2.4.17, as follows:

The SVHDX_TUNNEL_OPERATION_HEADER MUST be initialized as follows:

  • The OperationCode MUST be set to RSVD_TUNNEL_META_OPERATION_START.

  • The Status field MUST be set to zero.

  • The RequestId field MUST be set to RequestIdentifier.

The SVHDX_META_OPERATION_START_REQUEST MUST be initialized as follows:

  • The TransactionId field is set to the application-provided TransactionId.

  • The OperationType field is set to SvhdxMetaOperationTypeExtractVHD.

  • The Data field to a SVHDX_META_OPERATION_EXTRACT structure initialized as follows:

    • The SnapshotType field is set to the SnapshotType provided by the application.

    • The Flags field is set to the Flags provided by the application.

    • The SourceSnapshotId field is set to the SnapshotId provided by the application.

    • The SourceLimitSnapshotId field is set to the SnapshotLimitId provided by the application.

    • The DestinationVhdNameLength field is set to the size, in bytes, of DestinationVhdName.

    • The DestinationVhdName field is set to the DestinationVhdName provided by the application.

The client MUST call the interface specified in [MS-SMB2] section 3.2.4.20.11, supplying the following input parameters:

  • Application-provided handle to identify the Open.

  • Control code: FSCTL_SVHDX_ASYNC_TUNNEL_REQUEST.

  • SVHDX_META_OPERATION_START_REQUEST structure as payload.