---
title: StartIO
framework: audiodriverkit
role: symbol
role_heading: Instance Method
path: audiodriverkit/iouseraudiodevice/startio
---

# StartIO

Tells the device to start I/O.

## Declaration

```occ
virtual kern_return_t StartIO(IOUserAudioStartStopFlags in_flags);
```

## Parameters

- `in_flags`: A IOUserAudioStartStopFlag to indicate I/O startup behavior.

## Return Value

Return Value kIOReturnSuccess on success, or another value if an error occurs. For a list of error codes, see Error Codes.

## Discussion

Discussion The default implementation always returns kIOReturnSuccess. Subclass and override this method to handle hardware-specific tasks during I/O startup, then call the superclass to update the I/O state. The framework expects this call to always succeed or fail. The hardware can take as long as it needs in this call, provided it always either succeeds or fails. All streams added to the device also receive a call to their StartIO methods.

## See Also

### Performing I/O

- [StopIO](audiodriverkit/iouseraudiodevice/stopio.md)
- [IOUserAudioStartStopFlags](audiodriverkit/audiodriverkit/iouseraudiostartstopflags.md)
