struttura VDS_DISK_PROP2 (vds.h)

[A partire da Windows 8 e Windows Server 2012, l'interfaccia COM del servizio disco virtuale viene sostituita dall'API gestione archiviazione di Windows.]

Definisce le proprietà di un oggetto disco. Questa struttura è identica alla struttura VDS_DISK_PROP , ad eccezione del fatto che include anche il percorso del percorso e, se il disco è offline, il motivo per cui è offline.

Sintassi

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;

Members

id

GUID dell'oggetto disco.

status

Valore di enumerazione VDS_DISK_STATUS che specifica lo stato del disco. Se il servizio VDS non può aprire un handle sul disco, imposta questo membro su VDS_DS_UNKNOWN.

Nota Questo membro può essere VDS_DS_ONLINE, anche se lo stato del pacchetto contenitore è VDS_PS_OFFLINE.
 

OfflineReason

Se il disco è offline, questo membro è un valore di enumerazione VDS_DISK_OFFLINE_REASON che specifica il motivo per cui è offline.

ReserveMode

Questo membro è riservato per usi futuri.

health

Valore di enumerazione VDS_HEALTH che specifica lo stato di integrità del disco. Di seguito sono riportati i valori validi per questo membro.

VDS_H_UNKNOWN (0)

VDS_H_HEALTHY (1)

VDS_H_FAILING (4)

VDS_H_FAILED (8)

dwDeviceType

Tipo di dispositivo definito in Winioctl.h, che include i tipi seguenti tra gli altri:

dwMediaType

Tipo di supporto enumerato da STORAGE_MEDIA_TYPE. I dischi di base e dinamici eseguono il mapping all'enumeratore FixedMedia . Per altre informazioni, vedere STORAGE_MEDIA_TYPE.

ullSize

Dimensioni del disco in byte. Per determinare le dimensioni massime del volume per un disco, chiamare IVdsDisk3::QueryFreeExtents e aggiungere le dimensioni di tutti gli extent liberi.

ulBytesPerSector

Numero di byte in ogni settore.

ulSectorsPerTrack

Numero di settori in ogni traccia.

ulTracksPerCylinder

Numero di tracce in ogni cilindro.

ulFlags

Maschera di bit di VDS_DISK_FLAG valori di enumerazione che specificano vari attributi del disco.

BusType

Tipi di bus di input/output enumerati da VDS_STORAGE_BUS_TYPE.

PartitionStyle

Enumerazione VDS_PARTITION_STYLE che specifica lo stile della partizione. Questo membro è il discriminante per l'unione.

dwSignature

Usato se PartitionStyle è VDS_PST_MBR (1). Firma per la partizione MBR. Questo valore non è garantito che sia univoco.

DiskGuid

Usato se PartitionStyle è VDS_PST_GPT (2). The
GUID per il disco. Inoltre, ogni partizione GPT ha il proprio GUID. Vedere VDS_PARTITION_INFO_GPT.

pwszDiskAddress

Indirizzo di un disco simile a SCSI nel formatoNNN NNNDi destinazione NNNNNNdi destinazioneNNN NNN, dove NNN è una o più cifre.

I dischi SCSI, i dischi IDE e i dischi Fibre Channel possono avere tale indirizzo. I dischi USB e 1394 hanno formati di indirizzi diversi e non vengono archiviati.

Questo membro è facoltativo e può essere NULL se non è disponibile alcun valore. Se non è NULL, la lunghezza deve essere maggiore o uguale a 22 WCHAR e minore o uguale a 64 WCHAR, incluso il carattere di terminazione NULL richiesto. Le applicazioni che ricevono la struttura VDS_DISK_PROP2 chiamando IVdsDisk3::GetProperties2 devono verificare se questo membro è NULL.

pwszName

Nome utilizzato per aprire un handle a un oggetto creato usando la funzione CreateFile . Ad esempio:

pwszFriendlyName

Nome restituito dal gestore Plug and Play (PnP). Questo nome viene mantenuto nel Registro di sistema di Windows da Plug and Play Manager, ad esempio: "SEAGATE ST34573N dispositivo disco SCSI".

pwszAdaptorName

Nome dell'adattatore a cui è collegato il disco. PnP Manager restituisce il nome, che viene mantenuto nel Registro di sistema di Windows, ad esempio: "Adaptec AHA-2940U2W - Ultra2 SCSI".

pwszDevicePath

Stringa restituita da PnP Manager. PnP Manager usa il percorso del dispositivo per identificare in modo univoco un dispositivo in un computer. Per altre informazioni, vedere SP_DEVICE_INTERFACE_DETAIL_DATA_W.

pwszLocationPath

Stringa che contiene il percorso del percorso PnP del disco. Il formato di questa stringa dipende dal tipo di bus. Se il tipo di bus è SCSI, SAS o PCI RAID, il formato è AdapterPnpLocationPath#BusType(PPathIdTTargetIdLLunId). Se il tipo di bus è IDE, ATA, PATA o SATA, il formato è AdapterPnpLocationPath#BusType(CPathIdTTargetIdLLunId). Per una tabella che elenca le parti di questa stringa, vedere la sezione Osservazioni seguente.

Nota Per Hyper-V, questo membro è NULL, perché il controller virtuale non restituisce il percorso del percorso.
 

Commenti

Il metodo IVdsDisk3::GetProperties2 restituisce questa struttura per segnalare le proprietà di un oggetto disco.

Nella tabella seguente sono elencate le parti della stringa del percorso di posizione utilizzata nel membro pwszLocationPath .

Parte percorso percorso Descrizione
AdapterPnpLocationPath Percorso del percorso PnP dell'adapter. Questo viene recuperato chiamando la funzione SetupDiGetDeviceProperty , passando &DEVPKEY_Device_LocationPaths per il parametro PropertyKey .
BusType Tipo di bus: ATA, RAID, SAS o SCSI.
Nota Se il tipo di bus è IDE, PATA o SATA, viene visualizzato come ATA nella stringa del percorso della posizione. Se si tratta di RAID PCI, viene visualizzato come RAID.
 
PathId Numero dell'autobus. Si tratta del valore del membro PathId della struttura SCSI_ADDRESS restituita dal codice di controllo IOCTL_SCSI_GET_ADDRESS .
TargetId Numero del dispositivo di destinazione. Si tratta del valore del membro TargetId della struttura SCSI_ADDRESS restituita dal codice di controllo IOCTL_SCSI_GET_ADDRESS .
LunId Numero del LUN. Questo è il valore del membro Lun della struttura SCSI_ADDRESS restituita dal codice di controllo IOCTL_SCSI_GET_ADDRESS .
 

La tabella seguente contiene esempi di percorsi di posizione.

Tipo di bus Percorso percorso di esempio
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)

Requisiti

Requisito Valore
Client minimo supportato Windows 7 [solo app desktop]
Server minimo supportato Windows Server 2008 R2 [solo app desktop]
Intestazione vds.h

Vedi anche

IVdsDisk3::GetProperties2

VDS_DISK_OFFLINE_REASON

VDS_PARTITION_INFO_GPT

VDS_PARTITION_INFO_MBR