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.

4. The server returns a reference to the IVds<strong>Service</strong>Initialization interface.5. The client calls the IVds<strong>Service</strong>Initialization::Initialize method.6. The server begins initializing the service and returns control back to the client.7. The client calls the IVds<strong>Service</strong>::WaitFor<strong>Service</strong>Ready method.8. The server replies to the client with an HRESULT indicating whether the service initialization wassuccessful. If the <strong>VDS</strong> service initialization is successful (HRESULT of 0x00000000), the client canrequest virtual disk management operations to the server through the methods in theIVds<strong>Service</strong> interface.9. The client initiates the enumeration of providers by calling the IVds<strong>Service</strong>::QueryProvidersmethod.10.Upon successful execution of the IVds<strong>Service</strong>::QueryProviders method, the server creates anenumeration object and returns a reference to an IEnumVdsObject interface.11.The client can call IEnumVdsObject::Next to retrieve the next provider in the enumeration.12.Upon receiving the IEnumVdsObject::Next request, the server looks for the next providerobject in the enumeration. If there is a provider object in the enumeration, the server returns anHRESULT of 0x00000000 and a reference to the IUnknown interface to the client. If the serverreaches the end of the enumeration, the server returns a HRESULT of 0x00000001.13.If the server returns a zero disk, the client invokes the interface's IUnknown::QueryInterfacemethod to request for the object's IVdsProvider interface.14.The server returns a HRESULT of 0x00000000 and a reference to the IVdsProvider interface tothe client. The client may access the provider information through the IVdsProvider interface.15.If the client wants to query the objects in the provider, the client invokes the interface'sIUnknown::QueryInterface method to request for the object's IVdsSwProvider interface.16.The server returns a HRESULT of 0x00000000 and a reference to the IVdsSwProvider interfaceto the client. The client may enumerate the objects in the provider through the IVdsProviderinterface.17.When a client no longer needs the IVdsProvider interface, the client must release the referenceto the interface by calling IVdsProvider::Release.18.The server returns a new reference count for IVdsProvider::Release.19.The client also needs to release the reference to the IUnknown interface by callingIUnknown::Release.20.The server returns a new reference count for IUnknown::Release.21.The client can call IEnumVdsObject::Next again for the next provider in the enumeration.22.If the server reaches the end of the enumeration, the server returns a HRESULT of 0x00000001.23.The client no longer needs the IEnumVdsObject interface; therefore, it callsIEnumVdsObject::Release to release the reference.24.The server returns a new reference count for IEnumVdsObject.[<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, 2011283 / 360

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

Saved successfully!

Ooh no, something went wrong!