---
title: IOUSBDeviceDescriptor
framework: kernel
role: symbol
role_heading: Type Alias
path: kernel/iousbdevicedescriptor
---

# IOUSBDeviceDescriptor

The structure for storing a USB device descriptor.

## Declaration

```occ
typedef struct IOUSBDeviceDescriptor IOUSBDeviceDescriptor;
```

## Discussion

Discussion For information about this descriptor type, see USB 3.2, 9.6.1.

## Topics

### Getting the Device Properties

- [bLength](kernel/iousbdevicedescriptor/1546302-blength.md)
- [bDescriptorType](kernel/iousbdevicedescriptor/1545902-bdescriptortype.md)
- [bcdUSB](kernel/iousbdevicedescriptor/1546010-bcdusb.md)
- [bDeviceClass](kernel/iousbdevicedescriptor/1546557-bdeviceclass.md)
- [bDeviceSubClass](kernel/iousbdevicedescriptor/1546530-bdevicesubclass.md)
- [bDeviceProtocol](kernel/iousbdevicedescriptor/1546376-bdeviceprotocol.md)
- [bMaxPacketSize0](kernel/iousbdevicedescriptor/1546126-bmaxpacketsize0.md)
- [idVendor](kernel/iousbdevicedescriptor/1546331-idvendor.md)
- [idProduct](kernel/iousbdevicedescriptor/1546261-idproduct.md)
- [bcdDevice](kernel/iousbdevicedescriptor/1546251-bcddevice.md)
- [iManufacturer](kernel/iousbdevicedescriptor/1546249-imanufacturer.md)
- [iProduct](kernel/iousbdevicedescriptor/1546566-iproduct.md)
- [iSerialNumber](kernel/iousbdevicedescriptor/1545940-iserialnumber.md)
- [bNumConfigurations](kernel/iousbdevicedescriptor/1546184-bnumconfigurations.md)

## See Also

### Device Descriptors

- [IOUSBDeviceDescriptorPtr](kernel/iousbdevicedescriptorptr.md)
- [IOUSBDeviceQualifierDescriptor](kernel/iousbdevicequalifierdescriptor.md)
- [IOUSBDeviceQualifierDescriptorPtr](kernel/iousbdevicequalifierdescriptorptr.md)

### Related Documentation

- [IOUSBDeviceDescriptor](iokit/usb_h_user-space/iousbdevicedescriptor.md)
