getRegRoot
Syntax
- int getRegRoot(int * hkey)
Arguments
- hkey
- Pointer to an integer value which will hold the root identification.
Return
- Returns ERROR_SUCCESS if the operation was successful, otherwise it returns one of the following integer error codes:
ERROR_SUCCESS | (==0) no error |
ERROR_FILE_NOT_FOUND | key or value name not found |
ERROR_MORE_DATA | buffer wasn't big enough (e.g., getRegString, getRegData) |
ERROR_NO_MORE_ITEMS | index >= # of values or subkeys (enumRegValue, enumRegSubKey) |
ERROR_INVALID_FUNCTION | bad top-level key, etc |
ERROR_INVALID_DATA | wrong data type or size (or size > 2048) |
ERROR_BADDB | registry database is corrupt |
ERROR_BADKEY | registry key is invalid |
ERROR_CANTOPEN | registry key could not be opened |
ERROR_CANTREAD | registry key could not be read |
ERROR_CANTWRITE | registry key could not be written |
ERROR_REGISTRY_CORRUPT | registry is corrupt |
ERROR_REGISTRY_IO_FAILED | input/output to registry failed |
ERROR_KEY_DELETED | Illegal operation attempted on a Registry key which has been marked for deletion. |
ERROR_KEY_HAS_CHILDREN | cannot delete a key with subkeys (Windows NT) |
Description
- Gets the current registry root.
- Currently, only two types of registry roots are possible, identified by the constants (HKEY_LOCAL_MACHINE)? and (HKEY_CURRENT_USER)?.
Example
// Check to see if we're working with HKEY_LOCAL_MACHINE
int * root;
getRegRoot(&root);
Info("Working with local machine: %s", (root == HKEY_LOCAL_MACHINE? "true" : "false"));
Also see
- setRegRoot, getRegPath
Comments
- Everyone can add his comments about his experiences with this function here. Tips for using it are welcome, too.