---
title: "IOUSBGetNextEndpointDescriptor(_:_:_:)"
framework: iousbhost
role: symbol
role_heading: Function
path: "iousbhost/iousbgetnextendpointdescriptor(_:_:_:)"
---

# IOUSBGetNextEndpointDescriptor(_:_:_:)

Obtains the next endpoint descriptor for an interface descriptor.

## Declaration

```swift
func IOUSBGetNextEndpointDescriptor(_ configurationDescriptor: UnsafePointer<IOUSBConfigurationDescriptor>!, _ interfaceDescriptor: UnsafePointer<IOUSBInterfaceDescriptor>!, _ currentDescriptor: UnsafePointer<IOUSBDescriptorHeader>!) -> UnsafePointer<IOUSBEndpointDescriptor>!
```

## Parameters

- `configurationDescriptor`: A configuration descriptor that contains the descriptors to iterate through.
- `interfaceDescriptor`: An interface descriptor within the bounds of configurationDescriptor.
- `currentDescriptor`: A descriptor pointer within the bounds of configurationDescriptor, or nil.

## Return Value

Return Value A descriptor pointer, or nil if no matching descriptor returns.

## Discussion

Discussion This method uses IOUSBGetNextAssociatedDescriptorWithType(_:_:_:_:) to find the next endpoint descriptor for a specific interface descriptor.

## See Also

### Endpoint Descriptor Parsing

- [IOUSBGetEndpointDirection(_:)](iousbhost/iousbgetendpointdirection(_:).md)
- [IOUSBGetEndpointAddress(_:)](iousbhost/iousbgetendpointaddress(_:).md)
- [IOUSBGetEndpointNumber(_:)](iousbhost/iousbgetendpointnumber(_:).md)
- [IOUSBGetEndpointType(_:)](iousbhost/iousbgetendpointtype(_:).md)
- [IOUSBGetEndpointMaxPacketSize(_:_:)](iousbhost/iousbgetendpointmaxpacketsize(_:_:).md)
- [IOUSBGetEndpointIntervalEncodedMicroframes(_:_:)](iousbhost/iousbgetendpointintervalencodedmicroframes(_:_:).md)
- [IOUSBGetEndpointIntervalMicroframes(_:_:)](iousbhost/iousbgetendpointintervalmicroframes(_:_:).md)
- [IOUSBGetEndpointIntervalFrames(_:_:)](iousbhost/iousbgetendpointintervalframes(_:_:).md)
- [IOUSBGetEndpointMaxStreamsEncoded(_:_:_:)](iousbhost/iousbgetendpointmaxstreamsencoded(_:_:_:).md)
- [IOUSBGetEndpointMaxStreams(_:_:_:)](iousbhost/iousbgetendpointmaxstreams(_:_:_:).md)
