Функция RegQueryInfoKeyA (winreg.h)
Извлекает сведения о указанном разделе реестра.
Синтаксис
LSTATUS RegQueryInfoKeyA(
[in] HKEY hKey,
[out, optional] LPSTR lpClass,
[in, out, optional] LPDWORD lpcchClass,
LPDWORD lpReserved,
[out, optional] LPDWORD lpcSubKeys,
[out, optional] LPDWORD lpcbMaxSubKeyLen,
[out, optional] LPDWORD lpcbMaxClassLen,
[out, optional] LPDWORD lpcValues,
[out, optional] LPDWORD lpcbMaxValueNameLen,
[out, optional] LPDWORD lpcbMaxValueLen,
[out, optional] LPDWORD lpcbSecurityDescriptor,
[out, optional] PFILETIME lpftLastWriteTime
);
Параметры
[in] hKey
Дескриптор открытого раздела реестра. Ключ должен быть открыт с правом доступа KEY_QUERY_VALUE. Дополнительные сведения см. в разделе Безопасность раздела реестра и права доступа.
Этот дескриптор возвращается функцией RegCreateKeyEx, RegCreateKeyTransacted, RegOpenKeyEx или RegOpenKeyTransacted . Это также может быть один из следующих предопределенных ключей:
HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_PERFORMANCE_DATA HKEY_USERS
[out, optional] lpClass
Указатель на буфер, получающий определяемый пользователем класс ключа. Этот параметр может принимать значение NULL.
[in, out, optional] lpcchClass
Указатель на переменную, указывающую размер буфера, на который указывает параметр lpClass , в символах.
Размер должен включать завершающий символ NULL . При возврате функции эта переменная содержит размер строки класса, хранящейся в буфере. Возвращаемое число не включает завершающий символ NULL . Если буфер недостаточно велик, функция возвращает ERROR_MORE_DATA, а переменная содержит размер строки в символах без подсчета завершающего символа NULL .
Если lpClass имеет значение NULL, lpcClass может иметь значение NULL.
Если параметр lpClass является допустимым адресом, а параметр lpcClass не имеет, например, значение NULL, функция возвращает ERROR_INVALID_PARAMETER.
lpReserved
Этот параметр зарезервирован и должен иметь значение NULL.
[out, optional] lpcSubKeys
Указатель на переменную, получающую количество подразделов, содержащихся в указанном ключе. Этот параметр может принимать значение NULL.
[out, optional] lpcbMaxSubKeyLen
Указатель на переменную, которая получает размер подраздела ключа с самым длинным именем в символах ANSI, не включая завершающий символ NULL . Этот параметр может принимать значение NULL.
[out, optional] lpcbMaxClassLen
Указатель на переменную, которая получает размер самой длинной строки, указывающей класс подраздела, в символах ANSI. Возвращаемое число не включает завершающий символ NULL . Этот параметр может принимать значение NULL.
[out, optional] lpcValues
Указатель на переменную, получающую количество значений, связанных с ключом. Этот параметр может принимать значение NULL.
[out, optional] lpcbMaxValueNameLen
Указатель на переменную, которая получает размер самого длинного имени значения ключа в символах ANSI. Размер не включает завершающий символ NULL . Этот параметр может принимать значение NULL.
[out, optional] lpcbMaxValueLen
Указатель на переменную, которая получает размер самого длинного компонента данных из значений ключа в байтах. Этот параметр может принимать значение NULL.
[out, optional] lpcbSecurityDescriptor
Указатель на переменную, которая получает размер дескриптора безопасности ключа в байтах. Этот параметр может принимать значение NULL.
[out, optional] lpftLastWriteTime
Указатель на структуру FILETIME , получающую время последней записи. Этот параметр может принимать значение NULL.
Функция задает члены структуры FILETIME , чтобы указать время последнего изменения ключа или любой из его записей значений.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение будет ERROR_SUCCESS.
Если функция завершается сбоем, возвращаемое значение представляет собой системный код ошибки.
Если буфер lpClass слишком мал для получения имени класса, функция возвращает ERROR_MORE_DATA.
Комментарии
Примечание
В устаревших версиях Windows этот API также предоставляется kernel32.dll.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | winreg.h (включая Windows.h) |
Библиотека | Advapi32.lib |
DLL | Advapi32.dll |