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





Функция RegQueryInfoKey получает информацию об указанном ключе реестра.

LONG RegQueryInfoKey(
    HKEY hKey,	// дескриптор ключа
    LPTSTR lpClass,	// адрес буфера для имени класса
    LPDWORD lpcbClass,	// адрес размера буфер для имени класса
    LPDWORD lpReserved,	// зарезервировано
    LPDWORD lpcSubKeys,	// адрес буфера для количества подключей
    LPDWORD lpcbMaxSubKeyLen, // адрес буфера для наибольшего размера имени подключа
    LPDWORD lpcbMaxClassLen,	// адрес буфера для наибольшего размера имени класса
    LPDWORD lpcValues,	// адрес буфера для количества вхождений значений
    LPDWORD lpcbMaxValueNameLen, // адрес буфера для наибольшего размера имени значения
    LPDWORD lpcbMaxValueLen,	//  адрес буфера для наибольшего размера данных значения
    LPDWORD lpcbSecurityDescriptor, // адрес буфера для длины дескриптора безопасности 
    PFILETIME lpftLastWriteTime // адрес буфера для получения времени последней записи
   );
Параметры:

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

HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
HKEY_CURRENT_CONFIG
lpClass Адрес буфера, в который возвращается имя класса ключа. Этот параметр может быть NULL.
lpcbClass Адрес переменной, в которой указан размер, в символах, буфера, на который указывает параметр lpClass. Должен учитываться и завершающий нулевой символ. При возвращении функции, эта переменная содержит длину строки с именем класса, записанной в буфер. Возвращенный размер не учитывает последний нулевой символ. Если буфер имеет недостаточный размер, функция возвращает ERROR_MORE_DATA, и переменная содержит нужный размер буфера, без учета нулевого символа.

Если lpClass равен NULL, то и lpcbClass может быть NULL.

Windows NT/2000/XP: Если параметр lpClass указывает на правельный адрес, а параметр lpcbClass – нет (например, равен NULL), то функция возвращает ERROR_INVALID_PARAMETER.
lpReserved Зарезервировано; должно быть нулевым.
lpcSubKeys Адрес переменной, в которую возвращается количество подключей, содержащихся в указанном ключе. Этот параметр может быть NULL.
pcbMaxSubKeyLen Адрес переменной, в которую возвращается длина, в символах, наибольшего имени подключа. Этот параметр может быть NULL.
lpcbMaxClassLen Адрес переменной, в которую возвращается длина, в символах, наибольшего имени класса ключа. Этот параметр может быть NULL.
lpcValues Адрес переменной, в которую возвращается количество значений, ассоциирующихся с ключом. Этот параметр может быть NULL.
lpcbMaxValueNameLen Адрес переменной, в которую возвращается длина, в символах, наибольшего имени значения. Этот параметр может быть NULL.
lpcbMaxValueLen Адрес переменной, в которую возвращается длина, в байтах, наибольшего компонента среди значениий ключа. Этот параметр может быть NULL.
lpcbSecurityDescriptor Адрес переменной, в которую возвращается длина, в байтах, дескриптора безопасности ключа. Этот параметр может быть NULL.
lpftLastWriteTime Адрес структуры FILETIME. Этот параметр может быть NULL.

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

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

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

Замечания:

Ключ, указанный в параметре hKey, должен быть открыть с доступом KEY_QUERY_VALUE (доступ KEY_READ содержит и доступ KEY_QUERY_VALUE).

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

FILETIME, RegDeleteKey, RegEnumKey, RegEnumKeyEx, RegEnumValue, RegQueryValue, RegQueryValueEx



Hosted by uCoz