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


Функция 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

См. также раздел

FILETIME

RegDeleteKey

RegEnumKeyEx

RegEnumValue

RegQueryValueEx

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

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