IDA SDK
|
Registry related functions.
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 | |
idaman THREAD_SAFE bool ida_export | reg_delete_subkey (const char *name) |
Delete a key from the registry. | |
idaman THREAD_SAFE bool ida_export | reg_delete_tree (const char *name) |
Delete a subtree from the registry. | |
idaman THREAD_SAFE bool ida_export | reg_delete (const char *name, const char *subkey=nullptr) |
Delete a value from the registry. More... | |
idaman THREAD_SAFE bool ida_export | reg_subkey_exists (const char *name) |
Is there already a key with the given name? | |
idaman THREAD_SAFE bool ida_export | reg_exists (const char *name, const char *subkey=nullptr) |
Is there already a value with the given name? More... | |
idaman THREAD_SAFE bool ida_export | reg_subkey_children (qstrvec_t *out, const char *name, bool subkeys) |
Retrieve the child names of the given key. More... | |
idaman THREAD_SAFE bool ida_export | reg_data_type (regval_type_t *out, const char *name, const char *subkey=nullptr) |
Get data type of a given value. More... | |
idaman THREAD_SAFE void ida_export | reg_read_strlist (qstrvec_t *list, const char *subkey) |
Retrieve all string values associated with the given key. More... | |
idaman THREAD_SAFE void ida_export | reg_write_strlist (const qstrvec_t &in, const char *subkey) |
Write string values associated with the given key. More... | |
idaman THREAD_SAFE void ida_export | reg_update_strlist (const char *subkey, const char *add, size_t maxrecs, const char *rem=nullptr, bool ignorecase=false) |
Update list of strings associated with given key. More... | |
THREAD_SAFE void | reg_write_binary (const char *name, const void *data, size_t datalen, const char *subkey=nullptr) |
Write binary data to the registry. More... | |
THREAD_SAFE void | reg_write_binary (const char *name, const bytevec_t &data, const char *subkey=nullptr) |
Write binary data to the registry. More... | |
THREAD_SAFE bool | reg_read_binary (const char *name, void *data, size_t datalen, const char *subkey=nullptr) |
Read binary data from the registry. More... | |
THREAD_SAFE bool | reg_read_binary_part (const char *name, void *data, size_t datalen, const char *subkey=nullptr) |
Read a chunk of binary data from the registry. More... | |
THREAD_SAFE bool | reg_read_binary (const char *name, bytevec_t *data, const char *subkey=nullptr) |
Read binary data from the registry. More... | |
THREAD_SAFE void | reg_write_string (const char *name, const char *utf8, const char *subkey=nullptr) |
Write a string to the registry. More... | |
THREAD_SAFE bool | reg_read_string (qstring *utf8, const char *name, const char *subkey=nullptr) |
Read a string from the registry. More... | |
THREAD_SAFE int | reg_read_int (const char *name, int defval, const char *subkey=nullptr) |
Read integer value from the registry. More... | |
THREAD_SAFE void | reg_write_int (const char *name, int value, const char *subkey=nullptr) |
Write integer value to the registry. More... | |
THREAD_SAFE bool | reg_read_bool (const char *name, bool defval, const char *subkey=nullptr) |
Read boolean value from the registry. More... | |
THREAD_SAFE void | reg_write_bool (const char *name, int value, const char *subkey=nullptr) |
Write boolean value to the registry. More... | |
THREAD_SAFE bool | reg_subkey_subkeys (qstrvec_t *out, const char *name) |
Get all subkey names of given key. | |
THREAD_SAFE bool | reg_subkey_values (qstrvec_t *out, const char *name) |
Get all value names under given key. | |
THREAD_SAFE void | reg_update_filestrlist (const char *subkey, const char *add, size_t maxrecs, const char *rem=nullptr) |
Update registry with a file list. More... | |
Macros | |
#define | IDA_REGISTRY_NAME "IDA" |
#define | HVUI_REGISTRY_NAME "hvui" |
#define | ROOT_KEY_NAME "Software\\Hex-Rays\\IDA" |
Default key used to store IDA settings in registry (Windows version). More... | |
Enumerations | |
enum | regval_type_t { reg_unknown = 0 , reg_sz = 1 , reg_binary = 3 , reg_dword = 4 } |
Types of values stored in the registry. More... | |
#define ROOT_KEY_NAME "Software\\Hex-Rays\\IDA" |
Default key used to store IDA settings in registry (Windows version).
enum regval_type_t |
idaman THREAD_SAFE bool ida_export reg_delete | ( | const char * | name, |
const char * | subkey = nullptr |
||
) |
Delete a value from the registry.
name | value name |
subkey | parent key |
idaman THREAD_SAFE bool ida_export reg_exists | ( | const char * | name, |
const char * | subkey = nullptr |
||
) |
Is there already a value with the given name?
name | value name |
subkey | parent key |
idaman THREAD_SAFE bool ida_export reg_subkey_children | ( | qstrvec_t * | out, |
const char * | name, | ||
bool | subkeys | ||
) |
Retrieve the child names of the given key.
out | result |
name | key name |
subkeys | if true, collect subkey names. if false, collect value names. |
idaman THREAD_SAFE bool ida_export reg_data_type | ( | regval_type_t * | out, |
const char * | name, | ||
const char * | subkey = nullptr |
||
) |
Get data type of a given value.
out | result |
name | value name |
subkey | key name |
idaman THREAD_SAFE void ida_export reg_read_strlist | ( | qstrvec_t * | list, |
const char * | subkey | ||
) |
Retrieve all string values associated with the given key.
Also see reg_update_strlist(), reg_write_strlist()
idaman THREAD_SAFE void ida_export reg_write_strlist | ( | const qstrvec_t & | in, |
const char * | subkey | ||
) |
Write string values associated with the given key.
Also see reg_read_strlist(), reg_update_strlist()
idaman THREAD_SAFE void ida_export reg_update_strlist | ( | const char * | subkey, |
const char * | add, | ||
size_t | maxrecs, | ||
const char * | rem = nullptr , |
||
bool | ignorecase = false |
||
) |
Update list of strings associated with given key.
subkey | key name |
add | string to be added to list, can be nullptr |
maxrecs | limit list to this size |
rem | string to be removed from list, can be nullptr |
ignorecase | ignore case for 'add' and 'rem' |
|
inline |
Write binary data to the registry.
name | value name |
data | input, must not be nullptr |
datalen | length of input in bytes |
subkey | key name |
|
inline |
Write binary data to the registry.
name | value name |
data | input data (as byte vector) |
subkey | key name |
|
inline |
Read binary data from the registry.
name | value name | |
[out] | data | result, must not be nullptr |
datalen | length of out buffer in bytes | |
subkey | key name |
|
inline |
Read a chunk of binary data from the registry.
This function succeeds even in the case of a partial read.
name | value name | |
[out] | data | result, must not be nullptr |
datalen | length of output buffer in bytes | |
subkey | key name |
|
inline |
Read binary data from the registry.
name | value name | |
[out] | data | output buffer, must not be nullptr |
subkey | key name |
|
inline |
Write a string to the registry.
name | value name |
utf8 | utf8-encoded string |
subkey | key name |
|
inline |
Read a string from the registry.
[out] | utf8 | output buffer |
name | value name | |
subkey | key name |
|
inline |
Read integer value from the registry.
name | value name |
defval | default value |
subkey | key name |
|
inline |
Write integer value to the registry.
name | value name |
value | value to write |
subkey | key name |
|
inline |
Read boolean value from the registry.
name | value name |
defval | default value |
subkey | key name |
|
inline |
Write boolean value to the registry.
name | value name |
value | boolean to write (nonzero = true) |
subkey | key name |
|
inline |
Update registry with a file list.
Case sensitivity will vary depending on the target OS.