Compartilhar via


DEVICE_LB_PROVISIONING_DESCRIPTOR estrutura (ntddstor.h)

A estrutura DEVICE_LB_PROVISIONING_DESCRIPTOR é uma das estruturas de resultados da consulta retornadas de uma solicitação de IOCTL_STORAGE_QUERY_PROPERTY. Essa estrutura contém os recursos de provisionamento finos para um dispositivo de armazenamento.

Sintaxe

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;

Membros

Version

A versão dessa estrutura.

Size

O tamanho dessa estrutura. Isso está definido como sizeof(DEVICE_LB_PROVISIONING_DESCRIPTOR).

ThinProvisioningEnabled

O status de provisionamento fino habilitado.

Valor Significado
0 O provisionamento fino está desabilitado.
1 O provisionamento fino está habilitado.

ThinProvisioningReadZeros

As leituras para regiões não mapeadas retornam zeros.

Valor Significado
0 Os dados lidos de regiões não mapeadas são indefinidos.
1 As leituras retornam zeros.

AnchorSupported

Suporte para o estado de mapeamento LBA ancorado.

Valor Significado
0 Não há suporte para o estado de mapeamento LBA ancorado.
1 Há suporte para o estado de mapeamento LBA ancorado.

UnmapGranularityAlignmentValid

A validade do alinhamento de granularidade não mapa para o dispositivo.

Valor Significado
0 O alinhamento de granularidade não é válido.
1 O alinhamento de granularidade não mapa é válido.

GetFreeSpaceSupported

Indica suporte para DeviceDsmAction_GetFreeSpace.

Valor Significado
0 não há suporte para DeviceDsmAction_GetFreeSpace.
1 DeviceDsmAction_GetFreeSpace tem suporte.

MapSupported

Indica suporte para DeviceDsmAction_Map.

Valor Significado
0 não há suporte para DeviceDsmAction_Map.
1 DeviceDsmAction_Map tem suporte.

Reserved1[7]

Reservado; não use.

OptimalUnmapGranularity

O número ideal de blocos para granularidade não mapa para o dispositivo.

UnmapGranularityAlignment

O valor atual, em blocos, definido para alinhamento de granularidade não mapa no dispositivo. O valor UnmapGranularityAlignmentValid indica a validade desse membro.

MaxUnmapLbaCount

Quantidade máxima de LBAs que podem ser não mapeadas em um único comando UNMAP, em unidades de blocos lógicos. Válido a partir do Windows 10.

MaxUnmapBlockDescriptorCount

Número máximo de descritores permitidos em um único comando UNMAP. Válido a partir do Windows 10.

Observações

Essa estrutura é retornada no buffer do sistema de uma solicitação de IOCTL_STORAGE_QUERY_PROPERTY quando o PropertyId membro do STORAGE_PROPERTY_QUERY é definido como StorageDeviceLBProvisioningProperty.

A estrutura de DEVICE_LB_PROVISIONING_DESCRIPTOR é gravada no buffer do sistema, >AssociatedIrp.SystemBuffer, com um valor de tamanho de(DEVICE_LB_PROVISIONING_DESCRIPTOR) definido em Parameters.DeviceIoControl.OutputBufferLength para o local da pilha IRP atual.

Se UnmapGranularityAlignmentValid for 0, qualquer código que use UnmapGranularityAlignment deverá assumir que tem um valor de 0.

Se o dispositivo de armazenamento subjacente for um dispositivo SCSI, a funcionalidade de desmapeamento poderá ser consultada. Se o TrimEnabled membro da estrutura de DEVICE_TRIM_DESCRIPTOR for TRUE, o UNMAP terá suporte. A estrutura DEVICE_TRIM_DESCRIPTOR é retornada no buffer do sistema de uma solicitação de IOCTL_STORAGE_QUERY_PROPERTY quando o PropertyId membro do STORAGE_PROPERTY_QUERY é definido como StorageDeviceTrimProperty.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 8
cabeçalho ntddstor.h (include Ntddstor.h)

Consulte também

IOCTL_STORAGE_QUERY_PROPERTY

STORAGE_PROPERTY_QUERY