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) |