### Method

# Gio Drive eject_with_operation

since: 2.22

#### Declaration

    void
    g_drive_eject_with_operation (
      GDrive* drive,
      GMountUnmountFlags flags,
      GMountOperation* mount_operation,
      GCancellable* cancellable,
      GAsyncReadyCallback callback,
      gpointer user_data
    )

#### Description

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

Available since: 2.22

#### 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.