### Function

# GObject Object interface_list_properties

since: 2.4

#### Declaration

    GParamSpec**
    g_object_interface_list_properties (
      GObjectTypeInterface* g_iface,
      guint* n_properties_p
    )

#### Description

Lists the properties of an interface.Generally, the interface vtable passed in as `g_iface` will be the default vtable from g_type_default_interface_ref(), or, if you know the interface has already been loaded, g_type_default_interface_peek().

Available since: 2.4

#### Parameters

`g_iface`

  Type: `GTypeInterface`

  Any interface vtable for the interface, or the default vtable for the interface.

  The data is owned by the caller of the function.

`n_properties_p`

  Type: `guint*`

  Location to store number of properties returned.

  The argument will be set by the function.

#### Return value

Type: An array of `GParamSpec*`

A pointer to an array of pointers to `GParamSpec` structures. The paramspecs are owned by GLib, but the array should be freed with `g_free()` when you are done with it.

The length of the array is in the `n_properties_p` argument.
The caller of the function takes ownership of the data container, but not the data inside it.