界面
GioVolume
说明 [src]
interface Gio.Volume : GObject.Object
GVolume
界面表示可以挂载的用户可见对象。例如,USB闪存驱动器上的文件系统分区,或者插入光驱的光盘。
如果 GVolume
当前已挂载,则可以使用 g_volume_get_mount()
获取相应的 GMount
。
挂载 GVolume
实例是一个异步操作。有关异步操作的更多信息,请参阅 GAsyncResult
和 GTask
。要挂载一个 GVolume
,首先使用 g_volume_mount()
调用(至少)GVolume
实例,可选的 GMountOperation
对象和一个 GAsyncReadyCallback
。
通常,如果在桌面会话启动时自动挂载所有卷,您可能只想传递 NULL
到 GMountOperation
,因为这通常不希望打开大量对话框请求凭证。
当操作已解析完成(无论是成功还是失败)时,将触发回调和通过回调和GAsyncResult
实例。然后回调应该调用g_volume_mount_finish()
使用GVolume
实例和GAsyncResult
数据,以查看操作是否成功完成。如果调用g_volume_mount_finish()
时存在GError
,则它将包含任何错误信息。
注意,当从GnomeVFS移植时,GVolume
等同于GnomeVFSDrive
。
卷标识符
有时需要直接访问卷背后的底层操作系统对象(例如,通过命令行将卷传递给应用程序)。为此,GIO允许为卷获取一个‘标识符’。可以有不同类型的标识符,例如HAL UDIs、文件系统标签、传统的Unix设备(例如/dev/sda2
),UUIDs。GIO使用预定义的字符串作为不同类型标识符的名称:`G_VOLUME_IDENTIFIER_KIND_UUID
`、`G_VOLUME_IDENTIFIER_KIND_LABEL
`等等。使用g_volume_get_identifier()
获取卷的标识符。
注意,`G_VOLUME_IDENTIFIER_KIND_HAL_UDI
`仅在使用GVFS hal卷监视器时可用。其他卷监视器通常能提供`G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE
`标识符,该标识符可用于通过`libhal_manager_find_device_string_match()
`获取hal设备。
实例方法
g_volume_eject_with_operation
弹出卷。这是一个异步操作,通过调用带有`volume
`和`GAsyncResult
`的`g_volume_eject_with_operation_finish()
`来完成。
since: 2.22
g_volume_eject_with_operation_finish
完成弹出卷的操作。如果在操作过程中发生了任何错误,`error
`将设置为包含错误,并将返回`FALSE
`。
since: 2.22
g_volume_get_activation_root
获取卷的激活根,如果它在挂载之前已知。否则返回`NULL
`。如果`NULL
`且卷已挂载,那么从`g_volume_get_mount()
`获取的`GMount
`对象的`g_mount_get_root()
`结果将始终等于或是该函数返回值的超集。换句话说,在代码中。
since: 2.18
接口结构
虚拟方法
Gio.Volume.eject_with_operation
弹出卷。这是一个异步操作,通过调用带有`volume
`和`GAsyncResult
`的`g_volume_eject_with_operation_finish()
`来完成。
since: 2.22
Gio.Volume.eject_with_operation_finish
完成弹出卷的操作。如果在操作过程中发生了任何错误,`error
`将设置为包含错误,并将返回`FALSE
`。
since: 2.22
Gio.Volume.get_activation_root
获取卷的激活根,如果它在挂载之前已知。否则返回`NULL
`。如果`NULL
`且卷已挂载,那么从`g_volume_get_mount()
`获取的`GMount
`对象的`g_mount_get_root()
`结果将始终等于或是该函数返回值的超集。换句话说,在代码中。
since: 2.18