Registry value types

>Registry Value Types

Registry Value Types

These constants match the type passed back from RegQueryValueEx() Windows API. For example:

REM Get the PANIC file directory using server-side $DECLAREs
$DECLARE 'RegQueryValueEx(INT(),STR(),INT(),RETURN INT(),RETURN STR(),RETURN INT())="*"
$DECLARE 'RegOpenKeyEx(INT(),STR(),INT(),INT(),RETURN INT())="*"
$DECLARE 'RegCloseKey(INT())="*"
DIM pandir$256
pandir$ = 'RegGetPanicDir$()
PRINT "Panic directory is ";pandir$
END
REM Find the PANIC directory from the registry
DEFSUB 'RegGetPanicDir$()
 LOCAL DIM path$256
 LOCAL DIM hkey, valsize, valtype, rtn
 rtn = 'RegOpenKeyEx(_HKEY_LOCAL_MACHINE, "Software\Kerridge\KCML", 0, _KEY_READ, BYREF hkey)
 IF (rtn == 0 AND hkey <> 0)
  valsize = LEN(STR(path$))
  rtn = 'RegQueryValueEx(hkey, "panicdir", 0, BYREF valtype, BYREF path$, BYREF valsize)
  IF (rtn <>0 OR valtype <>_REG_SZ)
   REM Failed to read value or value isn't a string
   path$ = " "
  END IF
  'RegCloseKey(hkey)
  END IF
 RETURN path$
END SUB

DEF ENUM enumeration name KCML_REG_TYPES_ENUM

Enumeration ValueValueDescription
_REG_NONE0No defined value type
_REG_SZ1Null terminated string
_REG_EXPAND_SZ2String value with embedded environment variables
_REG_BINARY3Binary data in any form
_REG_DWORD4A 32-bit integer value
_REG_DWORD_BIG_ENDIAN5A 32-bit integer value, byte-swapped REG_DWORD
6Symbolic-link, to be only used by the Operating system.
_REG_MULTI_SZ7Array of null-terminated strings, terminated by a double null.
_REG_RES_LIST8Device-driver resource list
_REG_QWORD11A 64-bit number

Back to the list of Enumerations and Constants