---
title: "vmnet_start_interface(_:_:_:)"
framework: vmnet
role: symbol
role_heading: Function
platforms: [Mac Catalyst 13.0+, macOS 10.10+]
path: "vmnet/vmnet_start_interface(_:_:_:)"
---

# vmnet_start_interface(_:_:_:)

Starts a new virtual interface instance.

## Declaration

```swift
func vmnet_start_interface(_ interface_desc: xpc_object_t, _ queue: dispatch_queue_t, _ handler: @escaping vmnet_start_interface_completion_handler_t) -> interface_ref?
```

## Parameters

- `interface_desc`: A dictionary describing parameters to use when creating the interface.
- `queue`: The queue on which to schedule the completion handler.
- `handler`: The block to invoke when the start interface request completes.

## Return Value

Return Value A non-NULL interface handle on success, NULL otherwise.

## Discussion

Discussion Attributes of the virtual interface are specified using the interface_desc dictionary.

## See Also

### Starting and stopping interfaces

- [vmnet_interface_start_with_network(_:_:_:_:)](vmnet/vmnet_interface_start_with_network(_:_:_:_:).md)
- [vmnet_interface_set_event_callback(_:_:_:_:)](vmnet/vmnet_interface_set_event_callback(_:_:_:_:).md)
- [vmnet_stop_interface(_:_:_:)](vmnet/vmnet_stop_interface(_:_:_:).md)
