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

추가 정보

IOCTL_STORAGE_QUERY_PROPERTY

STORAGE_PROPERTY_QUERY