struttura DEVICE_LB_PROVISIONING_DESCRIPTOR (ntddstor.h)
La struttura DEVICE_LB_PROVISIONING_DESCRIPTOR è una delle strutture dei risultati della query restituite da una richiesta di IOCTL_STORAGE_QUERY_PROPERTY . Questa struttura contiene le funzionalità di thin provisioning per un dispositivo di archiviazione.
Sintassi
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;
Members
Version
Versione di questa struttura.
Size
Dimensione della struttura. Questa proprietà è impostata su sizeof(DEVICE_LB_PROVISIONING_DESCRIPTOR)
.
ThinProvisioningEnabled
Stato abilitato per thin provisioning.
Valore | Significato |
---|---|
0 | Il thin provisioning è disabilitato. |
1 | Il thin provisioning è abilitato. |
ThinProvisioningReadZeros
Le letture nelle aree non mappate restituiscono zeri.
Valore | Significato |
---|---|
0 | I dati letti da aree non mappate non sono definiti. |
1 | Le letture restituiscono zeri. |
AnchorSupported
Supporto per lo stato di mapping LBA ancorato.
Valore | Significato |
---|---|
0 | Lo stato di mapping LBA ancorato non è supportato. |
1 | Lo stato di mapping LBA ancorato è supportato. |
UnmapGranularityAlignmentValid
Validità dell'allineamento della granularità non mappata per il dispositivo.
Valore | Significato |
---|---|
0 | L'allineamento della granularità non mappato non è valido. |
1 | L'allineamento della granularità non mappa è valido. |
GetFreeSpaceSupported
Indica il supporto per DeviceDsmAction_GetFreeSpace.
Valore | Significato |
---|---|
0 | DeviceDsmAction_GetFreeSpace non è supportato. |
1 | DeviceDsmAction_GetFreeSpace è supportato. |
MapSupported
Indica il supporto per DeviceDsmAction_Map.
Valore | Significato |
---|---|
0 | DeviceDsmAction_Map non è supportato. |
1 | DeviceDsmAction_Map è supportato. |
Reserved1[7]
Riservati; non usare.
OptimalUnmapGranularity
Numero ottimale di blocchi per la granularità non mappata per il dispositivo.
UnmapGranularityAlignment
Il valore corrente, in blocchi, impostato per l'allineamento della granularità non mappato nel dispositivo. Il valore UnmapGranularityAlignmentValid indica la validità di questo membro.
MaxUnmapLbaCount
Quantità massima di LBA che è possibile annullare il mapping in un singolo comando UNMAP, in unità di blocchi logici. Valido a partire da Windows 10.
MaxUnmapBlockDescriptorCount
Numero massimo di descrittori consentiti in un singolo comando UNMAP. Valido a partire da Windows 10.
Commenti
Questa struttura viene restituita nel buffer di sistema da una richiesta di IOCTL_STORAGE_QUERY_PROPERTY quando il membro PropertyId di STORAGE_PROPERTY_QUERY è impostato su StorageDeviceLBProvisioningProperty.
La struttura DEVICE_LB_PROVISIONING_DESCRIPTOR viene scritta nel buffer di sistema, Irp-AssociatedIrp.SystemBuffer>, con un valore sizeof(DEVICE_LB_PROVISIONING_DESCRIPTOR) impostato in Parameters.DeviceIoControl.OutputBufferLength per il percorso dello stack IRP corrente.
Se UnmapGranularityAlignmentValid è 0, qualsiasi codice che usa UnmapGranularityAlignment deve presupporre che abbia un valore pari a 0.
Se il dispositivo di archiviazione sottostante è un dispositivo SCSI, è possibile eseguire query sulla funzionalità di annullamento del mapping. Se il membro TrimEnabled della struttura DEVICE_TRIM_DESCRIPTOR è TRUE, è supportato UNMAP. La struttura DEVICE_TRIM_DESCRIPTOR viene restituita nel buffer di sistema da una richiesta di IOCTL_STORAGE_QUERY_PROPERTY quando il membro PropertyId di STORAGE_PROPERTY_QUERY è impostato su StorageDeviceTrimProperty.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 8 |
Intestazione | ntddstor.h (include Ntddstor.h) |