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.