[MS-VDS]: Virtual Disk Service (VDS) Protocol Specification
[MS-VDS]: Virtual Disk Service (VDS) Protocol Specification
[MS-VDS]: Virtual Disk Service (VDS) Protocol Specification
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
For a <strong>VDS</strong>_DISK_EXTENT or <strong>VDS</strong>_DISK_FREE_EXTENT that describes a disk extent, a clientmaps the extent to its disk by obtaining a list of <strong>VDS</strong>_DISK_PROP or <strong>VDS</strong>_DISK_PROP2structures. The client obtains this list by invoking IVdsPack::Query<strong>Disk</strong>s followed byIVds<strong>Disk</strong>::GetProperties or IVds<strong>Disk</strong>3::GetProperties2 for each disk. The server returns a<strong>VDS</strong>_DISK_PROP structure from IVds<strong>Disk</strong>::GetProperties or a <strong>VDS</strong>_DISK_PROP2 structurefrom IVds<strong>Disk</strong>3::GetProperties2. The client matches the <strong>VDS</strong>_DISK_EXTENT::diskId or<strong>VDS</strong>_DISK_FREE_EXTENT::diskId member to the <strong>VDS</strong>_DISK_PROP::id or<strong>VDS</strong>_DISK_PROP2::id member.<strong>Disk</strong>s and Partitions: The client invokes IUnknown::QueryInterface to obtain theIVdsAdvanced<strong>Disk</strong> interface. The client invokes IVdsAdvanced<strong>Disk</strong>::QueryPartitions to obtaina list of the partitions for a specified disk. The server returns a list of <strong>VDS</strong>_PARTITION_PROPstructures, one for each partition on the disk.Extents and Volumes: For a <strong>VDS</strong>_DISK_EXTENT that describes a disk extent, a client maps theextent to its volume by obtaining a list of <strong>VDS</strong>_VOLUME_PROP structures. The client obtains thislist by invoking IVdsPack::QueryVolumes, followed by IVdsVolume::GetProperties orIVdsVolume2::GetProperties2 for each volume. The server returns a <strong>VDS</strong>_VOLUME_PROPstructure from IVdsVolume::GetProperties or a <strong>VDS</strong>_VOLUME_PROP2 structure fromIVdsVolume2::GetProperties2. The client matches the <strong>VDS</strong>_DISK_EXTENT::volumeIdmember to the <strong>VDS</strong>_VOLUME_PROP::id or <strong>VDS</strong>_VOLUME_PROP2::id member.Extents and Plexes: For a <strong>VDS</strong>_DISK_EXTENT that describes a disk extent, a client maps theextent to its volume plex by obtaining a list of <strong>VDS</strong>_VOLUME_PLEX_PROP structures. The clientobtains this list by invoking IVdsVolume::QueryPlexes, followed byIVdsVolumePlex::GetProperties for each plex. The server returns a<strong>VDS</strong>_VOLUME_PLEX_PROP structure from IVdsVolumePlex::GetProperties orIVdsVolume2::GetProperties2. The client matches the <strong>VDS</strong>_DISK_EXTENT::plexId member tothe <strong>VDS</strong>_VOLUME_PLEX_PROP::id member.Volumes and File Systems: For a <strong>VDS</strong>_FILE_SYSTEM_PROP structure that describes a file system,a client maps the file system to a volume by obtaining a list of <strong>VDS</strong>_VOLUME_PROP structures.The client invokes IVdsPack::QueryVolumes, followed by IVdsVolume::GetProperties for eachvolume. The server returns a <strong>VDS</strong>_VOLUME_PROP structure from IVdsVolume::GetPropertiesor IVdsVolume2::GetProperties2. The client matches the<strong>VDS</strong>_FILE_SYSTEM_PROP::volumeId member to the <strong>VDS</strong>_VOLUME_PROP::id or<strong>VDS</strong>_VOLUME_PROP2::id member.Volumes and Drive Letters: For a <strong>VDS</strong>_DRIVE_LETTER_PROP structure that describes a driveletter, a client maps the drive letter to a volume by obtaining a list of <strong>VDS</strong>_VOLUME_PROPstructures. The client invokes IVdsPack::QueryVolumes, followed byIVdsVolume::GetProperties or IVdsVolume2::GetProperties2 for each volume. The serverreturns a <strong>VDS</strong>_VOLUME_PROP structure from IVdsVolume::GetProperties or a<strong>VDS</strong>_VOLUME_PROP2 structure from IVdsVolume2::GetProperties2. The client matches the<strong>VDS</strong>_DRIVE_LETTER_PROP::volumeId member to the <strong>VDS</strong>_VOLUME_PROP::id or<strong>VDS</strong>_VOLUME_PROP2::id member.3.2.1.2 <strong>Service</strong> and ProvidersIVds<strong>Service</strong>::GetObject: "XXX" is a placeholder for provider, pack, disk, virtual disk, volume,volume plex, or HBA port. Prior to invoking GetObject, the client invokes QueryXXXs on interfacesthat have a QueryXXXs method. The server responds with an IEnumVdsObject interface, whichenumerates a list of IUnknown interfaces, one for each object that is associated with theenumeration. The client invokes IUnknown::QueryInterface to retrieve an IVdsXXX interface onthe object. The client invokes IVdsXXX::GetProperties to retrieve the object ID. The client passes[<strong>MS</strong>-<strong>VDS</strong>] — v20110610<strong>Virtual</strong> <strong>Disk</strong> <strong>Service</strong> (<strong>VDS</strong>) <strong>Protocol</strong> <strong>Specification</strong>Copyright © 2011 Microsoft Corporation.Release: Friday, June 10, 2011146 / 360