3.1.4.25 Application Requests to Apply Snapshot

The application provides:

  • A handle to the Open identifying a VHD set.

  • SnapshotId: A GUID to uniquely identify the snapshot.

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 SvhdxMetaOperationTypeApplySnapshot.

  • The Data field is set to an SVHDX_APPLY_SNAPSHOT_PARAMS structure, initialized as follows:

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

    • The SnapshotId field is set to the SnapshotId 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.