w32api - Справочник по Windows API
Найти:
На:





Функция RegEnumKey перечисляет подключи указанного открытого ключа реестра. Функция возвращает имя одного подключа при каждом вызове. Эта функция оставлена для совместимости с Windows версии 3.1. Приложения для Win32 должны использовать функцию RegEnumKeyEx.

LONG RegEnumKey(
    HKEY hKey,	// дескриптор запрашиваемого ключа 
    DWORD dwIndex,	// индекс запрашиваемого подключа 
    LPTSTR lpName,	// адрес буфера для имени подключа  
    DWORD cbName 	// размер буфера для подключа
);
Параметры:

hKey Идентифицирует уже открытый ключ или один из предопределенных дескрипторов:

HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
HKEY_CURRENT_CONFIG

Возвращаемые ключи относительны ключу, указанному в hKey.
dwIndex Указывает индекс затребованного подключа. Его значение должно быть нулевым для первого вызова функции RegEnumKey и инкрементироваться для последующих вызовов.

Поскольку подключи не упорядочены, любой новый подключ будет иметь произвольный индекс. Это означает, что функция может возвращать подключи в любом порядке.
lpName Адрес буфера, в который возвращается имя подключа, включая нулевой заканчивающий символ. Эта функция копирует в буфер только имя подключа, а не полную иерархию ключа.
cbName Указывает размер, в символах, буфера на который адресуется параметр lpName. Для определения требуемого размера буфера, используйте функцию RegQueryInfoKey, чтобы определить наибольший размер имени подключа, указанного в параметре hKey. Максимальный требуемый размер буфера это (MAX_PATH + 1) символов.

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

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

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

Замечания:

Для перечисления подключей, приложение должно при первом вызове функции RegEnumKey установить параметр dwIndex в нулевое значение. Затем, приложение должно инкрементировать параметр dwIndex и вызывать функцию RegEnumKey до тех пор, пока не будет более подключей (пока функция не вернет ERROR_NO_MORE_ITEMS).

Приложение может, также, установить индекс на последний ключ при первом вызове функции и затем декрементировать индекс до подключа с индексом 0. Для получения индекса последнего подключа, используйте RegQueryInfoKey.

Пока приложение использует функцию RegEnumKey, оно не должно вызывать любые другие функции реестра, которые могут изменить запрашиваемый ключ.

Ключ, указанный в параметре hKey, должен быть открытым с доступом KEY_ENUMERATE_SUB_KEYS (доступ KEY_READ включает в себя и доступ KEY_ENUMERATE_SUB_KEYS). Для открытия ключа используйте функцию RegCreateKeyEx или RegOpenKeyEx.

Смотрите также:

RegCloseKey, RegCreateKeyEx, RegDeleteKey, RegEnumKeyEx, RegOpenKeyEx, RegQueryInfoKey, RegQueryValue



Hosted by uCoz