You are on page 1of 2

Managing Servers and Desktops

VDS makes it easy for you to manage the storage on remote servers. Applications that are
written for VDS, such as the Disk Management snap-in, use the appropriate services to
connect to and manage the storage on those systems.

To remotely manage a computer running Windows Server 2003 from another computer
running Windows Server 2003, the following process occurs. The VDS Loader on the
first Windows Server 2003 computer loads VDS on the managed computer. VDS calls
CoCreateInstance, which passes an interface pointer back to the Disk Management snap-
in, which then allows remote management of the computer.

The following diagram illustrates the components that are used when you remotely
manage the storage devices on computers that are running Windows Server 2003.

Components Used When Managing Remote Servers

Retrieving a List of Providers

When you manage storage on a server, it is often useful to retrieve the list of hardware
and software providers. To get the list of providers, you can use an application, such as
DiskRAID, to call CoCreateInstance with the class identifier of the VDS Loader and
request the IVdsServiceLoader interface. Using the IVdsServiceLoader interface, the
application makes a call to the LoadService() method which loads VDS.

The application then calls the WaitForServiceReady() method to wait for the service to
fully load before making other calls. The LoadService() method loads the providers. VDS
queries the registry and retrieves the list of registered software and hardware providers.
VDS loads all providers listed in the registry. The LoadService() method returns the
IVdsService interface, which contains the QueryProviders method. This method returns a
COM enumerator interface.

The application then uses the COM enumerator interface to get an IUnknown interface on
the provider object (call Next*() on the enumerator interface), and calls the
QueryInterface method on the IUnknown interface to get specific provider interface, such
as IVdsSwProvider or IVdsHwProvider. This provider interface can be used to query the
software and hardware providers and retrieve the providers properties such as the name,
type, and version. The following diagram summarizes the process of retrieving a list of
providers.