---
title: READ_CAPACITY
framework: scsiperipheralsdriverkit
role: symbol
role_heading: Function
platforms: [driverkit 22.0+]
path: scsiperipheralsdriverkit/read_capacity
---

# READ_CAPACITY

Fills a Command Descriptor Block (CDB) to perform a SCSI read-capacity command.

## Declaration

```occ
bool READ_CAPACITY(SCSIDeviceOutParameters *request, UInt64 bufAddr, SCSIDeviceInParameters *response, UInt64 senseBufAddr);
```

## Parameters

- `request`: An object that contains the request information.
- `bufAddr`: A buffer to receive the data.
- `response`: An empty doc://com.apple.scsiperipheralsdriverkit/documentation/SCSIPeripheralsDriverKit/SCSIDeviceInParameters object. On return, the framework populates this object with the response information.
- `senseBufAddr`: The address of the sense buffer.

## Return Value

Return Value true if the call successfully fills the CDB; false, otherwise.

## Discussion

Discussion Use this method in your dext to prefill a 16-byte CDB for the standard READ CAPACITY SCSI command.

## See Also

### Creating common SCSI commands

- [TEST_UNIT_READY](scsiperipheralsdriverkit/test_unit_ready.md)
- [INQUIRY](scsiperipheralsdriverkit/inquiry.md)
- [REQUEST_SENSE](scsiperipheralsdriverkit/request_sense.md)
- [READ_10](scsiperipheralsdriverkit/read_10.md)
- [WRITE_10](scsiperipheralsdriverkit/write_10.md)
