GObject.ClosureMarshal
Description: Reference for GObject.ClosureMarshal

### Function

# GObjectClosureMarshal

#### Declaration

    void
    (* GClosureMarshal) (
      GClosure* closure,
      GValue* return_value,
      guint n_param_values,
      const GValue* param_values,
      gpointer invocation_hint,
      gpointer marshal_data
    )

#### Description [src]

The type used for marshaller functions.

#### Parameters

`closure`

  Type: `GClosure`

  The `GClosure` to which the marshaller belongs.

  The data is owned by the caller of the function.

`return_value`

  Type: `GValue`

  A `GValue` to store the return value. May be `NULL` if the callback of `closure` doesn’t return a value.

  The argument can be `NULL`.
  The data is owned by the caller of the function.

`n_param_values`

  Type: `guint`

  The length of the `param_values` array.

`param_values`

  Type: An array of `GValue`

  An array of `GValues` holding the arguments on which to invoke the callback of `closure`.

  The length of the array is specified in the `n_param_values` argument.
  The data is owned by the caller of the function.

`invocation_hint`

  Type: `gpointer`

  The invocation hint given as the last argument to g_closure_invoke().

  The argument can be `NULL`.
  The data is owned by the caller of the function.

`marshal_data`

  Type: `gpointer`

  Additional data specified when registering the marshaller, see `g_closure_set_marshal()` and g_closure_set_meta_marshal().

  The argument can be `NULL`.
  The data is owned by the caller of the function.