Функция RegQueryInfoKey получает информацию об указанном ключе реестра.
LONGRegQueryInfoKey ( HKEY hKey, // дескриптор ключа LPTSTRlpClass , // адрес буфера для имени класса LPDWORDlpcbClass , // адрес размера буфер для имени класса LPDWORDlpReserved , // зарезервировано LPDWORDlpcSubKeys , // адрес буфера для количества подключей LPDWORDlpcbMaxSubKeyLen , // адрес буфера для наибольшего размера имени подключа LPDWORDlpcbMaxClassLen , // адрес буфера для наибольшего размера имени класса LPDWORDlpcValues , // адрес буфера для количества вхождений значений LPDWORDlpcbMaxValueNameLen , // адрес буфера для наибольшего размера имени значения LPDWORDlpcbMaxValueLen , // адрес буфера для наибольшего размера данных значения LPDWORDlpcbSecurityDescriptor , // адрес буфера для длины дескриптора безопасности PFILETIMElpftLastWriteTime // адрес буфера для получения времени последней записи );
Параметры:
Идентифицирует открытый в текущий момент ключ или один из следующих предопределенных значений дескрипторов: HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_USERS HKEY_CURRENT_CONFIG | |
Адрес буфера, в который возвращается имя класса ключа. Этот параметр может быть NULL. | |
Адрес переменной, в которой указан размер, в символах, буфера, на который указывает параметр lpClass. Должен учитываться и завершающий нулевой символ. При возвращении функции, эта переменная содержит длину строки с именем класса, записанной в буфер. Возвращенный размер не учитывает последний нулевой символ. Если буфер имеет недостаточный размер, функция возвращает ERROR_MORE_DATA, и переменная содержит нужный размер буфера, без учета нулевого символа. Если lpClass равен NULL, то и lpcbClass может быть NULL. Windows NT/2000/XP: Если параметр lpClass указывает на правельный адрес, а параметр lpcbClass – нет (например, равен NULL), то функция возвращает ERROR_INVALID_PARAMETER. | |
Зарезервировано; должно быть нулевым. | |
Адрес переменной, в которую возвращается количество подключей, содержащихся в указанном ключе. Этот параметр может быть NULL. | |
Адрес переменной, в которую возвращается длина, в символах, наибольшего имени подключа. Этот параметр может быть NULL. | |
Адрес переменной, в которую возвращается длина, в символах, наибольшего имени класса ключа. Этот параметр может быть NULL. | |
Адрес переменной, в которую возвращается количество значений, ассоциирующихся с ключом. Этот параметр может быть NULL. | |
Адрес переменной, в которую возвращается длина, в символах, наибольшего имени значения. Этот параметр может быть NULL. | |
Адрес переменной, в которую возвращается длина, в байтах, наибольшего компонента среди значениий ключа. Этот параметр может быть NULL. | |
Адрес переменной, в которую возвращается длина, в байтах, дескриптора безопасности ключа. Этот параметр может быть NULL. | |
Адрес структуры FILETIME. Этот параметр может быть NULL. |
Возвращаемые значения:
Если функция успешна, возвращается значение ERROR_SUCCESS.
При ошибке, возвращаемое значение – это код ошибки, объявленный в WINERROR.H. Вы можете использовать функцию FormatMessage с флагом FORMAT_MESSAGE_FROM_SYSTEM для получения общего описания ошибки.
При ошибке, возвращаемое значение – это код ошибки, объявленный в WINERROR.H. Вы можете использовать функцию FormatMessage с флагом FORMAT_MESSAGE_FROM_SYSTEM для получения общего описания ошибки.
Замечания:
Ключ, указанный в параметре hKey, должен быть открыть с доступом KEY_QUERY_VALUE (доступ KEY_READ содержит и доступ KEY_QUERY_VALUE).