15 сент. 2010 г.

RegOpenKey


Функция RegOpenKey открывает указанный ключ. Эта функция оставленя для совместимости с Windows версии 3.1. Приложения для Win32 должны использовать функцию RegOpenKeyEx.
LONG RegOpenKey(
    HKEY hKey, // дескриптор открытого ключа
    LPCTSTR lpSubKey, // адрес имени открываемого подключа
    PHKEY phkResult  // адрес дескриптора открытого ключа
   );
Параметры:
hKeyИдентифицирует открытый в текущий момент ключ или один из следующих предопределенных значений дескрипторов:

HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
HKEY_CURRENT_CONFIG

Ключ, открытый функцией RegOpenKey, является подключем ключа, указанного в hKey.
lpSubKeyАдрес нульзаканчивающейся строки, содержащей имя ключа на открытие. Этот ключ должен быть подключем ключа, указанного в параметре hKey. Если этот параметр равен NULL или адрес указывает на пустую строку, функция возвращает тот-же дескриптор, который ей был дан в параметре hKey.
phkResultАдрес переменной, в которую возвращается дескриптор открытого ключа.

Возвращаемые значения:
Если функция успешна, возвращается значение ERROR_SUCCESS.

При ошибке, возвращаемое значение – это код ошибки, объявленный в WINERROR.H. Вы можете использовать функцию FormatMessage с флагом FORMAT_MESSAGE_FROM_SYSTEM для получения общего описания ошибки.
Замечания:
Функция RegOpenKey использует маску из доступа безопасности по умолчанию для открытия ключа. Если открываемый ключ требует другую маску, функция завершается ошибкой и возвращает ERROR_ACCESS_DENIED. Приложение может использовать функцию RegOpenKeyEx для указания маски доступа в такой ситуации.

В отличии от RegCreateKey, функция RegOpenKey не создает указанный ключ если такой ключ не существует в базе данных.