IDAPython 9.0
Loading...
Searching...
No Matches
ida_registry Namespace Reference

Detailed Description

IDA uses the registry to store global configuration options that must persist after IDA has been closed.

On Windows, IDA uses the Windows registry directly. On Unix systems, the registry is stored in a file (typically ~/.idapro/ida.reg).

The root key for accessing IDA settings in the registry is defined by ROOT_KEY_NAME.

Functions

"PyObject *" reg_read_string ("char const *" name, "char const *" subkey=None, "char const *" _def=None)
 reg_read_string(name, subkey=None, _def=None) -> PyObject Read a string from the registry.
 
"regval_type_t" reg_data_type ("char const *" name, "char const *" subkey=None)
 reg_data_type(name, subkey=None) -> regval_type_t Get data type of a given value.
 
"PyObject *" reg_read_binary ("char const *" name, "char const *" subkey=None)
 reg_read_binary(name, subkey=None) -> PyObject Read binary data from the registry.
 
"PyObject *" reg_write_binary ("char const *" name, "PyObject *" py_bytes, "char const *" subkey=None)
 reg_write_binary(name, py_bytes, subkey=None) -> PyObject Write binary data to the registry.
 
"PyObject *" reg_subkey_subkeys ("char const *" name)
 reg_subkey_subkeys(name) -> [str, ...] Get all subkey names of given key.
 
"PyObject *" reg_subkey_values ("char const *" name)
 reg_subkey_values(name) -> [str, ...] Get all value names under given key.
 
"bool" reg_delete_subkey ("char const *" name)
 reg_delete_subkey(name) -> bool Delete a key from the registry.
 
"bool" reg_delete_tree ("char const *" name)
 reg_delete_tree(name) -> bool Delete a subtree from the registry.
 
"bool" reg_delete ("char const *" name, "char const *" subkey=None)
 reg_delete(name, subkey=None) -> bool Delete a value from the registry.
 
"bool" reg_subkey_exists ("char const *" name)
 reg_subkey_exists(name) -> bool Is there already a key with the given name?
 
"bool" reg_exists ("char const *" name, "char const *" subkey=None)
 reg_exists(name, subkey=None) -> bool Is there already a value with the given name?
 
"qstrvec_t *" reg_read_strlist ("char const *" subkey)
 reg_read_strlist(subkey) Retrieve all string values associated with the given key.
 
"void" reg_write_strlist ("qstrvec_t const &" _in, "char const *" subkey)
 reg_write_strlist(_in, subkey) Write string values associated with the given key.
 
"void" reg_update_strlist ("char const *" subkey, "char const *" add, "size_t" maxrecs, "char const *" rem=None, "bool" ignorecase=False)
 reg_update_strlist(subkey, add, maxrecs, rem=None, ignorecase=False) Update list of strings associated with given key.
 
"void" reg_write_string ("char const *" name, "char const *" utf8, "char const *" subkey=None)
 reg_write_string(name, utf8, subkey=None) Write a string to the registry.
 
"int" reg_read_int ("char const *" name, "int" defval, "char const *" subkey=None)
 reg_read_int(name, defval, subkey=None) -> int Read integer value from the registry.
 
"void" reg_write_int ("char const *" name, "int" value, "char const *" subkey=None)
 reg_write_int(name, value, subkey=None) Write integer value to the registry.
 
"bool" reg_read_bool ("char const *" name, "bool" defval, "char const *" subkey=None)
 reg_read_bool(name, defval, subkey=None) -> bool Read boolean value from the registry.
 
"void" reg_write_bool ("char const *" name, "int" value, "char const *" subkey=None)
 reg_write_bool(name, value, subkey=None) Write boolean value to the registry.
 
"void" reg_update_filestrlist ("char const *" subkey, "char const *" add, "size_t" maxrecs, "char const *" rem=None)
 reg_update_filestrlist(subkey, add, maxrecs, rem=None) Update registry with a file list.
 
"bool" set_registry_name ("char const *" name)
 set_registry_name(name) -> bool
 

Variables

 IDA_REGISTRY_NAME = _ida_registry.IDA_REGISTRY_NAME
 
 HVUI_REGISTRY_NAME = _ida_registry.HVUI_REGISTRY_NAME
 
 ROOT_KEY_NAME = _ida_registry.ROOT_KEY_NAME
 
 reg_unknown = _ida_registry.reg_unknown
 
 reg_sz = _ida_registry.reg_sz
 
 reg_binary = _ida_registry.reg_binary
 
 reg_dword = _ida_registry.reg_dword
 

Function Documentation

◆ reg_data_type()

"regval_type_t" reg_data_type ( "char const *" name,
"char const *" subkey = None )
Parameters
name(C++: const char *) value name
subkey(C++: const char *) key name
Returns
: false if the [key+]value doesn't exist

◆ reg_delete()

"bool" reg_delete ( "char const *" name,
"char const *" subkey = None )
Parameters
name(C++: const char *) value name
subkey(C++: const char *) parent key
Returns
: success

◆ reg_delete_subkey()

"bool" reg_delete_subkey ( "char const *" name)
Parameters
name(C++: const char *) char const *

◆ reg_delete_tree()

"bool" reg_delete_tree ( "char const *" name)
Parameters
name(C++: const char *) char const *

◆ reg_exists()

"bool" reg_exists ( "char const *" name,
"char const *" subkey = None )
Parameters
name(C++: const char *) value name
subkey(C++: const char *) parent key

◆ reg_read_binary()

"PyObject *" reg_read_binary ( "char const *" name,
"char const *" subkey = None )
Parameters
name(C++: const char *) value name
subkey(C++: const char *) key name
Returns
: success

◆ reg_read_bool()

"bool" reg_read_bool ( "char const *" name,
"bool" defval,
"char const *" subkey = None )
Parameters
name(C++: const char *) value name
defval(C++: bool) default value
subkey(C++: const char *) key name
Returns
: boolean read from registry, or 'defval' if the read failed

◆ reg_read_int()

"int" reg_read_int ( "char const *" name,
"int" defval,
"char const *" subkey = None )
Parameters
name(C++: const char *) value name
defval(C++: int) default value
subkey(C++: const char *) key name
Returns
: the value read from the registry, or 'defval' if the read failed

◆ reg_read_string()

"PyObject *" reg_read_string ( "char const *" name,
"char const *" subkey = None,
"char const *" _def = None )
Parameters
name(C++: const char *) value name
subkey(C++: const char *) key name
defchar const *
Returns
: success

◆ reg_read_strlist()

"qstrvec_t *" reg_read_strlist ( "char const *" subkey)

Also see reg_update_strlist(), reg_write_strlist()

Parameters
subkey(C++: const char *) char const *

◆ reg_subkey_exists()

"bool" reg_subkey_exists ( "char const *" name)
Parameters
name(C++: const char *) char const *

◆ reg_subkey_subkeys()

"PyObject *" reg_subkey_subkeys ( "char const *" name)
Parameters
name(C++: const char *) char const *

◆ reg_subkey_values()

"PyObject *" reg_subkey_values ( "char const *" name)
Parameters
name(C++: const char *) char const *

◆ reg_update_filestrlist()

"void" reg_update_filestrlist ( "char const *" subkey,
"char const *" add,
"size_t" maxrecs,
"char const *" rem = None )

Case sensitivity will vary depending on the target OS.

Note
: 'add' and 'rem' must be UTF-8, just like for regular string operations.
Parameters
subkey(C++: const char *) char const *
add(C++: const char *) char const *
maxrecs(C++: size_t)
rem(C++: const char *) char const *

◆ reg_update_strlist()

"void" reg_update_strlist ( "char const *" subkey,
"char const *" add,
"size_t" maxrecs,
"char const *" rem = None,
"bool" ignorecase = False )
Parameters
subkey(C++: const char *) key name
add(C++: const char *) string to be added to list, can be nullptr
maxrecs(C++: size_t) limit list to this size
rem(C++: const char *) string to be removed from list, can be nullptr
ignorecase(C++: bool) ignore case for 'add' and 'rem'

◆ reg_write_binary()

"PyObject *" reg_write_binary ( "char const *" name,
"PyObject *" py_bytes,
"char const *" subkey = None )
Parameters
name(C++: const char *) value name
py_bytesPyObject *
subkey(C++: const char *) key name

◆ reg_write_bool()

"void" reg_write_bool ( "char const *" name,
"int" value,
"char const *" subkey = None )
Parameters
name(C++: const char *) value name
value(C++: int) boolean to write (nonzero = true)
subkey(C++: const char *) key name

◆ reg_write_int()

"void" reg_write_int ( "char const *" name,
"int" value,
"char const *" subkey = None )
Parameters
name(C++: const char *) value name
value(C++: int) value to write
subkey(C++: const char *) key name

◆ reg_write_string()

"void" reg_write_string ( "char const *" name,
"char const *" utf8,
"char const *" subkey = None )
Parameters
name(C++: const char *) value name
utf8(C++: const char *) utf8-encoded string
subkey(C++: const char *) key name

◆ reg_write_strlist()

"void" reg_write_strlist ( "qstrvec_t const &" _in,
"char const *" subkey )

Also see reg_read_strlist(), reg_update_strlist()

Parameters
in(C++: const qstrvec_t &) qstrvec_t const &
subkey(C++: const char *) char const *

◆ set_registry_name()

"bool" set_registry_name ( "char const *" name)
Parameters
namechar const *

Variable Documentation

◆ HVUI_REGISTRY_NAME

HVUI_REGISTRY_NAME = _ida_registry.HVUI_REGISTRY_NAME

◆ IDA_REGISTRY_NAME

IDA_REGISTRY_NAME = _ida_registry.IDA_REGISTRY_NAME

◆ reg_binary

reg_binary = _ida_registry.reg_binary

◆ reg_dword

reg_dword = _ida_registry.reg_dword

◆ reg_sz

reg_sz = _ida_registry.reg_sz

◆ reg_unknown

reg_unknown = _ida_registry.reg_unknown

◆ ROOT_KEY_NAME

ROOT_KEY_NAME = _ida_registry.ROOT_KEY_NAME