GINO Graphics Suite - GINO v9.0  

gReturnRegistryValues

Syntax

[C/C++:]
void gReturnRegistryValues(int registry, char *key, int nval, char *values[], int types[], char *strings[], float data[], int len);
[F90:]
subroutine gReturnRegistryValues(registry, key, nval, values, types, strings, data)

integer,           intent(in) :: registry
character*(*),  intent(in) :: key
integer,           intent(inout) :: nval
integer,           intent(out) :: types(nval)
character*(*),  intent(out) :: values(nval),strings(nval)
real,                intent(out) :: data(nval)

Arguments

registry
Top level registry root key

= GREGCLASSESROOT, Root classes registry
= GREGCURRENTUSER, Current User Registry
= GREGLOCALMACHINE, Local Machine Registry
= GREGUSERS, Users Registry
= GREGCURRENTCONFIG, Current Configuration Registry

key
Name of key for which data values are required

nval
Size of values, types, strings and data arrays on entry and number of data values returned on exit

values
Array containing returned names of data values

types
Array containing returned types of data values

= GREGNONE, No type
= GREGSTR, String
= GREGEXPANDSTR, String containing unexpanded environment variables
= GREGBINARY, Binary value
= GREGVALUE, Real value
= GREGMULTISTR, Multi-string

strings
Arrays containing returned string value settings

data
Array containing returned numeric value settings

len
Length of values and strings array string arguments (C/C++ only)

Description

The routine gReturnRegistryValues() returns the names, types and settings of any data values that exist under an existing key in the top level registry within the Windows Registry. The argument nval should be set to the size of the values, types, strings and data arrays and will be returned as the number of data values returned (up to a maximum of the value set on entry). The function gEnqRegistryKeyInfo() can be used to obtain numbers and sizes of data values that are contained in the registry.

The value name, type and setting will be contained in the equivalent array locations of each array, with the setting being returned in strings[n] or data[n] according to the data value type returned in types[n].

In C/C++ the application should declare values and strings as 'char values*[len+1], strings*[len+1];' in order to allocate enough space for the returned strings plus their trailing NULLs. The maximum lengths can also be obtained from the results of a call to the function gEnqRegistryKeyInfo().

See Also

gReturnRegistryValues Usage
gEnqRegistryKeyInfo
gEnqRegistryValue