struktur VDS_DISK_PROP2 (vds.h)

[Dimulai dengan Windows 8 dan Windows Server 2012, antarmuka COM Layanan Disk Virtual digantikan oleh WINDOWS Storage Management API.]

Menentukan properti objek disk. Struktur ini identik dengan struktur VDS_DISK_PROP , kecuali bahwa struktur ini juga menyertakan jalur lokasi dan, jika disk offline, alasan mengapa offline.

Sintaks

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;

Anggota

id

GUID objek disk.

status

Nilai enumerasi VDS_DISK_STATUS yang menentukan status disk. Jika layanan VDS tidak dapat membuka handel ke disk, layanan ini mengatur anggota ini ke VDS_DS_UNKNOWN.

Catatan Anggota ini dapat VDS_DS_ONLINE, bahkan jika status paket yang berisi VDS_PS_OFFLINE.
 

OfflineReason

Jika disk offline, anggota ini adalah nilai enumerasi VDS_DISK_OFFLINE_REASON yang menentukan alasan mengapa disk offline.

ReserveMode

Anggota ini dicadangkan untuk digunakan di masa mendatang.

health

Nilai enumerasi VDS_HEALTH yang menentukan status kesehatan disk. Berikut ini adalah nilai yang valid untuk anggota ini.

VDS_H_UNKNOWN (0)

VDS_H_HEALTHY (1)

VDS_H_FAILING (4)

VDS_H_FAILED (8)

dwDeviceType

Jenis perangkat yang ditentukan dalam Winioctl.h, yang mencakup jenis berikut antara lain:

dwMediaType

Jenis media yang dijumlahkan oleh STORAGE_MEDIA_TYPE. Peta disk dasar dan dinamis ke enumerator FixedMedia . Untuk informasi selengkapnya, lihat STORAGE_MEDIA_TYPE.

ullSize

Ukuran disk dalam byte. Untuk menentukan ukuran volume maksimum untuk disk, panggil IVdsDisk3::QueryFreeExtents dan tambahkan ukuran semua tingkat gratis.

ulBytesPerSector

Jumlah byte di setiap sektor.

ulSectorsPerTrack

Jumlah sektor di setiap trek.

ulTracksPerCylinder

Jumlah trek di setiap silinder.

ulFlags

Bitmask nilai enumerasi VDS_DISK_FLAG yang menentukan berbagai atribut disk.

BusType

Jenis bus input/output yang dijumlahkan oleh VDS_STORAGE_BUS_TYPE.

PartitionStyle

Enumerasi VDS_PARTITION_STYLE yang menentukan gaya partisi. Anggota ini adalah diskriminan untuk serikat.

dwSignature

Digunakan jika PartitionStyleVDS_PST_MBR (1). Tanda tangan untuk partisi MBR. Nilai ini tidak dijamin unik.

DiskGuid

Digunakan jika PartitionStyleVDS_PST_GPT (2). The
GUID untuk disk. Selain itu, setiap partisi GPT memiliki GUID sendiri. (Lihat VDS_PARTITION_INFO_GPT.)

pwszDiskAddress

Alamat disk seperti SCSI dalam formatNNN Target NNN Target NNN Jalur NNNPortNNN, di mana NNN adalah satu atau beberapa digit.

Disk SCSI, disk IDE, dan disk Fibre Channel dapat memiliki alamat seperti itu. Disk USB dan 1394 memiliki format alamat yang berbeda dan tidak disimpan.

Anggota ini bersifat opsional dan dapat berupa NULL jika tidak ada nilai yang tersedia. Jika bukan NULL, panjangnya harus lebih besar dari atau sama dengan 22 WCHAR dan kurang dari atau sama dengan 64 WCHAR, termasuk terminator NULL yang diperlukan. Aplikasi yang menerima struktur VDS_DISK_PROP2 dengan memanggil IVdsDisk3::GetProperties2 harus memeriksa apakah anggota ini NULL.

pwszName

Nama yang digunakan untuk membuka handel ke objek yang dibuat menggunakan fungsi CreateFile . Contohnya:

pwszFriendlyName

Nama yang dikembalikan oleh Manajer Plug and Play (PnP). Nama ini dipertahankan di registri Windows oleh Plug and Play Manager, misalnya: "SEAGATE ST34573N Scsi Disk Device".

pwszAdaptorName

Nama adapter tempat disk ini dilampirkan. Manajer PnP mengembalikan nama, yang dipertahankan dalam registri Windows, misalnya: "Adaptec AHA-2940U2W - Ultra2 SCSI".

pwszDevicePath

String yang dikembalikan oleh Manajer PnP. Manajer PnP menggunakan jalur perangkat untuk mengidentifikasi perangkat secara unik di komputer. Untuk informasi selengkapnya, lihat SP_DEVICE_INTERFACE_DETAIL_DATA_W.

pwszLocationPath

String yang berisi jalur lokasi PnP disk. Format string ini tergantung pada jenis bus. Jika jenis bus adalah SCSI, SAS, atau PCI RAID, formatnya adalah AdapterPnpLocationPath#BusType(PPathIdTTargetIdLLunId). Jika jenis bus adalah IDE, ATA, PATA, atau SATA, formatnya adalah AdapterPnpLocationPath#BusType(CPathIdTTargetIdLLunId). Lihat bagian Keterangan berikut untuk tabel yang mencantumkan bagian string ini.

Catatan Untuk Hyper-V, anggota ini adalah NULL, karena pengontrol virtual tidak mengembalikan jalur lokasi.
 

Keterangan

Metode IVdsDisk3::GetProperties2 mengembalikan struktur ini untuk melaporkan properti objek disk.

Tabel berikut mencantumkan bagian string jalur lokasi yang digunakan dalam anggota pwszLocationPath .

Bagian jalur lokasi Deskripsi
AdapterPnpLocationPath Jalur lokasi PnP adaptor. Ini diambil dengan memanggil fungsi SetupDiGetDeviceProperty , meneruskan &DEVPKEY_Device_LocationPaths untuk parameter PropertyKey .
BusType Jenis bus: ATA, RAID, SAS, atau SCSI.
Catatan Jika jenis bus adalah IDE, PATA, atau SATA, jenis bus muncul sebagai ATA di string jalur lokasi. Jika PCI RAID, itu muncul sebagai RAID.
 
PathId Jumlah bus. Ini adalah nilai anggota PathId dari struktur SCSI_ADDRESS yang dikembalikan oleh kode kontrol IOCTL_SCSI_GET_ADDRESS .
TargetId Jumlah perangkat target. Ini adalah nilai anggota TargetId dari struktur SCSI_ADDRESS yang dikembalikan oleh kode kontrol IOCTL_SCSI_GET_ADDRESS .
LunId Jumlah LUN. Ini adalah nilai anggota Lun dari struktur SCSI_ADDRESS yang dikembalikan oleh kode kontrol IOCTL_SCSI_GET_ADDRESS .
 

Tabel berikut berisi contoh jalur lokasi.

Jenis bus Contoh jalur lokasi
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)

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 7 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 R2 [hanya aplikasi desktop]
Header vds.h

Lihat juga

IVdsDisk3::GetProperties2

VDS_DISK_OFFLINE_REASON

VDS_PARTITION_INFO_GPT

VDS_PARTITION_INFO_MBR