STORAGE_LB_PROVISIONING_MAP_RESOURCES structure (ntddstor.h)

The STORAGE_LB_PROVISIONING_MAP_RESOURCES structure contains, when valid, the count of available and used bytes mapped to a storage device. This structure is returned from an IOCTL_STORAGE_GET_LB_PROVISIONING_MAP_RESOURCES request.

Syntax

typedef struct _STORAGE_LB_PROVISIONING_MAP_RESOURCES {
  ULONG     Size;
  ULONG     Version;
  UCHAR     AvailableMappingResourcesValid : 1;
  UCHAR     UsedMappingResourcesValid : 1;
  UCHAR     Reserved0 : 6;
  UCHAR     Reserved1[3];
  UCHAR     AvailableMappingResourcesScope : 2;
  UCHAR     UsedMappingResourcesScope : 2;
  UCHAR     Reserved2 : 4;
  UCHAR     Reserved3[3];
  ULONGLONG AvailableMappingResources;
  ULONGLONG UsedMappingResources;
} STORAGE_LB_PROVISIONING_MAP_RESOURCES, *PSTORAGE_LB_PROVISIONING_MAP_RESOURCES;

Members

Size

The size of this structure. This is set to sizeof(STORAGE_LB_PROVISIONING_MAP_RESOURCES).

Version

The version of this structure.

AvailableMappingResourcesValid

The validity of the AvailableMappingResources member.

Value Meaning
0
AvailableMappingResources is not valid.
1
AvailableMappingResources is valid.

UsedMappingResourcesValid

The validity of the UsedMappingResources member.

Value Meaning
0
UsedMappingResources is not valid.
1
UsedMappingResources is valid.

Reserved0

Reserved.

Reserved1[3]

Reserved.

AvailableMappingResourcesScope

Resources scope available to a LUN or a LUN pool.

Value Meaning
LOG_PAGE_LBP_RESOURCE_SCOPE_NOT_REPORTED
0
Mapping resources are not reported.
LOG_PAGE_LBP_RESOURCE_SCOPE_DEDICATED_TO_LUN
1
Mapping resources dedicated to a LUN.
LOG_PAGE_LBP_RESOURCE_SCOPE_NOT_DEDICATED_TO_LUN
2
Mapping resources dedicated to a LUN pool.

UsedMappingResourcesScope

Resources scope used by a LUN or LUN pool.

Value Meaning
LOG_PAGE_LBP_RESOURCE_SCOPE_NOT_REPORTED
0
Mapping resources are not reported.
LOG_PAGE_LBP_RESOURCE_SCOPE_DEDICATED_TO_LUN
1
Mapping resources dedicated to a LUN.
LOG_PAGE_LBP_RESOURCE_SCOPE_NOT_DEDICATED_TO_LUN
2
Mapping resources dedicated to a LUN pool.

Reserved2

Reserved.

Reserved3[3]

Reserved.

AvailableMappingResources

The count, in bytes, of the available mapping resources for a disk.

UsedMappingResources

The count, in bytes, of the used mapping resources for a disk.

Remarks

As a managed storage element, resource usage for a thinly provisioned LUN is tracked. Resource allocation is logged for the device by the storage subsystem. A storage application can query for this resource usage information using the IOCTL_STORAGE_GET_LB_PROVISIONING_MAP_RESOURCES request.

Logging of mapped resource counts is dependent on support from the storage device. The AvailableMappingResources and UsedMappingResources members contain resource counts when their respective validity fields are set.

Resource counts are in bytes instead of totals of blocks or slabs.

Requirements

Requirement Value
Minimum supported client Available starting with Windows 8.
Header ntddstor.h (include Ntddstor.h, Scsi.h)

See also

IOCTL_STORAGE_GET_LB_PROVISIONING_MAP_RESOURCES