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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

1. The client initiates the enumeration of volumes by calling the IVdsPack::QueryVolumesmethod.2. Upon successful execution of the IVdspack::QueryVolumes method, the server creates anenumeration object and returns a reference to an IEnumVdsObject interface.3. The client can call IEnumVdsObject::Next for the next object in the enumeration that it wantsto retrieve.4. Upon receiving the IEnumVdsObject::Next request, the server looks for the next volume objectin the enumeration. If one exists, then the server returns an HRESULT of 0x00000000 and areference to the IUnknown interface to the client. If the server reaches the end of theenumeration, the server returns an HRESULT of 0x00000001.5. Assuming the server returned a zero HRESULT, the client invokes the interface'sIUnknown::QueryInterface method to request for the object's IVdsVolume interface.6. The server returns an HRESULT of 0x00000000 and a reference to the IVdsVolume interface tothe client. The client may access the volume information through the IVdsVolume interface.7. When a client no longer needs the IVdsVolume interface, the client must release the referenceto the interface by calling IVdsVolume::Release.8. The server returns a new reference count for IVdsVolume::Release.9. The client also needs to release the reference to the IUnknown interface by callingIUnknown::Release.10.The server returns a new reference count for IUnknown::Release.11.The client can call IEnumVDsObject::Next again for the next object in the enumeration.12.When the server reaches the end of the enumeration, the server returns an HRESULT of0x00000001.13.The client no longer needs the IEnumVdsObject interface, so it callsIEnumVdsObject::Release to release the reference.14.The server returns a new reference count for IEnumVdsObject.All other <strong>VDS</strong> objects that are retrievable via enumeration can be retrieved using similar steps.4.4 Retrieving the Properties and IDs of <strong>VDS</strong> ObjectsAfter an object is retrieved, a common task is to look for the <strong>VDS</strong> object ID, which uniquelyidentifies the object and is located in the object's properties structure.The following figure shows how to retrieve the properties of a volume object, if one exists. Forinformation on how to retrieve a reference to a volume object, see section 4.3.[<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, 2011287 / 360

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

Saved successfully!

Ooh no, something went wrong!