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을 반환합니다.
값 | 의미 |
---|---|
0 | 매핑되지 않은 지역에서 읽은 데이터는 정의되지 않습니다. |
1 | 읽기는 0을 반환합니다. |
AnchorSupported
고정된 LBA 매핑 상태에 대한 지원.
값 | 의미 |
---|---|
0 | 고정된 LBA 매핑 상태는 지원되지 않습니다. |
1 | 고정된 LBA 매핑 상태가 지원됩니다. |
UnmapGranularityAlignmentValid
디바이스에 대한 매핑 해제 세분성 맞춤의 유효성입니다.
값 | 의미 |
---|---|
0 | 매핑 해제 세분성 맞춤이 잘못되었습니다. |
1 | 매핑 해제 세분성 맞춤이 유효합니다. |
GetFreeSpaceSupported
DeviceDsmAction_GetFreeSpace 대한 지원을 나타냅니다.
값 | 의미 |
---|---|
0 | DeviceDsmAction_GetFreeSpace 지원되지 않습니다. |
1 | DeviceDsmAction_GetFreeSpace 지원됩니다. |
MapSupported
DeviceDsmAction_Map 대한 지원을 나타냅니다.
값 | 의미 |
---|---|
0 | DeviceDsmAction_Map 지원되지 않습니다. |
1 | DeviceDsmAction_Map 지원됩니다. |
Reserved1[7]
예약되어 있으므로 사용하지 마세요.
OptimalUnmapGranularity
디바이스에 대한 매핑 해제 세분성을 위한 최적의 블록 수입니다.
UnmapGranularityAlignment
디바이스의 매핑 해제 세분성 맞춤에 대해 설정된 현재 값(블록)입니다. UnmapGranularityAlignmentValid 값은 이 멤버의 유효성을 나타냅니다.
MaxUnmapLbaCount
단일 UNMAP 명령에서 매핑을 해제할 수 있는 최대 LBA 양(논리 블록 단위)입니다. Windows 10 시작하는 것이 유효합니다.
MaxUnmapBlockDescriptorCount
단일 UNMAP 명령에서 허용되는 최대 설명자 수입니다. Windows 10 시작하는 것이 유효합니다.
설명
이 구조체는 STORAGE_PROPERTY_QUERYPropertyId 멤버가 StorageDeviceLBProvisioningProperty로 설정된 경우 IOCTL_STORAGE_QUERY_PROPERTY 요청에서 시스템 버퍼에 반환됩니다.
DEVICE_LB_PROVISIONING_DESCRIPTOR 구조체는 현재 IRP 스택 위치에 대해 Parameters.DeviceIoControl.OutputBufferLength에 설정된 sizeof(DEVICE_LB_PROVISIONING_DESCRIPTOR) 값으로 시스템 버퍼 Irp-AssociatedIrp.SystemBuffer>에 기록됩니다.
UnmapGranularityAlignmentValid가 0이면 UnmapGranularityAlignment를 사용하는 모든 코드에서 값이 0이라고 가정해야 합니다.
기본 스토리지 디바이스가 SCSI 디바이스인 경우 매핑 해제 기능을 쿼리할 수 있습니다. DEVICE_TRIM_DESCRIPTOR 구조체의 TrimEnabled 멤버가 TRUE이면 UNMAP가 지원됩니다. DEVICE_TRIM_DESCRIPTOR 구조체는 STORAGE_PROPERTY_QUERYPropertyId 멤버가 StorageDeviceTrimProperty로 설정된 경우 IOCTL_STORAGE_QUERY_PROPERTY 요청에서 시스템 버퍼에 반환됩니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 |
머리글 | ntddstor.h(Ntddstor.h 포함) |