struktur DEVICE_LB_PROVISIONING_DESCRIPTOR (ntddstor.h)

Struktur DEVICE_LB_PROVISIONING_DESCRIPTOR adalah salah satu struktur hasil kueri yang dikembalikan dari permintaan IOCTL_STORAGE_QUERY_PROPERTY . Struktur ini berisi kemampuan provisi tipis untuk perangkat penyimpanan.

Sintaks

typedef struct _DEVICE_LB_PROVISIONING_DESCRIPTOR {
  ULONG     Version;
  ULONG     Size;
  UCHAR     ThinProvisioningEnabled : 1;
  UCHAR     ThinProvisioningReadZeros : 1;
  UCHAR     AnchorSupported : 3;
  UCHAR     UnmapGranularityAlignmentValid : 1;
  UCHAR     GetFreeSpaceSupported : 1;
  UCHAR     MapSupported : 1;
  UCHAR     Reserved1[7];
  ULONGLONG OptimalUnmapGranularity;
  ULONGLONG UnmapGranularityAlignment;
  ULONG     MaxUnmapLbaCount;
  ULONG     MaxUnmapBlockDescriptorCount;
} DEVICE_LB_PROVISIONING_DESCRIPTOR, *PDEVICE_LB_PROVISIONING_DESCRIPTOR;

Anggota

Version

Versi struktur ini.

Size

Ukuran struktur ini. Ini diatur ke sizeof(DEVICE_LB_PROVISIONING_DESCRIPTOR).

ThinProvisioningEnabled

Status provisi tipis yang diaktifkan.

Nilai Makna
0 Provisi tipis dinonaktifkan.
1 Provisi tipis diaktifkan.

ThinProvisioningReadZeros

Membaca ke wilayah yang tidak dipetakan mengembalikan nol.

Nilai Makna
0 Data yang dibaca dari wilayah yang tidak dipetakan tidak terdefinisi.
1 Pembacaan mengembalikan nol.

AnchorSupported

Dukungan untuk status pemetaan LBA yang berlabuh.

Nilai Makna
0 Status pemetaan LBA berlabuh tidak didukung.
1 Status pemetaan LBA yang berlabuh didukung.

UnmapGranularityAlignmentValid

Validitas perataan granularitas tidak tertandingi untuk perangkat.

Nilai Makna
0 Perataan granularitas tidak valid.
1 Perataan granularitas tidak tertanam valid.

GetFreeSpaceSupported

Menunjukkan dukungan untuk DeviceDsmAction_GetFreeSpace.

Nilai Makna
0 DeviceDsmAction_GetFreeSpace tidak didukung.
1 DeviceDsmAction_GetFreeSpace didukung.

MapSupported

Menunjukkan dukungan untuk DeviceDsmAction_Map.

Nilai Makna
0 DeviceDsmAction_Map tidak didukung.
1 DeviceDsmAction_Map didukung.

Reserved1[7]

Dipesan; jangan gunakan.

OptimalUnmapGranularity

Jumlah blok optimal untuk granularitas unmap untuk perangkat.

UnmapGranularityAlignment

Nilai saat ini, dalam blok, diatur untuk perataan granularitas unmap pada perangkat. Nilai UnmapGranularityAlignmentValid menunjukkan validitas anggota ini.

MaxUnmapLbaCount

Jumlah maksimum LBA yang dapat tidak dipetakan dalam satu perintah UNMAP, dalam satuan blok logis. Berlaku mulai dari Windows 10.

MaxUnmapBlockDescriptorCount

Jumlah maksimum deskriptor yang diizinkan dalam satu perintah UNMAP. Berlaku mulai dari Windows 10.

Keterangan

Struktur ini dikembalikan dalam buffer sistem dari permintaan IOCTL_STORAGE_QUERY_PROPERTY ketika anggota PropertyIdSTORAGE_PROPERTY_QUERY diatur ke StorageDeviceLBProvisioningProperty.

Struktur DEVICE_LB_PROVISIONING_DESCRIPTOR ditulis ke buffer sistem, Irp-AssociatedIrp.SystemBuffer>, dengan nilai sizeof(DEVICE_LB_PROVISIONING_DESCRIPTOR) diatur dalam Parameters.DeviceIoControl.OutputBufferLength untuk lokasi tumpukan IRP saat ini.

Jika UnmapGranularityAlignmentValid adalah 0, maka kode apa pun yang menggunakan UnmapGranularityAlignment harus mengasumsikan kode tersebut memiliki nilai 0.

Jika perangkat penyimpanan yang mendasar adalah perangkat SCSI, kemampuan yang tidak dipetakan dapat dikueri. Jika anggota TrimEnabled dari struktur DEVICE_TRIM_DESCRIPTOR TRUE, UNMAP didukung. Struktur DEVICE_TRIM_DESCRIPTOR dikembalikan dalam buffer sistem dari permintaan IOCTL_STORAGE_QUERY_PROPERTY ketika anggota PropertyIdSTORAGE_PROPERTY_QUERY diatur ke StorageDeviceTrimProperty.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 8
Header ntddstor.h (termasuk Ntddstor.h)

Lihat juga

IOCTL_STORAGE_QUERY_PROPERTY

STORAGE_PROPERTY_QUERY