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


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

Извлекает сведения о указанном разделе реестра.

Синтаксис

LSTATUS RegQueryInfoKeyW(
  [in]                HKEY      hKey,
  [out, optional]     LPWSTR    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 символа.

Если lpClassNULL, lpcClass можно NULL.

Если параметр lpClass является допустимым адресом, но параметр lpcClass не является, например, NULL, функция возвращает ERROR_INVALID_PARAMETER.

lpReserved

Этот параметр зарезервирован и должен быть null.

[out, optional] lpcSubKeys

Указатель на переменную, которая получает количество вложенных ключей, содержащихся указанным ключом. Этот параметр может быть NULL.

[out, optional] lpcbMaxSubKeyLen

Указатель на переменную, которая получает размер подраздела ключа с самым длинным именем в символах Юникода, не включая завершающийся символ null. Этот параметр может быть NULL.

[out, optional] lpcbMaxClassLen

Указатель на переменную, которая получает размер самой длинной строки, указывающей класс подключа в символах Юникода. Возвращаемое число не включает завершающий символ null. Этот параметр может быть NULL.

[out, optional] lpcValues

Указатель на переменную, которая получает количество значений, связанных с ключом. Этот параметр может быть NULL.

[out, optional] lpcbMaxValueNameLen

Указатель на переменную, которая получает размер самого длинного имени значения ключа в символах Юникода. Размер не включает завершающий символ null. Этот параметр может быть NULL.

[out, optional] lpcbMaxValueLen

Указатель на переменную, которая получает размер самого длинного компонента данных среди значений ключа в байтах. Этот параметр может быть NULL.

[out, optional] lpcbSecurityDescriptor

Указатель на переменную, которая получает размер дескриптора безопасности ключа в байтах. Этот параметр может быть NULL.

[out, optional] lpftLastWriteTime

Указатель на структуру FILETIME, которая получает время последней записи. Этот параметр может быть NULL.

Функция задает члены структуры FILETIME, чтобы указать время последнего изменения ключа или любого из его записей значений.

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

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

Если функция завершается ошибкой, возвращаемое значение является системным кодом ошибки.

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

Замечания

Заметка

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

Требования

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

См. также

FILETIME

RegDeleteKey

RegEnumKeyEx

RegEnumValue

RegQueryValueEx

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

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