VDS_DISK_PROP2 Struktur (vds.h)

[Ab Windows 8 und Windows Server 2012 wird die COM-Schnittstelle des Virtuellen Datenträgerdiensts durch die Windows Storage Management-API abgelöst.]

Definiert die Eigenschaften eines Datenträgerobjekts. Diese Struktur ist identisch mit der VDS_DISK_PROP-Struktur , mit der Ausnahme, dass sie auch den Speicherortpfad und, wenn der Datenträger offline ist, den Grund enthält, warum er offline ist.

Syntax

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;

Member

id

Die GUID des Datenträgerobjekts.

status

Ein VDS_DISK_STATUS-Enumerationswert, der die status des Datenträgers angibt. Wenn der VDS-Dienst kein Handle für den Datenträger öffnen kann, wird dieser Member auf VDS_DS_UNKNOWN festgelegt.

Hinweis Dieser Member kann VDS_DS_ONLINE werden, auch wenn die status der enthaltenden Packung VDS_PS_OFFLINE ist.
 

OfflineReason

Wenn der Datenträger offline ist, ist dieser Member ein VDS_DISK_OFFLINE_REASON Enumerationswert, der den Grund angibt, warum er offline ist.

ReserveMode

Dieses Element ist für die zukünftige Verwendung reserviert.

health

Ein VDS_HEALTH Enumerationswert, der den Integritätszustand des Datenträgers angibt. Im Folgenden sind die gültigen Werte für diesen Member aufgeführt.

VDS_H_UNKNOWN (0)

VDS_H_HEALTHY (1)

VDS_H_FAILING (4)

VDS_H_FAILED (8)

dwDeviceType

Der in Winioctl.h definierte Gerätetyp, der unter anderem die folgenden Typen enthält:

dwMediaType

Ein Medientyp, der von STORAGE_MEDIA_TYPE aufgezählt wird. Einfache und dynamische Datenträger werden dem FixedMedia-Enumerator zugeordnet. Weitere Informationen finden Sie unter STORAGE_MEDIA_TYPE.

ullSize

Die Größe des Datenträgers in Bytes. Um die maximale Volumegröße für einen Datenträger zu bestimmen, rufen Sie IVdsDisk3::QueryFreeExtents auf, und fügen Sie die Größen aller freien Blöcke hinzu.

ulBytesPerSector

Die Anzahl der Bytes in jedem Sektor.

ulSectorsPerTrack

Die Anzahl der Sektoren in jeder Spur.

ulTracksPerCylinder

Die Anzahl der Spuren in jedem Zylinder.

ulFlags

Eine Bitmaske mit VDS_DISK_FLAG Enumerationswerten, die verschiedene Datenträgerattribute angeben.

BusType

Die von VDS_STORAGE_BUS_TYPE aufgelisteten Ein-/Ausgabebustypen.

PartitionStyle

Eine VDS_PARTITION_STYLE-Enumeration , die den Partitionsstil angibt. Dieses Mitglied ist der Diskriminant für die Union.

dwSignature

Wird verwendet, wenn PartitionStyleVDS_PST_MBR (1) ist. Die Signatur für die MBR-Partition. Dieser Wert ist nicht garantiert eindeutig.

DiskGuid

Wird verwendet, wenn PartitionStyleVDS_PST_GPT (2) ist. The
GUID für den Datenträger. Darüber hinaus verfügt jede GPT-Partition über eine eigene GUID. (Siehe VDS_PARTITION_INFO_GPT.)

pwszDiskAddress

Die Adresse eines SCSI-ähnlichen Datenträgers im Port NNN-Pfad-NNN-ZielformatNNNLunNNN, wobei NNN eine oder mehrere Ziffern ist.

SCSI-Datenträger, IDE-Datenträger und Fibre Channel-Datenträger können über eine solche Adresse verfügen. USB- und 1394-Datenträger haben unterschiedliche Adressformate und werden nicht gespeichert.

Dieser Member ist optional und kann NULL sein, wenn kein Wert verfügbar ist. Wenn es nicht NULL ist, muss seine Länge größer oder gleich 22 WCHAR und kleiner oder gleich 64 WCHAR sein, einschließlich des erforderlichen NULL-Abschlusszeichens . Anwendungen, die die VDS_DISK_PROP2-Struktur erhalten, indem sie IVdsDisk3::GetProperties2 aufrufen, müssen überprüfen, ob dieser Member NULL ist.

pwszName

Der Name, der verwendet wird, um ein Handle für ein Objekt zu öffnen, das mit der CreateFile-Funktion erstellt wurde. Beispiel:

pwszFriendlyName

Der vom Plug & Play -Manager (PnP) zurückgegebene Name. Dieser Name wird in der Windows-Registrierung vom Plug & Play Manager verwaltet, z. B. "SEAGATE ST34573N SCSI Disk Device".

pwszAdaptorName

Der Name des Adapters, an den dieser Datenträger angefügt ist. Der PnP-Manager gibt den Namen zurück, der in der Windows-Registrierung verwaltet wird, z. B. "Adaptec AHA-2940U2W - Ultra2 SCSI".

pwszDevicePath

Die vom PnP-Manager zurückgegebene Zeichenfolge. Der PnP-Manager verwendet den Gerätepfad, um ein Gerät auf einem Computer eindeutig zu identifizieren. Weitere Informationen finden Sie unter SP_DEVICE_INTERFACE_DETAIL_DATA_W.

pwszLocationPath

Eine Zeichenfolge, die den PnP-Speicherortpfad des Datenträgers enthält. Das Format dieser Zeichenfolge hängt vom Bustyp ab. Wenn der Bustyp SCSI, SAS oder PCI RAID ist, lautet das Format AdapterPnpLocationPath#BusType(PPathIdTTargetIdLLunId). Wenn der Bustyp IDE, ATA, PATA oder SATA ist, lautet das Format AdapterPnpLocationPath#BusType(CPathIdTTargetIdLLunId). Im folgenden Abschnitt "Hinweise" finden Sie eine Tabelle, in der die Teile dieser Zeichenfolge aufgeführt sind.

Hinweis Für Hyper-V ist dieser Member NULL, da der virtuelle Controller den Speicherortpfad nicht zurückgibt.
 

Hinweise

Die IVdsDisk3::GetProperties2-Methode gibt diese Struktur zurück, um die Eigenschaften eines Datenträgerobjekts zu melden.

In der folgenden Tabelle sind die Teile der Speicherortpfadzeichenfolge aufgeführt, die im pwszLocationPath-Element verwendet wird.

Standortpfadteil BESCHREIBUNG
AdapterPnpLocationPath Der PnP-Speicherortpfad des Adapters. Dies wird durch Aufrufen der SetupDiGetDeviceProperty-Funktion abgerufen und &DEVPKEY_Device_LocationPaths für den PropertyKey-Parameter übergeben.
BusType Der Bustyp: ATA, RAID, SAS oder SCSI.
Hinweis Wenn der Bustyp IDE, PATA oder SATA ist, wird er in der Pfadzeichenfolge des Speicherorts als ATA angezeigt. Wenn es sich um PCI-RAID handelt, wird es als RAID angezeigt.
 
PathId Die Nummer des Busses. Dies ist der Wert des PathId-Elements der SCSI_ADDRESS-Struktur, der vom IOCTL_SCSI_GET_ADDRESS-Steuerelementcode zurückgegeben wird.
TargetId Die Nummer des Zielgeräts. Dies ist der Wert des TargetId-Elements der SCSI_ADDRESS-Struktur, der vom IOCTL_SCSI_GET_ADDRESS-Steuerelementcode zurückgegeben wird.
LunId Die Nummer der LUN. Dies ist der Wert des Lun-Elements der SCSI_ADDRESS-Struktur, der vom IOCTL_SCSI_GET_ADDRESS-Steuerelementcode zurückgegeben wird.
 

Die folgende Tabelle enthält Beispiele für Speicherortpfade.

Bustyp Beispielpfad
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)

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [nur Desktop-Apps]
Kopfzeile vds.h

Weitere Informationen

IVdsDisk3::GetProperties2

VDS_DISK_OFFLINE_REASON

VDS_PARTITION_INFO_GPT

VDS_PARTITION_INFO_MBR