VDS_DISK_PROP structure (vds.h)
[Beginning with Windows 8 and Windows Server 2012, the Virtual Disk Service COM interface is superseded by the Windows Storage Management API.]
Defines the properties of a disk object.
Syntax
typedef struct _VDS_DISK_PROP {
VDS_OBJECT_ID id;
VDS_DISK_STATUS status;
VDS_LUN_RESERVE_MODE ReserveMode;
VDS_HEALTH health;
DWORD dwDeviceType;
DWORD dwMediaType;
ULONGLONG ullSize;
ULONG ulBytesPerSector;
ULONG ulSectorsPerTrack;
ULONG ulTracksPerCylinder;
ULONG ulFlags;
VDS_STORAGE_BUS_TYPE BusType;
VDS_PARTITION_STYLE PartitionStyle;
union {
DWORD dwSignature;
GUID DiskGuid;
};
LPWSTR pwszDiskAddress;
LPWSTR pwszName;
LPWSTR pwszFriendlyName;
LPWSTR pwszAdaptorName;
LPWSTR pwszDevicePath;
} VDS_DISK_PROP, *PVDS_DISK_PROP;
Members
id
The GUID of the disk object.
status
The availability of a physical disk enumerated by VDS_DISK_STATUS. If the VDS service cannot open a handle to the disk, it sets this member to VDS_DS_UNKNOWN.
ReserveMode
This member is reserved for future use.
health
A VDS_HEALTH enumeration value that specifies the health state of the disk. The following are the valid values for this member.
VDS_H_UNKNOWN (0)
VDS_H_HEALTHY (1)
VDS_H_FAILING (4)
VDS_H_FAILED (8)
dwDeviceType
The device type defined in Winioctl.h, which includes the following types among others:
dwMediaType
A media type enumerated by STORAGE_MEDIA_TYPE. Basic and dynamic disks map to the FixedMedia enumerator. For more information, see STORAGE_MEDIA_TYPE.
ullSize
The size of the disk in bytes. To determine the maximum volume size for a disk, call IVdsDisk3::QueryFreeExtents and add the sizes of all free extents.
ulBytesPerSector
The number of bytes in each sector.
ulSectorsPerTrack
The number of sectors in each track.
ulTracksPerCylinder
The number of tracks in each cylinder.
ulFlags
A bitmask of VDS_DISK_FLAG enumeration values that specify various disk attributes.
BusType
The input/output bus types enumerated by VDS_STORAGE_BUS_TYPE.
PartitionStyle
A VDS_PARTITION_STYLE enumeration value that specifies the partition type. This member is the discriminant for the union.
dwSignature
Used if PartitionStyle is VDS_PST_MBR (1). The signature for the MBR partition. This value is not guaranteed to be unique.
DiskGuid
Used if PartitionStyle is VDS_PST_GPT (2). The GUID for the disk. In addition, each GPT partition has its own GUID. (See VDS_PARTITION_INFO_GPT.)
pwszDiskAddress
The address of a SCSI-like disk in PortNNNPathNNNTargetNNNLunNNN format, where NNN is one or more digits.
SCSI disks, IDE disks, and Fibre Channel disks can have such an address. USB and 1394 disks have different address formats and are not stored.
This member is optional and can be NULL if no value is available. If it is not NULL, its length must be greater than or equal to 22 WCHAR and less than or equal to 64 WCHAR, including the required NULL terminator. Applications that receive the VDS_DISK_PROP structure by calling IVdsDisk::GetProperties must check whether this member is NULL.
pwszName
The name used to open a handle to an object created using the CreateFile
function. For example: \\?\PhysicalDrive2
pwszFriendlyName
The name returned by the Plug and Play Manager. This name is maintained in the Windows registry by the Plug and Play Manager, for example: "SEAGATE ST34573N SCSI Disk Device".
pwszAdaptorName
The name of the adapter to which this disk is attached. The Plug and Play Manager returns the name, which is maintained in the Windows registry, for example: "Adaptec AHA-2940U2W - Ultra2 SCSI".
pwszDevicePath
The string returned by the Plug and Play Manager. The Plug and Play Manager uses the device path to uniquely identify a device on a computer. For more information, see SP_DEVICE_INTERFACE_DETAIL_DATA_W.
Remarks
The IVdsDisk::GetProperties method returns the value of this structure to report the properties of a disk object.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows Vista [desktop apps only] |
Minimum supported server | Windows Server 2003 [desktop apps only] |
Header | vds.h |