Gio.Volume.eject_with_operation

### Method

# Gio Volumeeject_with_operation

since: 2.22

#### Declaration [src]

    void
    g_volume_eject_with_operation (
      GVolume* volume,
      GMountUnmountFlags flags,
      GMountOperation* mount_operation,
      GCancellable* cancellable,
      GAsyncReadyCallback callback,
      gpointer user_data
    )

#### Description [src]

Ejects a volume. This is an asynchronous operation, and is finished by calling `g_volume_eject_with_operation_finish()` with the `volume` and `GAsyncResult` data returned in the `callback`.

Available since: 2.22

This method completes asynchronously. Use `g_volume_eject_with_operation_finish()` inside the `GAsyncReadyCallback` to obtain the result of the operation.

#### Parameters

`flags`

  Type: `GMountUnmountFlags`

  Flags affecting the unmount if required for eject.

`mount_operation`

  Type: `GMountOperation`

  A `GMountOperation` or `NULL` to avoid user interaction.

  The argument can be `NULL`.
  The data is owned by the caller of the method.

`cancellable`

  Type: `GCancellable`

  Optional `GCancellable` object, `NULL` to ignore.

  The argument can be `NULL`.
  The data is owned by the caller of the method.

`callback`

  Type: `GAsyncReadyCallback`

  A `GAsyncReadyCallback`, or `NULL`.

  The argument can be `NULL`.

`user_data`

  Type: `gpointer`

  User data passed to `callback`.

  The argument can be `NULL`.
  The data is owned by the caller of the method.