estrutura VDS_DISK_PROP2 (vds.h)
[Começando com Windows 8 e Windows Server 2012, a interface COM do Serviço de Disco Virtual é substituída pela API de Gerenciamento de Armazenamento do Windows.]
Define as propriedades de um objeto de disco. Essa estrutura é idêntica à estrutura VDS_DISK_PROP , exceto que também inclui o caminho de localização e, se o disco estiver offline, o motivo pelo qual ele está offline.
Sintaxe
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;
Membros
id
O GUID do objeto de disco.
status
Um valor de enumeração VDS_DISK_STATUS que especifica o status do disco. Se o serviço VDS não puder abrir um identificador para o disco, ele definirá esse membro como VDS_DS_UNKNOWN.
OfflineReason
Se o disco estiver offline, esse membro será um VDS_DISK_OFFLINE_REASON valor de enumeração que especifica o motivo pelo qual ele está offline.
ReserveMode
Este membro é reservado para uso futuro.
health
Um VDS_HEALTH valor de enumeração que especifica o estado de integridade do disco. Veja a seguir os valores válidos para esse membro.
VDS_H_UNKNOWN (0)
VDS_H_HEALTHY (1)
VDS_H_FAILING (4)
VDS_H_FAILED (8)
dwDeviceType
O tipo de dispositivo definido em Winioctl.h, que inclui os seguintes tipos, entre outros:
dwMediaType
Um tipo de mídia enumerado por STORAGE_MEDIA_TYPE. Os discos básicos e dinâmicos são mapeados para o enumerador FixedMedia . Para obter mais informações, consulte STORAGE_MEDIA_TYPE.
ullSize
O tamanho do disco em bytes. Para determinar o tamanho máximo do volume de um disco, chame IVdsDisk3::QueryFreeExtents e adicione os tamanhos de todas as extensões livres.
ulBytesPerSector
O número de bytes em cada setor.
ulSectorsPerTrack
O número de setores em cada faixa.
ulTracksPerCylinder
O número de faixas em cada cilindro.
ulFlags
Uma máscara de bits de VDS_DISK_FLAG valores de enumeração que especificam vários atributos de disco.
BusType
Os tipos de barramento de entrada/saída enumerados por VDS_STORAGE_BUS_TYPE.
PartitionStyle
Uma enumeração VDS_PARTITION_STYLE que especifica o estilo de partição. Este membro é o discriminante para o sindicato.
dwSignature
Usado se PartitionStyle for VDS_PST_MBR (1). A assinatura da partição MBR. Não há garantia de que esse valor seja exclusivo.
DiskGuid
Usado se PartitionStyle for VDS_PST_GPT (2). O
GUID para o disco. Além disso, cada partição GPT tem seu próprio GUID. (Consulte VDS_PARTITION_INFO_GPT.)
pwszDiskAddress
O endereço de um disco semelhante a SCSI no formatoNNN Target NNN NNN Target NNN, em que NNN é um ou mais dígitos.
Discos SCSI, discos IDE e discos Fibre Channel podem ter esse endereço. Os discos USB e 1394 têm formatos de endereço diferentes e não são armazenados.
Esse membro é opcional e pode ser NULL se nenhum valor estiver disponível. Se não for NULL, seu comprimento deverá ser maior ou igual a 22 WCHAR e menor ou igual a 64 WCHAR, incluindo o terminador NULL necessário. Os aplicativos que recebem a estrutura VDS_DISK_PROP2 chamando IVdsDisk3::GetProperties2 devem marcar se esse membro é NULL.
pwszName
O nome usado para abrir um identificador para um objeto criado usando a função CreateFile . Por exemplo:
pwszFriendlyName
O nome retornado pelo Gerenciador de Plug and Play (PnP). Esse nome é mantido no registro do Windows pelo Gerenciador de Plug and Play, por exemplo: "SEAGATE ST34573N Dispositivo de Disco SCSI".
pwszAdaptorName
O nome do adaptador ao qual esse disco está anexado. O Gerenciador PnP retorna o nome, que é mantido no registro do Windows, por exemplo: "Adaptec AHA-2940U2W - Ultra2 SCSI".
pwszDevicePath
A cadeia de caracteres retornada pelo Gerenciador PnP. O Gerenciador de PnP usa o caminho do dispositivo para identificar exclusivamente um dispositivo em um computador. Para obter mais informações, consulte SP_DEVICE_INTERFACE_DETAIL_DATA_W.
pwszLocationPath
Uma cadeia de caracteres que contém o caminho de localização PnP do disco. O formato dessa cadeia de caracteres depende do tipo de barramento. Se o tipo de barramento for SCSI, SAS ou PCI RAID, o formato será AdapterPnpLocationPath#BusType(PPathIdTTargetIdLLunId). Se o tipo de barramento for IDE, ATA, PATA ou SATA, o formato será AdapterPnpLocationPath#BusType(CPathIdTTargetIdLLunId). Consulte a seção Comentários a seguir para obter uma tabela que lista as partes dessa cadeia de caracteres.
Comentários
O método IVdsDisk3::GetProperties2 retorna essa estrutura para relatar as propriedades de um objeto de disco.
A tabela a seguir lista as partes da cadeia de caracteres de caminho de localização usada no membro pwszLocationPath .
Parte do caminho de localização | Descrição |
---|---|
AdapterPnpLocationPath | O caminho de localização PnP do adaptador. Isso é recuperado chamando a função SetupDiGetDeviceProperty , passando &DEVPKEY_Device_LocationPaths para o parâmetro PropertyKey . |
BusType | O tipo de barramento: ATA, RAID, SAS ou SCSI. Nota Se o tipo de barramento for IDE, PATA ou SATA, ele aparecerá como ATA na cadeia de caracteres do caminho de localização. Se for RAID PCI, ele aparecerá como RAID.
|
PathId | O número do ônibus. Esse é o valor do membro PathId da estrutura SCSI_ADDRESS que é retornado pelo código de controle IOCTL_SCSI_GET_ADDRESS . |
Targetid | O número do dispositivo de destino. Esse é o valor do membro TargetId da estrutura SCSI_ADDRESS que é retornado pelo código de controle IOCTL_SCSI_GET_ADDRESS . |
LunId | O número do LUN. Esse é o valor do membro Lun da estrutura SCSI_ADDRESS que é retornado pelo código de controle IOCTL_SCSI_GET_ADDRESS . |
A tabela a seguir contém exemplos de caminhos de localização.
Tipo de barramento | Exemplo de caminho de localização |
---|---|
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) |
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 7 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 R2 [somente aplicativos da área de trabalho] |
Cabeçalho | vds.h |