LONG RegQueryValueEx( HKEY hKey, // дескриптор ключа LPTSTR lpValueName, // адерс имени значения LPDWORD lpReserved, // зарезервировано LPDWORD lpType, // адрес переменной для типа значения LPBYTE lpData, // адрес буфера для данных LPDWORD lpcbData // адрес переменной для размер буфера данных );
Параметры:
hKey | Идентифицирует открытый в текущий момент ключ или один из следующих предопределенных значений дескрипторов: HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_USERS HKEY_CURRENT_CONFIG | ||||||||||||||||||||||
lpValueName | Адрес нульзаканчивающейся строки, содержащей имя требуемого значения. | ||||||||||||||||||||||
lpReserved | Зарезервировано; должно быть NULL | ||||||||||||||||||||||
lpType | Адрес переменной, в которую возвращается тип значения ключа. Возвращенное в этом параметре значение может принимать одно из следующих значений:
Параметр lpType может быть NULL, если тип не требуется. | ||||||||||||||||||||||
lpData | Адрес буфера, в который помещается данные значения. Это параметр может быть NULL, если данные не требуются. | ||||||||||||||||||||||
lpcbData | Адрес переменной, указывающей размер в байтах буфера, на который ссылается параметр lpData. Когда функция возвращается, эта переменная содержит размер данных, скопированных в lpData. Если буфер, указанный в параметре lpData, слишком мал для данных, то функция возвращает ERROR_MORE_DATA, и помещает нужный размер в переменную, на которую ссылается lpcbData. Если lpData равен NULL, и lpcbData не равен NULL, функция возвращает ERROR_SUCCESS, и помещает размер данных, в байтах, в переменную, на которую указывает lpcbData. Это позволяет приложению выбрать лучший способ выделения памяти для данных значения ключа. Если данные имеют тип REG_SZ, REG_MULTI_SZ или REG_EXPAND_SZ, тогда lpData содржит размер с учетом нулевого завершающего символа. Параметр lpcbData может быть NULL, если только lpData равен NULL. |
Возвращаемые значения:
Если функция успешно, возвращается значение ERROR_SUCCESS.При ошибке, возвращаемое значение – это код ошибки, объявленный в WINERROR.H. Вы можете использовать функцию FormatMessage с флагом FORMAT_MESSAGE_FROM_SYSTEM для получения общего описания ошибки.
Замечания:
Ключ, указанный в hKey, должен быть открытым с правом доступа KEY_QUERY_VALUE. Для открытия ключа, используйте функцию RegCreateKeyEx или RegOpenKeyEx.Эта функция не преобразует имена переменных окружения в данных значения, когда тип значений REG_EXPAND_SZ. Для этого может использоваться функция ExpandEnvironmentStrings.
Если данные значения имеют тип REG_SZ, REG_MULTI_SZ или REG_EXPAND_SZ, и используется ANSI версия этой функции (если произведен точный вызов RegQueryValue или не был объявлен Unicode перед добавлением заголовочного файла WINDOWS.H), эта функция преобразует записанную строку Unicode в строку ANSI перед копированием в буфер, указанный в параметре lpData.
Если функция RegQueryValueEx вызывается с hKey, установленным в дескриптор HKEY_PERFORMANCE_DATA, и со строкой значения указанного объекта, то возвращаемая структура данных иногода имеет незапрошенные значения. Не удивляйтесь, - это нормально.