---
title: "sendIORequest(with:frameList:frameListCount:firstFrameNumber:)"
framework: iousbhost
role: symbol
role_heading: Instance Method
path: "iousbhost/iousbhostpipe/sendiorequest(with:framelist:framelistcount:firstframenumber:)"
---

# sendIORequest(with:frameList:frameListCount:firstFrameNumber:)

Sends a request on an isochronous endpoint.

## Declaration

```swift
func sendIORequest(with data: NSMutableData, frameList: UnsafeMutablePointer<IOUSBHostIsochronousFrame>, frameListCount: Int, firstFrameNumber: UInt64) throws
```

## Parameters

- `data`: An doc://com.apple.documentation/documentation/Foundation/NSMutableData object defining the memory to use for the transfer.
- `frameList`: A pointer to the first element in an doc://com.apple.iousbhost/documentation/IOUSBHost/IOUSBHostIsochronousFrame array. The array must contain at least frameListCount elements.
- `frameListCount`: The number of elements in frameList.
- `firstFrameNumber`: The frame number the request begins on. Query the current frame number with doc://com.apple.iousbhost/documentation/IOUSBHost/IOUSBHostObject/frameNumberWithTime:. If 0, the transfer starts on the next available frame (XHCI only).

## Discussion

Discussion This method issues synchronous isochronous requests. The caller allocates and initializes an array of IOUSBHostIsochronousFrame structures to describe the transferred frames.

## See Also

### Sending Isochronous I/O

- [IOUSBHostIsochronousCompletionHandler](iousbhost/iousbhostisochronouscompletionhandler.md)
- [IOUSBHostTime](iousbhost/iousbhosttime.md)
- [IOUSBHostIsochronousFrame](iousbhost/iousbhostisochronousframe.md)
- [enqueueIORequest(with:frameList:frameListCount:firstFrameNumber:completionHandler:)](iousbhost/iousbhostpipe/enqueueiorequest(with:framelist:framelistcount:firstframenumber:completionhandler:).md)
