estrutura DEVICE_LB_PROVISIONING_DESCRIPTOR (ntddstor.h)
A estrutura DEVICE_LB_PROVISIONING_DESCRIPTOR é uma das estruturas de resultado da consulta retornadas de uma solicitação de IOCTL_STORAGE_QUERY_PROPERTY . Essa estrutura contém os recursos de provisionamento dinâmicos 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 desta estrutura. Isso é definido como sizeof(DEVICE_LB_PROVISIONING_DESCRIPTOR)
.
ThinProvisioningEnabled
O status habilitado para provisionamento dinâmico.
Valor | Significado |
---|---|
0 | O provisionamento dinâmico está desabilitado. |
1 | O provisionamento dinâmico 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 o 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 começando no Windows 10.
MaxUnmapBlockDescriptorCount
Número máximo de descritores permitidos em um único comando UNMAP. Válido começando no Windows 10.
Comentários
Essa estrutura é retornada no buffer do sistema de uma solicitação de IOCTL_STORAGE_QUERY_PROPERTY quando o membro PropertyId do STORAGE_PROPERTY_QUERY é definido como StorageDeviceLBProvisioningProperty.
A estrutura DEVICE_LB_PROVISIONING_DESCRIPTOR é gravada no buffer do sistema, Irp-AssociatedIrp.SystemBuffer>, com um valor de sizeof(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 membro TrimEnabled da estrutura 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 membro PropertyId do STORAGE_PROPERTY_QUERY é definido como StorageDeviceTrimProperty.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 |
Cabeçalho | ntddstor.h (inclua Ntddstor.h) |