方法

GIRepositoryVFuncInfoinvoke

since: 2.80

声明 [源代码]

gboolean
gi_vfunc_info_invoke (
  GIVFuncInfo* info,
  GType implementor,
  const GIArgument* in_args,
  size_t n_in_args,
  GIArgument* out_args,
  size_t n_out_args,
  GIArgument* return_value,
  GError** error
)

描述 [源代码]

调用在 info 中描述的函数,并使用给定的参数。

请注意,'inout' 参数必须出现在两个参数列表中。

Available since: 2.80

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

参数

implementor

类型: GType

GType 实现此虚拟函数的类型。

in_args

类型: 一个 GIArgument 数组

一个表示 info 的每个 'in' 参数的 GIArgument 数组。如果没有 'in' 参数,则 in_args 可以是 NULL

该参数可以 NULL
数组的长度由 n_in_args 参数指定。
数据由方法调用者所有。
n_in_args

类型: size_t

in_args 数组的长度。

out_args

类型: 一个 GIArgument 数组

由调用者分配的 GIArgument 数组,每个由 info 的每个 'out' 参数一个。如果没有 'out' 参数,则 out_args 可以是 NULL

该参数可以 NULL
数组长度由 n_out_args 参数指定。
数据由方法调用者所有。
n_out_args

类型: size_t

out_args 数组的长度。

return_value

类型: GIArgument

从 vfunc 返回值的返回位置;如果 vfunc 返回该值,则可返回 NULL

该参数将由函数设置。
返回的数据由实例所有。
error

类型: GError **

一个可恢复错误的返回位置。

该参数可以 NULL
如果返回位置不是 NULL,则必须将其初始化为 NULL GError*
如果没有错误,方法将把参数初始化为 NULL
在出错的情况下,参数将被设置为一个新的 GError;调用者将接管数据,并负责释放它。

返回值

类型: gboolean

TRUE 如果 vfunc 成功执行且未抛出 GErrorFALSE 如果设置了 error