方法

GioDBusConnectioncall_with_unix_fd_list

自:2.30

声明 [源]

void
g_dbus_connection_call_with_unix_fd_list (
  GDBusConnection* connection,
  const gchar* bus_name,
  const gchar* object_path,
  const gchar* interface_name,
  const gchar* method_name,
  GVariant* parameters,
  const GVariantType* reply_type,
  GDBusCallFlags flags,
  gint timeout_msec,
  GUnixFDList* fd_list,
  GCancellable* cancellable,
  GAsyncReadyCallback callback,
  gpointer user_data
)

描述 [源]

类似g_dbus_connection_call(),但还接受一个GUnixFDList对象。

通常,文件描述符对应于消息体内的G_VARIANT_TYPE_HANDLE值。例如,如果消息包含两个文件描述符,则fd_list的长度将为2,g_variant_new_handle (0)g_variant_new_handle (1)将出现在消息体的某个位置(不一定按此顺序!)以表示索引0和1的文件描述符。

在设计旨在互操作的 D-Bus API 时,请注意,非 GDBus 实现的 D-Bus 通常只能通过在消息体中使用 G_VARIANT_TYPE_HANDLE 类型值以这种方式引用来访问文件描述符。

此方法仅在 UNIX 系统中可用。

自 2.30 版本起可用

此方法异步完成。在 GAsyncReadyCallback 中使用 g_dbus_connection_call_with_unix_fd_list_finish() 获取操作的结果。

参数

bus_name

类型: const gchar*

一个唯一的或已知的总线名称,或者如果 connection 不是一个消息总线连接,则使用 NULL

此参数可以是 NULL
数据由方法的调用者拥有。
此值是一个以 null 结尾的 UTF-8 字符串。
object_path

类型: const gchar*

远程对象的路径。

数据由方法的调用者拥有。
此值是一个以 null 结尾的 UTF-8 字符串。
interface_name

类型: const gchar*

要在其上调用方法的可选 D-Bus 接口。

数据由方法的调用者拥有。
此值是一个以 null 结尾的 UTF-8 字符串。
method_name

类型: const gchar*

要调用的方法的名称。

数据由方法的调用者拥有。
此值是一个以 null 结尾的 UTF-8 字符串。
parameters

类型: GVariant

一个 GVariant 数组,包含方法的参数,或者如果没有传递参数,则为 NULL

此参数可以是 NULL
数据由方法的调用者拥有。
reply_type

类型: GVariantType

预期的回复类型,或者 NULL

此参数可以是 NULL
数据由方法的调用者拥有。
flags

类型: GDBusCallFlags

GDBusCallFlags 枚举中的标志。

timeout_msec

类型: gint

以毫秒为单位的超时时间,-1 使用默认超时,或 G_MAXINT 不设置超时。

fd_list

类型: GUnixFDList

一个 GUnixFDListNULL

此参数可以是 NULL
数据由方法的调用者拥有。
cancellable

类型: GCancellable

一个 GCancellableNULL

此参数可以是 NULL
数据由方法的调用者拥有。
callback

类型: GAsyncReadyCallback

在请求得到满足时调用的 GAsyncReadyCallback,或者如果你不关心方法调用结果,则为 NULL

此参数可以是 NULL
user_data

类型: gpointer

传递给 callback 的数据。

此参数可以是 NULL
数据由方法的调用者拥有。