13.07.2015 Views

[MS-VDS]: Virtual Disk Service (VDS) Protocol Specification

[MS-VDS]: Virtual Disk Service (VDS) Protocol Specification

[MS-VDS]: Virtual Disk Service (VDS) Protocol Specification

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!