<!--
{
  "availability" : [
    "DriverKit: 21.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "BlockStorageDeviceDriverKit",
  "identifier" : "/documentation/BlockStorageDeviceDriverKit/DeviceParams",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "BlockStorageDeviceDriverKit"
    ],
    "preciseIdentifier" : "c:@S@DeviceParams"
  },
  "title" : "DeviceParams"
}
-->

# DeviceParams

A structure that represents hardware-specific properties of the block storage device.

```
struct DeviceParams;
```

## Discussion

Implement the [`GetDeviceParams`](/documentation/BlockStorageDeviceDriverKit/IOUserBlockStorageDevice/GetDeviceParams) method to provide the framework with the device-specific properties indicated by this structure.

## Topics

### Accessing Device Parameters

[`uint64_t numOfBlocks;`](/documentation/BlockStorageDeviceDriverKit/DeviceParams/numOfBlocks)

The number of blocks on the device.

[`uint32_t blockSize;`](/documentation/BlockStorageDeviceDriverKit/DeviceParams/blockSize)

The size of a block on the device.

[`uint32_t maxIOSize;`](/documentation/BlockStorageDeviceDriverKit/DeviceParams/maxIOSize)

The maximum amount of data per I/O call.

[`uint32_t numOfOutstandingIOs;`](/documentation/BlockStorageDeviceDriverKit/DeviceParams/numOfOutstandingIOs)

The upper limit to the number of requests sent to the device.

[`uint32_t maxNumOfUnmapRegions;`](/documentation/BlockStorageDeviceDriverKit/DeviceParams/maxNumOfUnmapRegions)

The maximum number of regions supported by an unmap call.

[`uint32_t minSegmentAlignment;`](/documentation/BlockStorageDeviceDriverKit/DeviceParams/minSegmentAlignment)

The minimum alignment of the data buffer sent to read-write calls.

[`uint8_t numOfAddressBits;`](/documentation/BlockStorageDeviceDriverKit/DeviceParams/numOfAddressBits)

The number of bits used to address blocks on the device.

[`bool isUnmapSupported;`](/documentation/BlockStorageDeviceDriverKit/DeviceParams/isUnmapSupported)

A Boolean value that indicates whether the device supports unmapping to reclaim storage.

[`bool isFUASupported;`](/documentation/BlockStorageDeviceDriverKit/DeviceParams/isFUASupported)

A Boolean value that indicates whether the device supports forced unit access (FUA).



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)