VDS Interfaces

[Beginning with Windows 8 and Windows Server 2012, the Virtual Disk Service COM interface is superseded by the Windows Storage Management API.]

Virtual Disk Service (VDS) objects provide interfaces that expose methods for querying, configuring, and maintaining storage devices.

Interface Description
IEnumVdsObject Enumerates through a set of VDS objects of a given type.
IVdsAdmin Registers a provider with VDS.
IVdsAdvancedDisk Creates and deletes partitions, and modifies partition attributes.
IVdsAdvancedDisk2 Provides a method to change partition types.
IVdsAdviseSink Receives VDS notifications.
IVdsAsync Manages asynchronous operations.
IVdsController Exposes methods for performing query and configuration operations on a controller.
IVdsControllerControllerPort Provides a method to enumerate controller ports for a class implementing the IVdsController interface.
IVdsControllerPort Provides methods for performing query and configuration operations on a controller port.
IVdsCreatePartitionEx Creates a partition on a basic disk.
IVdsDisk Queries and configures basic and dynamic disks.
IVdsDisk2 Provides a method to set the SAN mode of a disk to offline or online.
IVdsDiskPartitionMF Provides methods to perform file system management operations on partitions.
IVdsDiskPartitionMF2 Provides a method to format a partition with additional formatting options.
IVdsDrive Provides methods for performing query and configuration operations on a drive.
IVdsDrive2 Provides a method for querying the properties of a drive.
IVdsHbaPort Provides methods to query and interact with HBA ports on the local system.
IVdsHwProvider Provides methods for performing query, reenumeration, and refresh operations on a hardware provider.
IVdsHwProviderPrivate Provides a method that enables VDS to determine whether the hardware provider owns a specified LUN.
IVdsHwProviderPrivateMpio Provides a method that sets the status of paths originating from a particular HBA port to the provider.
IVdsHwProviderStoragePools Provides methods to create LUNs in a storage pool and enumerate the storage pools managed by a hardware provider.
IVdsHwProviderType Provides a method to retrieve the type of hardware provider.
IVdsHwProviderType2 This interface is not implemented. Use IVdsHwProviderType instead.
IVdsIscsiInitiatorAdapter Provides methods to query and interact with iSCSI initiator adapters on the local system.
IVdsIscsiInitiatorPortal Provides methods to query and interact with iSCSI initiator portals on the local system.
IVdsIscsiPortal Provides methods for performing query and configuration operations on an iSCSI portal.
IVdsIscsiPortalGroup Provides methods for performing query and configuration services on an iSCSI portal group.
IVdsIscsiPortalLocal Provides methods for setting local-initiator specific IPSEC pre-shared keys on an iSCSI portal.
IVdsIscsiTarget Provides methods for performing query and configuration operations on an iSCSI target.
IVdsLun Provides methods for performing query and configuration operations on a LUN (logical unit number).
IVdsLun2 Provides methods for applying and querying logical unit number (LUN) hints.
IVdsLunControllerPorts Provides methods for performing controller port configuration operations on a LUN.
IVdsLunIscsi Provides methods for performing query and configuration operations on an iSCSI LUN.
IVdsLunMpio Provides methods for performing query and configuration operations on a LUN with MPIO extensions.
IVdsLunNaming Provides a method to name LUNs for a class implementing the IVdsLun interface.
IVdsLunNumber Provides a method to query the LUN number for a LUN.
IVdsLunPlex Provides methods for performing query and configuration operations on a LUN plex.
IVdsMaintenance Provides methods for performing maintenance operations on a subsystem, controller, or drive.
IVdsOpenVDisk Defines methods for managing a virtual disk.
IVdsPack Queries and configures packs containing disks, and creates volumes.
IVdsPack2 Provides a method to create aligned volumes on a pack.
IVdsProvider Returns a hardware or software provider's properties.
IVdsProviderPrivate Provides methods to enable VDS to perform miscellaneous operations on provider objects.
IVdsProviderSupport Provides a method to indicate what versions of the VDS interfaces are supported by the provider.
IVdsRemovable Queries and ejects removable disks, such as CD-ROMs.
IVdsService Provides service-level methods for working with VDS.
IVdsServiceHba Provides a method to query HBA ports on the local system.
IVdsServiceIscsi Provides methods to interface with the local initiator service.
IVdsServiceLoader Launches VDS.
IVdsServiceUninstallDisk Provides methods to uninstall basic and dynamic disks.
IVdsStoragePool Provides methods to query information and enumerate related objects for a storage pool.
IVdsSubSystem Provides methods for performing query and configuration operations on a subsystem.
IVdsSubSystem2 Provides methods for performing query and configuration operations on a subsystem using the VDS_HINTS2 and VDS_SUB_SYSTEM_PROP2 structures.
IVdsSubSystemImportTarget Provides methods to query and configure the default VSS import target for the subsystem.
IVdsSubSystemInterconnect Provides a method to query the interconnect types that are supported by a subsystem.
IVdsSubSystemIscsi Provides methods to query and configure iSCSI targets and portals on a subsystem.
IVdsSubSystemNaming Provides a method to name subsystems for a class implementing the IVdsSubSystem interface.
IVdsSwProvider Performs software-provider operations.
IVdsVDisk Defines methods for managing a virtual disk.
IVdsVdProvider Defines methods for creating and managing virtual disks.
IVdsVolume Creates and deletes volume plexes, and modifies volume attributes.
IVdsVolume2 Provides a method for returning volume property information, including the volume GUIDs.
IVdsVolumeMF Performs access path and file system operations on volume objects.
IVdsVolumeMF2 Provides methods to perform additional file system management operations on the volume object.
IVdsVolumeMF3 Provides methods to perform additional file system management operations on the volume object.
IVdsVolumeOnline Provides a method to bring single volumes online.
IVdsVolumePlex Queries the containing volume and repairs bad extents.
IVdsVolumeShrink Provides methods to support volume shrinking.