VDS_DISK_PROP2 structure (vds.h)
[À compter de Windows 8 et Windows Server 2012, l’interface COM du service de disque virtuel est remplacée par l’API gestion du stockage Windows.]
Définit les propriétés d’un objet de disque. Cette structure est identique à la structure VDS_DISK_PROP , sauf qu’elle inclut également le chemin d’accès à l’emplacement et, si le disque est hors connexion, la raison pour laquelle il est hors connexion.
Syntaxe
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;
Membres
id
GUID de l’objet disque.
status
Valeur d’énumération VDS_DISK_STATUS qui spécifie le status du disque. Si le service VDS ne peut pas ouvrir un handle sur le disque, il définit ce membre sur VDS_DS_UNKNOWN.
OfflineReason
Si le disque est hors connexion, ce membre est une valeur d’énumération VDS_DISK_OFFLINE_REASON qui spécifie la raison pour laquelle il est hors connexion.
ReserveMode
Ce membre est réservé pour un usage ultérieur.
health
Valeur d’énumération VDS_HEALTH qui spécifie l’état d’intégrité du disque. Voici les valeurs valides pour ce membre.
VDS_H_UNKNOWN (0)
VDS_H_HEALTHY (1)
VDS_H_FAILING (4)
VDS_H_FAILED (8)
dwDeviceType
Type d’appareil défini dans Winioctl.h, qui inclut notamment les types suivants :
dwMediaType
Type de média énuméré par STORAGE_MEDIA_TYPE. Les disques de base et dynamiques sont mappés à l’énumérateur FixedMedia . Pour plus d’informations, consultez STORAGE_MEDIA_TYPE.
ullSize
Taille du disque en octets. Pour déterminer la taille maximale du volume d’un disque, appelez IVdsDisk3 ::QueryFreeExtents et ajoutez les tailles de toutes les extensions libres.
ulBytesPerSector
Nombre d’octets dans chaque secteur.
ulSectorsPerTrack
Nombre de secteurs dans chaque piste.
ulTracksPerCylinder
Nombre de pistes dans chaque cylindre.
ulFlags
Masque de bits de VDS_DISK_FLAG valeurs d’énumération qui spécifient différents attributs de disque.
BusType
Types de bus d’entrée/sortie énumérés par VDS_STORAGE_BUS_TYPE.
PartitionStyle
Énumération VDS_PARTITION_STYLE qui spécifie le style de partition. Ce membre est le discriminant du syndicat.
dwSignature
Utilisé si PartitionStyle est VDS_PST_MBR (1). Signature de la partition MBR. Il n’est pas garanti que cette valeur soit unique.
DiskGuid
Utilisé si PartitionStyle est VDS_PST_GPT (2). The
GUID du disque. En outre, chaque partition GPT a son propre GUID. (Voir VDS_PARTITION_INFO_GPT.)
pwszDiskAddress
Adresse d’un disque de type SCSI au formatNNN NNNcibleNNN Chemin NNN cible NNNlun, où NNN est un ou plusieurs chiffres.
Les disques SCSI, les disques IDE et les disques Fibre Channel peuvent avoir une telle adresse. Les disques USB et 1394 ont des formats d’adresse différents et ne sont pas stockés.
Ce membre est facultatif et peut être NULL si aucune valeur n’est disponible. S’il n’est pas NULL, sa longueur doit être supérieure ou égale à 22 WCHAR et inférieure ou égale à 64 WCHAR, y compris le terminateur NULL requis. Les applications qui reçoivent la structure VDS_DISK_PROP2 en appelant IVdsDisk3 ::GetProperties2 doivent case activée si ce membre a la valeur NULL.
pwszName
Nom utilisé pour ouvrir un handle à un objet créé à l’aide de la fonction CreateFile . Par exemple :
pwszFriendlyName
Nom retourné par le gestionnaire Plug-and-Play (PnP). Ce nom est conservé dans le Registre Windows par le Plug-and-Play Manager, par exemple : « PÉRIPHÉRIQUE de disque ST34573N SCSI ».
pwszAdaptorName
Nom de l’adaptateur auquel ce disque est attaché. Le Gestionnaire PnP retourne le nom, qui est conservé dans le Registre Windows, par exemple : « Adaptec AHA-2940U2W - Ultra2 SCSI ».
pwszDevicePath
Chaîne retournée par le Gestionnaire PnP. Le Gestionnaire PnP utilise le chemin d’accès de l’appareil pour identifier de manière unique un appareil sur un ordinateur. Pour plus d’informations, consultez SP_DEVICE_INTERFACE_DETAIL_DATA_W.
pwszLocationPath
Chaîne qui contient le chemin d’accès de l’emplacement PnP du disque. Le format de cette chaîne dépend du type de bus. Si le type de bus est SCSI, SAS ou RAID PCI, le format est AdapterPnpLocationPath#BusType(PPathIdTTargetIdLLunId). Si le type de bus est IDE, ATA, PATA ou SATA, le format est AdapterPnpLocationPath#BusType(CPathIdTTargetIdLLunId). Consultez la section Remarques suivante pour obtenir un tableau qui répertorie les parties de cette chaîne.
Remarques
La méthode IVdsDisk3 ::GetProperties2 retourne cette structure pour signaler les propriétés d’un objet de disque.
Le tableau suivant répertorie les parties de la chaîne de chemin d’accès d’emplacement utilisée dans le membre pwszLocationPath .
Partie chemin d’accès à l’emplacement | Description |
---|---|
AdapterPnpLocationPath | Chemin d’accès de l’emplacement PnP de l’adaptateur. Elle est récupérée en appelant la fonction SetupDiGetDeviceProperty , en passant &DEVPKEY_Device_LocationPaths pour le paramètre PropertyKey . |
BusType | Type de bus : ATA, RAID, SAS ou SCSI. Note Si le type de bus est IDE, PATA ou SATA, il apparaît comme ATA dans la chaîne de chemin d’accès d’emplacement. S’il s’agit d’un RAID PCI, il apparaît sous la forme RAID.
|
PathId | Numéro du bus. Il s’agit de la valeur du membre PathId de la structure SCSI_ADDRESS qui est retournée par le code de contrôle IOCTL_SCSI_GET_ADDRESS . |
TargetId | Numéro de l’appareil cible. Il s’agit de la valeur du membre TargetId de la structure SCSI_ADDRESS qui est retournée par le code de contrôle IOCTL_SCSI_GET_ADDRESS . |
LunId | Numéro du numéro d’unité logique. Il s’agit de la valeur du membre Lun de la structure SCSI_ADDRESS qui est retournée par le code de contrôle IOCTL_SCSI_GET_ADDRESS . |
Le tableau suivant contient des exemples de chemins d’accès d’emplacement.
Type de bus | Exemple de chemin d’accès à l’emplacement |
---|---|
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) |
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 7 [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 R2 [applications de bureau uniquement] |
En-tête | vds.h |