Функция RegOpenKeyEx открывает указанный ключ.
LONG RegOpenKeyEx(
HKEY hKey, // дескриптор указанного ключа
LPCTSTR lpSubKey, // адрес имени открываемого подключа
DWORD ulOptions, // зарезервировано
REGSAM samDesired, // маска доступа безопасности
PHKEY phkResult // адрес дескриптора открытого ключа
);
Параметры:
hKey |
Идентифицирует открытый в текущий момент ключ или один из следующих предопределенных значений дескрипторов:
HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_USERS HKEY_CURRENT_CONFIG |
lpSubKey |
Адрес нульзаканчивающейся строки, содержащей имя ключа на открытие. Если этот параметр равен NULL или адрес указывает на пустую строку, функция возвращает тот-же дескриптор, который ей был дан в параметре hKey. В этом случае, функция не закрывает прежде закрыет дескриптор. |
ulOptions |
Зарезервировано; должно быть нулевым. |
samDesired |
Определяет маску доступа, которая определяет желаемый доступ безопасности для нового ключа. Этот параметр может быть комбинацией из следующих значений:
Значение: |
Описание: |
KEY_ALL_ACCESS |
Комбинация из KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, KEY_NOTIFY, KEY_CREATE_SUB_KEY, KEY_CREATE_LINK, и KEY_SET_VALUE. |
KEY_CREATE_LINK |
Права создавать символические ссылки. |
KEY_CREATE_SUB_KEY |
Права создавать подключи. |
KEY_ENUMERATE_SUB_KEYS |
Права перечислять подключи. |
KEY_EXECUTE |
Права на доступ ко чтению. |
KEY_NOTIFY |
Права на изменение нотификации. |
KEY_QUERY_VALUE |
Права запрашивать данные подключей. |
KEY_READ |
Комбинация из KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, и KEY_NOTIFY. |
KEY_SET_VALUE |
Права устанавливать данные подключей. |
KEY_WRITE |
Комбинация из KEY_SET_VALUE и KEY_CREATE_SUB_KEY. |
|
phkResult |
Адрес переменной, в которую возвращается дескриптор открытого ключа. |
Возвращаемые значения:
Если функция успешна, возвращается значение ERROR_SUCCESS.
При ошибке, возвращаемое значение – это код ошибки, объявленный в WINERROR.H. Вы можете использовать функцию FormatMessage с флагом FORMAT_MESSAGE_FROM_SYSTEM для получения общего описания ошибки.
Замечания:
В отличии от RegCreateKeyEx, функция RegOpenKeyEx не создает указанный ключ, если ключ не существует в реестре.
Смотрите также:
RegCloseKey, RegCreateKeyEx, RegDeleteKey, RegOpenKey
|