---
title: StartIO
framework: VideoDriverKit
role: symbol
role_heading: Instance Method
platforms: [driverkit 27.0+]
path: videodriverkit/iouservideostream/startio
---

# StartIO

Tells the stream to start IO.

## Declaration

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

## Parameters

- `in_flags`: Flags to indicate how IO is starting.

## Discussion

Discussion The default implementation always returns kIOReturnSuccess. Subclass and override this method to handle any hardware specific things when IO is starting, then call the superclass implementation to update IO state. This call is expected to always succeed or fail. The hardware can take as long as necessary in this call such that it always either succeeds (and kIOReturnSuccess) or fails.

## See Also

### Performing I/O

- [StopIO](videodriverkit/iouservideostream/stopio.md)
- [IOUserVideoStartStopFlags](videodriverkit/videodriverkit/iouservideostartstopflags.md)
- [InputNotification](videodriverkit/iouservideostream/inputnotification.md)
