Legato
Legato

GoFiler Legato Script Reference

 

Legato v 1.6f

Application v 6.4a

  

 

Chapter SixteenApplication (continued)

16.7 Registry Functions

16.7.1 The System Registry

The Windows registry is a system-defined, system-wide database, in which applications and system components store and retrieve configuration data. The data stored in the registry varies according to the version of Microsoft Windows. Generally speaking, only application installation, specific settings and system information should be stored in the registry.

Scripts can use registry functions to retrieve, modify, or delete registry data. Scripts should avoid editing or deleted registry data that does not belong to the application or script unless it is absolutely necessary. Altering certain keys and their data may result in undesirable operation of the system and other components.

Entries within the registry are stored as named values within a key. Keys define a tree-like structure with a number of standard top branches, such as the ‘user’ or HKEY_CURRENT_USER that, in turn, contain a series of subkeys. In addition to named values, each key will also have a default or unnamed value.

Values can have a number of data types, these are as follows:

  Definition (WinSDK)   Value   Description  
  REG_NONE   0   No value type (error)  
  REG_SZ   1   Unicode /0 Terminated String  
  REG_EXPAND_SZ   2   Unicode /0 Environment Variables  
  REG_BINARY   3   Free Form Binary Data  
  REG_DWORD   4   32-bit Number (not sign specific)  
  REG_DWORD_LITTLE_ENDIAN   4   Same as REG_DWORD (defined by WinSDK)  
  REG_DWORD_BIG_ENDIAN   5   32-bit Number Swapped Order  
  REG_LINK   6   Symbolic Link (unicode)  
  REG_MULTI_SZ   7   Multiple Unicode Strings  
  REG_RESOURCE_LIST   8   Resource List in the Resource Map  
  REG_FULL_RESOURCE_DESCRIPTOR   9   Resource List in the Hardware Desc  
  REG_RESOURCE_REQUIREMENTS_LIST   10   Resource Requirements List  
  REG_QWORD   11   64-bit Number (not sign specific)  
  REG_QWORD_LITTLE_ENDIAN   11   64-bit Number (same as REG_QWORD)  

 

Legato automatically maps various variable types to registry type, however, not all types are supported.

Certain key locations require administrative rights to update or create new keys and certain root keys are also an amalgam created for the user profile. Understanding the organization of registry data is too advanced and lengthy to discuss within this manual. Suffice it to say, accessing the registry is an advance aspect of Legato and provides access to a critical part of the underlying operating system.

16.7.2 Registry Functions

RegistryCreateKey — Creates a key name at the specified location.

RegistryDeleteKey — Deletes a specified key. This key cannot contain other keys.

RegistryDeleteValue — Deletes a specified value entry from a key.

RegistryEnumerateKeys — Enumerates all the key nodes for specified key name.

RegistryEnumerateNames — Enumerates all the value names for specified key node.

RegistryGet32Word — Returns the value of a specified key as a 32-bit numeric value.

RegistryGet64Word — Returns the value of a specified key as a 64-bit numeric value.

RegistryGetBlock — Returns a binary block of information into the specified data parameter.

RegistryGetFloat — Accesses a key value as a 64-bit REG_QWORD and converts it to a float.

RegistryGetString — Returns the value of a specified key as a string.

RegistryGetType — Returns the type of data for the associated value name.

RegistrySetValue — Sets the value of a specified key to the variable or value provided.

Page revised 2026-01-05