DEVICE_LB_PROVISIONING_DESCRIPTOR structure (winioctl.h)

La structure DEVICE_LB_PROVISIONING_DESCRIPTOR est l’une des structures de résultats de requête retournées par une requête IOCTL_STORAGE_QUERY_PROPERTY . Cette structure contient les fonctionnalités d’approvisionnement dynamique pour un périphérique de stockage.

Syntaxe

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

Membres

Version

Contient la taille de cette structure, en octets. La valeur de ce membre change à mesure que des membres sont ajoutés à la structure.

Size

Spécifie la taille totale des données retournées, en octets. Cela peut inclure des données qui suivent cette structure.

ThinProvisioningEnabled

Le status pour le provisionnement dynamique.

Valeur Signification
0
L’allocation dynamique est désactivée.
1
L’approvisionnement dynamique est activé.

ThinProvisioningReadZeros

Les lectures dans les régions non mappées retournent des zéros.

Valeur Signification
0
Les données lues à partir de régions non mappées ne sont pas définies.
1
Les lectures retournent des zéros.

AnchorSupported

Prise en charge déterministe de la lecture après la suppression.

Valeur Signification
0
La lecture déterministe après découpage n’est pas prise en charge.
1
La lecture déterministe après découpage est prise en charge.

UnmapGranularityAlignmentValid

Validité de l’alignement d’un mappage de granularité pour l’appareil.

Valeur Signification
0
Annuler l’alignement de granularité n’est pas valide.
1
L’alignement de la granularité de l’annulation de la carte est valide.

GetFreeSpaceSupported

MapSupported

Reserved1[7]

Réservé.

OptimalUnmapGranularity

Nombre optimal de secteurs logiques pour un mappage de granularité pour l’appareil.

UnmapGranularityAlignment

Valeur actuelle, dans les secteurs logiques, définie pour l’alignement de granularité unmap sur l’appareil.

MaxUnmapLbaCount

À partir de Windows 10 : nombre maximal de LBA qui peuvent être décompressés dans une seule commande unmap, dans des blocs logiques.

MaxUnmapBlockDescriptorCount

À partir de Windows 10 : nombre maximal de descripteurs autorisés dans une seule commande unmap.

Remarques

Cette structure est retournée à partir d’une demande de IOCTL_STORAGE_QUERY_PROPERTY lorsque le membre PropertyId de STORAGE_PROPERTY_QUERY est défini sur StorageDeviceLBProvisioningProperty.

Si UnmapGranularityAlignmentValid = 0, tout code utilisant UnmapGranularityAlignment doit supposer qu’il a la valeur 0.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2012 [applications de bureau uniquement]
En-tête winioctl.h (inclure Windows.h)

Voir aussi

Structures de gestion des disques

IOCTL_STORAGE_QUERY_PROPERTY

STORAGE_PROPERTY_QUERY