DEVICE_LB_PROVISIONING_DESCRIPTOR結構 (ntddstor.h)
DEVICE_LB_PROVISIONING_DESCRIPTOR結構是從IOCTL_STORAGE_QUERY_PROPERTY要求傳回的其中一個查詢結果結構。 此結構包含存儲設備的精簡布建功能。
語法
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;
成員
Version
這個結構的版本。
Size
此結構的大小。 這會設定為 sizeof(DEVICE_LB_PROVISIONING_DESCRIPTOR)
。
ThinProvisioningEnabled
已啟用精簡布建的狀態。
值 | 意義 |
---|---|
0 | 精簡布建已停用。 |
1 | 已啟用精簡布建。 |
ThinProvisioningReadZeros
讀取至未對應的區域會傳回零。
值 | 意義 |
---|---|
0 | 未定義從未對應的區域讀取的數據。 |
1 | 讀取會傳回零。 |
AnchorSupported
支援錨定 LBA 對應狀態。
值 | 意義 |
---|---|
0 | 不支援錨定 LBA 對應狀態。 |
1 | 支援錨定 LBA 對應狀態。 |
UnmapGranularityAlignmentValid
裝置未對應數據粒度對齊的有效性。
值 | 意義 |
---|---|
0 | 取消對應粒度對齊無效。 |
1 | 取消對應粒度對齊是有效的。 |
GetFreeSpaceSupported
表示 支援DeviceDsmAction_GetFreeSpace。
值 | 意義 |
---|---|
0 | 不支援DeviceDsmAction_GetFreeSpace。 |
1 | 支援DeviceDsmAction_GetFreeSpace。 |
MapSupported
值 | 意義 |
---|---|
0 | 不支援DeviceDsmAction_Map。 |
1 | 支援DeviceDsmAction_Map。 |
Reserved1[7]
保留;請勿使用 。
OptimalUnmapGranularity
裝置未對應數據粒度的最佳區塊數目。
UnmapGranularityAlignment
在區塊中,針對裝置上的未對應粒度對齊設定目前的值。 UnmapGranularityAlignmentValid 值表示此成員的有效性。
MaxUnmapLbaCount
單一 UNMAP 命令中可取消對應的 LBA 數量上限,以邏輯區塊為單位。 從 Windows 10 開始有效。
MaxUnmapBlockDescriptorCount
單一 UNMAP 命令中允許的最大描述項數目。 從 Windows 10 開始有效。
備註
當 STORAGE_PROPERTY_QUERY 的 PropertyId 成員設定為 StorageDeviceLBProvisioningProperty 時,此結構會在系統緩衝區中從IOCTL_STORAGE_QUERY_PROPERTY要求中傳回。
DEVICE_LB_PROVISIONING_DESCRIPTOR結構會寫入至系統緩衝區 Irp-AssociatedIrp.SystemBuffer>,其值為 parameters.DeviceIoControl.OutputBufferLength 中目前 IRP 堆棧位置的 sizeof (DEVICE_LB_PROVISIONING_DESCRIPTOR) 。
如果 UnmapGranularityAlignmentValid 為 0,則任何使用 UnmapGranularityAlignment 的程式 代碼都應該假設其值為 0。
如果基礎儲存裝置是 SCSI 裝置,則可以查詢取消對應功能。 如果DEVICE_TRIM_DESCRIPTOR結構的 TrimEnabled 成員為 TRUE,則支援 UNMAP。 當 STORAGE_PROPERTY_QUERY 的PropertyId 成員設定為 StorageDeviceTrimProperty 時,IOCTL_STORAGE_QUERY_PROPERTY要求會在系統緩衝區中傳回DEVICE_TRIM_DESCRIPTOR結構。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8 |
標頭 | ntddstor.h (包含 Ntddstor.h) |