方法
since: 2.26
声明 [来源]
gboolean
g_dbus_connection_send_message (
GDBusConnection* connection,
GDBusMessage* message,
GDBusSendMessageFlags flags,
volatile guint32* out_serial,
GError** error
)
描述 [来源]
异步将 message
发送到由 connection
表示的对方。
如果 flags
不包含 G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL
标志,序列号将由 connection
分配,并通过 g_dbus_message_set_serial() 设置在 message
上。如果 out_serial
不是 NULL
,则在提交消息到底层传输之前,将使用此位置写入使用的序列号。尽管它具有 volatile
特质,但这是一种历史遗迹,并且传递给它的参数不应是 volatile
。
如果 connection
已关闭,则操作将失败,返回 G_IO_ERROR_CLOSED
。如果 message
不是有效格式,则操作将失败,返回 G_IO_ERROR_INVALID_ARGUMENT
。
看这里 [服务器][gdbus-server] 和 [客户端][gdbus-unix-fd-client] 来了解如何使用此低级 API 发送和接收 UNIX 文件描述符的示例。
注意,除非 flags
包含 G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL
标志,否则必须对 message
进行解锁。
since: 2.26
参数
message
-
类型:
GDBusMessage
一个
GDBusMessage
。数据由方法的调用者拥有。 flags
-
影响消息发送方式的标记。
out_serial
-
类型:
volatile guint32*
发送消息时分配给
message
的序列号返回位置或NULL
。该参数将由函数设置。 该参数可以是 NULL
。 error
-
类型:
GError **
一个可恢复错误的返回位置。
该参数可以是 NULL
。如果返回位置不是 NULL
,那么您必须将其初始化为NULL
GError*
。如果没有错误,方法将保留初始化参数为 NULL
。如果发生错误,参数将设置为分配的新 GError
;调用者将接管数据,并负责释放它。