структура VDS_DISK_PROP2 (vds.h)
[Начиная с Windows 8 и Windows Server 2012 COM-интерфейс службы виртуальных дисков замечается API управления хранилищем Windows.]
Определяет свойства объекта диска. Эта структура идентична структуре VDS_DISK_PROP , за исключением того, что она также включает путь к расположению и, если диск находится в автономном режиме, причина, по которой он находится в автономном режиме.
Синтаксис
typedef struct _VDS_DISK_PROP2 {
VDS_OBJECT_ID id;
VDS_DISK_STATUS status;
VDS_DISK_OFFLINE_REASON OfflineReason;
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;
LPWSTR pwszLocationPath;
} VDS_DISK_PROP2, *PVDS_DISK_PROP2;
Члены
id
Guid объекта диска.
status
Значение перечисления VDS_DISK_STATUS , указывающее состояние диска. Если службе VDS не удается открыть дескриптор диска, для этого элемента устанавливается значение VDS_DS_UNKNOWN.
OfflineReason
Если диск находится в автономном режиме, этот элемент представляет собой значение перечисления VDS_DISK_OFFLINE_REASON , указывающее причину, по которой он находится в автономном режиме.
ReserveMode
Этот элемент зарезервирован для использования в будущем.
health
Значение перечисления VDS_HEALTH , указывающее состояние работоспособности диска. Ниже приведены допустимые значения для этого элемента.
VDS_H_UNKNOWN (0)
VDS_H_HEALTHY (1)
VDS_H_FAILING (4)
VDS_H_FAILED (8)
dwDeviceType
Тип устройства, определенный в Winioctl.h, который включает следующие типы:
dwMediaType
Тип мультимедиа, перечисляемый STORAGE_MEDIA_TYPE. Базовые и динамические диски сопоставляются с перечислителем FixedMedia . Дополнительные сведения см. в разделе STORAGE_MEDIA_TYPE.
ullSize
Размер диска в байтах. Чтобы определить максимальный размер тома для диска, вызовите IVdsDisk3::QueryFreeExtents и добавьте размеры всех свободных экстентов.
ulBytesPerSector
Количество байтов в каждом секторе.
ulSectorsPerTrack
Количество секторов в каждой дорожке.
ulTracksPerCylinder
Количество дорожек в каждом цилиндре.
ulFlags
Битовая маска VDS_DISK_FLAG значений перечисления, указывающих различные атрибуты диска.
BusType
Типы входной и выходной шины, перечисляемые VDS_STORAGE_BUS_TYPE.
PartitionStyle
Перечисление VDS_PARTITION_STYLE , указывающее стиль секции. Этот член является дискриминантом для профсоюза.
dwSignature
Используется, если PartitionStyle имеет VDS_PST_MBR (1). Сигнатура для раздела MBR. Это значение не гарантируется как уникальное.
DiskGuid
Используется, если PartitionStyle имеет значение VDS_PST_GPT (2). The
ИДЕНТИФИКАТОР GUID для диска. Кроме того, у каждой секции GPT есть собственный GUID. (См . VDS_PARTITION_INFO_GPT.)
pwszDiskAddress
Адрес диска, подобного SCSI, в форматеNNNPathNNNTargetNNN Lun NNN, где NNN — это одна или несколько цифр.
Диски SCSI, диски интегрированной среды разработки и диски Fibre Channel могут иметь такой адрес. Диски USB и 1394 имеют разные форматы адресов и не сохраняются.
Этот член является необязательным и может иметь значение NULL , если значение недоступно. Если значение не равно NULL, его длина должна быть больше или равна 22 WCHAR и меньше или равна 64 WCHAR, включая обязательный признак конца NULL . Приложения, получающие структуру VDS_DISK_PROP2 путем вызова IVdsDisk3::GetProperties2, должны проверка, имеет ли этот член значение NULL.
pwszName
Имя, используемое для открытия дескриптора для объекта, созданного с помощью функции CreateFile . Пример:
pwszFriendlyName
Имя, возвращаемое диспетчером Plug and Play (PnP). Это имя сохраняется в реестре Windows с помощью диспетчера Plug and Play, например SEAGATE ST34573N дискового устройства SCSI.
pwszAdaptorName
Имя адаптера, к которому подключен этот диск. Диспетчер PnP возвращает имя, которое хранится в реестре Windows, например"Adaptec AHA-2940U2W - Ultra2 SCSI".
pwszDevicePath
Строка, возвращаемая диспетчером PnP. Диспетчер PnP использует путь к устройству для уникальной идентификации устройства на компьютере. Дополнительные сведения см. в разделе SP_DEVICE_INTERFACE_DETAIL_DATA_W.
pwszLocationPath
Строка, содержащая путь к расположению PnP диска. Формат этой строки зависит от типа шины. Если тип шины — SCSI, SAS или PCI RAID, формат — AdapterPnpLocationPath#BusType(PPathIdTTargetIdLLunId). Если тип шины — IDE, ATA, PATA или SATA, формат — AdapterPnpLocationPath#BusType(CPathIdTTargetIdLLunId). В следующем разделе Примечания приведена таблица со списком частей этой строки.
Комментарии
Метод IVdsDisk3::GetProperties2 возвращает эту структуру для отчета о свойствах объекта диска.
В следующей таблице перечислены части строки пути к расположению, используемой в элементе pwszLocationPath .
Часть пути к расположению | Описание |
---|---|
AdapterPnpLocationPath | Путь к расположению PnP адаптера. Это извлекается путем вызова функции SetupDiGetDeviceProperty , передавая &DEVPKEY_Device_LocationPaths для параметра PropertyKey . |
BusType | Тип шины: ATA, RAID, SAS или SCSI. Примечание Если шина имеет тип IDE, PATA или SATA, она отображается как ATA в строке пути расположения. Если это PCI RAID, он отображается как RAID.
|
PathId | Номер автобуса. Это значение элемента PathId структуры SCSI_ADDRESS , возвращаемой кодом элемента управления IOCTL_SCSI_GET_ADDRESS . |
TargetId | Номер целевого устройства. Это значение элемента TargetId структуры SCSI_ADDRESS , возвращаемой кодом элемента управления IOCTL_SCSI_GET_ADDRESS . |
LunId | Номер LUN. Это значение элемента Lunструктуры SCSI_ADDRESS , возвращаемой кодом элемента управления IOCTL_SCSI_GET_ADDRESS . |
В следующей таблице приведены примеры путей к расположению.
Тип шины | Пример пути к расположению |
---|---|
ATA | PCIROOT(0)#PCI(0100)#ATA(C01T03L00) |
RAID | PCIROOT(0)#PCI(0200)#PCI(0003)#PCI(0100)#RAID(P02T00L00) |
SAS | PCIROOT(1)#PCI(0300)#SAS(P00T03L00) |
SCSI | PCIROOT(0)#PCI(1C00)#PCI(0000)#SCSI(P00T01L01) |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Верхняя часть | vds.h |