### Method

# Gio SettingsSchemaKey get_range

since: 2.40

#### Declaration

    GVariant*
    g_settings_schema_key_get_range (
      GSettingsSchemaKey* key
    )

#### Description

Queries the range of a key.

This function will return a `GVariant` that fully describes the range of values that are valid for `key`.

The type of `GVariant` returned is `(sv)`. The string describes the type of range restriction in effect. The type and meaning of the value contained in the variant depends on the string.

If the string is `'type'` then the variant contains an empty array. The element type of that empty array is the expected type of value and all values of that type are valid.

If the string is `'enum'` then the variant contains an array enumerating the possible values. Each item in the array is a possible valid value and no other values are valid.

If the string is `'flags'` then the variant contains an array. Each item in the array is a value that may appear zero or one times in an array to be used as the value for this key. For example, if the variant contained the array `['x', 'y']` then the valid values for the key would be `[]`, `['x']`, `['y']`, `['x', 'y']` and `['y', 'x']`.

Finally, if the string is `'range'` then the variant contains a pair of like-typed values — the minimum and maximum permissible values for this key.

This information should not be used by normal programs. It is considered to be a hint for introspection purposes. Normal programs should already know what is permitted by their own schema. The format may change in any way in the future — but particularly, new forms may be added to the possibilities described above.

You should free the returned value with `g_variant_unref()` when it is no longer needed.

Available since: 2.40

#### Return value

Type: `GVariant`

A `GVariant` describing the range.

The caller of the method takes ownership of the data, and is responsible for freeing it.