Поделиться через


Функция RegOpenKeyA (winreg.h)

Открывает указанный раздел реестра.

Примечание Эта функция предоставляется только для совместимости с 16-разрядными версиями Windows. Приложения должны использовать функцию regOpenKeyEx .
 

Синтаксис

LSTATUS RegOpenKeyA(
  [in]           HKEY   hKey,
  [in, optional] LPCSTR lpSubKey,
  [out]          PHKEY  phkResult
);

Параметры

[in] hKey

Дескриптор открытого раздела реестра. Этот дескриптор возвращается функцией regCreateKeyExили RegOpenKeyEx или одним из следующих предварительно определенных ключей:

  • HKEY_CLASSES_ROOT
  • HKEY_CURRENT_CONFIG
  • HKEY_CURRENT_USER
  • HKEY_LOCAL_MACHINE
  • HKEY_USERS

[in, optional] lpSubKey

Имя открытого раздела реестра. Этот ключ должен быть подразделом ключа, определяемого параметром hKey.

Имена ключей не учитывает регистр.

Если этот параметр null или указатель на пустую строку, функция возвращает тот же дескриптор, который был передан.

Дополнительные сведения см. в разделе Ограничения размера элемента реестра.

[out] phkResult

Указатель на переменную, которая получает дескриптор открытого ключа. Если ключ не является одним из предопределенных разделов реестра, вызовите функцию RegCloseKey RegCloseKey после завершения работы с дескриптором.

Возвращаемое значение

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

Если функция завершается ошибкой, возвращаемое значение представляет собой ненулевой код ошибки, определенный в Winerror.h. Функцию FormatMessage можно использовать с флагом FORMAT_MESSAGE_FROM_SYSTEM для получения универсального описания ошибки.

Замечания

Функция RegOpenKey использует маску доступа по умолчанию для открытия ключа. Если для открытия ключа требуется другое право доступа, функция завершается ошибкой, возвращая ERROR_ACCESS_DENIED. Приложение должно использовать функцию regOpenKeyEx для указания маски доступа в этой ситуации.

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

Если служба или приложение олицетворяет разных пользователей, не используйте эту функцию с HKEY_CURRENT_USER. Вместо этого вызовите функцию regOpenCurrentUser .

Заметка

Заголовок winreg.h определяет RegOpenKey как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка winreg.h (включая Windows.h)
библиотеки Advapi32.lib
DLL Advapi32.dll

См. также

RegCloseKey

RegDeleteKey

RegOpenKeyEx

Функции реестра

Обзор реестра