A drive object models a physical disk drive that is contained within a subsystem. Each drive connects to a bus, occupies a slot, and contains a set of drive extents. Each drive can contribute extents to any number of LUNs. A drive can also be designated as a hot spare.
Use the IVdsSubSystem::QueryDrives method to determine the drives that are contained by a specific subsystem. Callers can get a pointer to a specific drive by selecting the desired drive object from the enumeration that is returned by the QueryDrives method, or by invoking the IVdsSubSystem::GetDrive method and passing in the desired bus and slot number. With a drive object, you can set the drive status and query for drive properties, associated drive extents, and the subsystem containing the drive.
In addition to an object identifier, a name, and a serial number, drive object properties include the drive status, health, and flags; the size in bytes; and a bus and slot number.
The following table lists related interfaces, enumerations, and structures.
|Interfaces that are always exposed by this object||IVdsDrive|
|Interfaces that may be exposed by this object||IVdsMaintenance|
|Associated enumerations||VDS_DRIVE_FLAG, VDS_DRIVE_STATUS, and VDS_DRIVE_EXTENT.|
|Associated structures||VDS_DRIVE_PROP and VDS_DRIVE_NOTIFICATION.|