方法

GIObjectObjectdup_qdata

自 2.34 开始支持

声明 [src]

gpointer
g_object_dup_qdata (
  GObject* object,
  GQuark quark,
  GDuplicateFunc dup_func,
  gpointer user_data
)

描述 [src]

这是 g_object_get_qdata() 的变体,返回值的‘副本’。dup_func 定义了在此上下文中“副本”的含义,例如,可以引用引用计数的对象。

如果对象上未设置 quark,则将使用 NULL 参数调用 dup_func

请注意,dup_funcobject 的用户数据锁定时被调用。

此函数可用于避免在多个线程同时使用同一对象的同一键的物体数据时的竞态条件。

自 2.34 开始支持

此方法不直接对语言绑定可用。

参数

quark

类型: GIQuark

一个 GIQuark,指代用户数据指针。

dup_func

类型:GDuplicateFunc

用于复制值的函数。

参数可以是 NULL
user_data

类型: gpointer

作为用户数据传递给 dup_func

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

返回值

类型: gpointer

对与 object 上关联的值调用 dup_func 的结果,如果没有设置则为 NULL。如果 dup_funcNULL,则返回未经修改的值。

返回的数据由实例拥有。
返回值可以是 NULL