0x00000001 context specified in section 2.2.4.12 RSVD_ECP_CONTEXT_VERSION_2 0x00000002 Value of Version field in create context specified in section Operation Codes The following is a list of all control used in shared virtual disk operations: Name Meaning RSVD_TUNNEL_GET_INITIAL_INFO_OPERATION 0x02001001 Query shared virtual disk file and server information RSVD_TUNNEL_SCSI_OPERATION 0x02001002 Perform SCSI operation RSVD_TUNNEL_CHECK_CONNECTION_STATUS_OPERATION 0x02001003 Query shared virtual disk connection status RSVD_TUNNEL_SRB_STATUS_OPERATION 0x02001004 sense error code of previously failed request RSVD_TUNNEL_GET_DISK_INFO_OPERATION 0x02001005 Query disk information RSVD_TUNNEL_VALIDATE_DISK_OPERATION 0x02001006 Perform shared virtual disk validation RSVD_TUNNEL_META_OPERATION_START 0x02002101 a RSVD_TUNNEL_META_OPERATION_QUERY_PROGRESS 0x02002002 Query the progress of an ongoing
SVHDX_CHANGE_TRACKING_START_REQUEST structure as payload. Application Requests Stopping Change Tracking The application provides: A handle to the Open identifying a VHD set. The SVHDX_TUNNEL_OPERATION_HEADER MUST be initialized as follows: The OperationCode MUST be set to RSVD_TUNNEL_CHANGE_TRACKING_STOP The Status field MUST be set to zero. The RequestId MUST be set to RequestIdentifier. The client MUST call the interface specified in section 3.2.4.20.11, supplying the following parameters: Application-provided handle to identify the Open. Control code: FSCTL_SVHDX_SYNC_TUNNEL_REQUEST. SVHDX_TUNNEL_OPERATION_HEADER structure as payload. Application Requests Opening a Shared VHD Set using a Target Specifier This section is applicable only if ClientServiceVersion is RSVD Protocol version 2. The application provides: A path to the VHD set file, needs to opened and mounted. SnapshotID, which is used to perform the Open operation. The client MUST append ":SharedVirtualDisk" at the end of the file path. The client MUST construct the FILE_FULL_EA_INFORMATION structure, as specified in section 2.4.15, and MUST be initialized as follows: NextEntryOffset MUST be set to 0. Flags MUST be set to FILE_NEED_EA. EaValueLength MUST be set to 24. EaNameLength MUST be set to 24. EaName MUST be set to "RSVD_TARGET_SPECIFIER_EA". EaValue MUST be set to the RSVD_BLOCK_DEVICE_TARGET_SPECIFIER structure, as specified in section , with the following values set: RsvdBlockDeviceTargetNamespace MUST be set to SnapshotId. TargetInformationSnapshot.SnapshotType MUST be set to SvhdxSnapshotTypeVM. TargetInformationSnapshot.SnapshotID MUST be set to the application-provided Snapshot ID.
Application Requests Querying List of Changed Ranges The application provides: A handle to the Open identifying a VHD set. TargetSnapshotID: GUID representing the snapshot to query the changed ranges. LimitSnapshotID: GUID representing the snapshot to use as a baseline for getting the list of changed ranges. ByteOffset: The byte offset of the region in the virtual disk to query changes for. ByteLength: The length, in of the region in the virtual disk to query changes for. The client MUST construct an SVHDX_TUNNEL_QUERY_VIRTUAL_DISK_CHANGES_REQUEST structure, as specified in section , as follows: TargetSnapshotID to application-provided TargetSnapshotID. LimitSnapshotID to application-provided LimitSnapshotID. SnapshotType to SvhdxSnapshotTypeVM. ByteOffset to application-provided ByteOffset. ByteLength to application-provided ByteLength. The SVHDX_TUNNEL_OPERATION_HEADER MUST be initialized as follows: The OperationCode MUST be set to RSVD_TUNNEL_QUERY_VIRTUAL_DISK_CHANGES. The Status field MUST be set to zero. The RequestId field MUST be set to RequestIdentifier. The client MUST call the interface specified in section 3.2.4.20.11, supplying the following input parameters: Application-provided handle to identify the Open. Control code: FSCTL_SVHDX_SYNC_TUNNEL_REQUEST. SVHDX_TUNNEL_OPERATION_HEADER structure as payload. The maximum output buffer size that it will accept. Application Requests Querying Safe Size The application provides: A handle to the Open identifying a shared virtual disk file. The SVHDX_TUNNEL_OPERATION_HEADER MUST be initialized as follows: The OperationCode field MUST be set to RSVD_TUNNEL_QUERY_SAFE_SIZE The Status MUST be set to zero. The RequestId field MUST be set to RequestIdentifier.
Open.SenseErrorDataList MUST be set to empty. Open.SenseErrorSequence MUST be set to 0x00. Open.CreateOptions MUST be set to the CreateOptions received as part of the local create operation. Open.IsVHDSet MUST be set to TRUE. Open.PendingDelete MUST be set to FALSE. Open.VHDSSnapshotId MUST be set to EaValue.TargetInformationSnapshot.SnapshotID. The server MUST return the status returned by the virtual SCSI disk. Receiving a Query Info Request If FileInfoClass is FileStandardInformation and OutputBufferLength is less than the size of FILE_STANDARD_INFORMATION, the server MUST fail the request with STATUS_BUFFER_TOO_SMALL. If FileInfoClass is FileNetworkOpenInformation and OutputBufferLength is less than the size of FILE_NETWORK_OPEN_INFORMATION, the server MUST fail the request with STATUS_BUFFER_TOO_SMALL. If FileInfoClass is FileEndOfFileInformation and OutputBufferLength is less than the size of FILE_END_OF_FILE_INFORMATION, the server MUST fail the request with STATUS_BUFFER_TOO_SMALL. If Open.IsVirtualSCSIDisk is the server MUST query the information requested from the underlying object store; otherwise, the server MUST query the information requested from the virtual SCSI disk in an implementation-specific manner. The server MUST return the file information result to the client. Receiving a Set Info Request If FileInfoClass is FileRenameInformation, the server MUST fail the request with STATUS_NOT_SUPPORTED. If FileInfoClass is FileLinkInformation, the server MUST fail the request with STATUS_INVALID_PARAMETER. The server MUST apply the information requested to the virtual SCSI disk in an manner. The server MUST return the status returned from the virtual SCSI disk. Timer Events None. Other Local Events None.
Index A 9 C 9 105 Client 47 67 67 47 11 13 F 10 G 7 H Higher-layer triggered events 68 I 102 102 8 Initialization 47 68 7 M Message processing 69 Messages 11 13 13 12 12 46 45 45 11 N 8 O 12 local events 67 91 8 P 102 9 9 103 R 7 8 8 8 S Security 102 102 Sequencing 69 Server 68 68 69 91 69 91 68 46 45 10 T Timer events 67 91 Timers 47 68 105 11 Triggered events - higher-layer 68 V 10 9