Реферат: Функции управления реестром Windows
Введение
В табл.1 сведены все функции системного реестра, а описание основных следует непосредственно после таблицы.
Таблица 1 Сводка функций системного реестра
Функция | Назначение |
RegCloseKey | Закрывает открытый ключ системного реестра |
RegConnectRegistry | Выполняет соединение с предопределенным дескриптором системного реестра на другом компьютере |
RegCreateKeyEx | Создает новый подключ |
RegDeleteKey | Удаляет ключ из системного реестра |
RegDeleteValue | Удаляет значение из системного реестра |
RegDisablePredefinedCashe | Отключает таблицу предопределенных дескрипторов системного реестра в ключе HKCU для текущего процесса |
RegEnumKeyEx | Перечисляет все подключи данного ключа |
RegEnumValue | Перечисляет все значения данного ключа |
RegFlushKey | Сразу же записывает все изменения, произведенные в системном реестре |
RegLoadKey | Загружает раздел в корневой ключ, находящийся на вершине иерархии |
RegNotifyChangeKeyValue | Указывает на момент изменения ключа или значения в системном реестре |
RegOpenCurrentUser | Открывает ключ HKCU для пользователя текущей потока |
RegOpenKeyEx | Открывает существующий ключ системного реестра с расширением Win32 |
RegOverridePredefKey | Переопределяет переопределенный ключ системного реестра в соответствии с указанным ключом системного реестра |
RegQueryInfoKey | Возвращает информацию о ключе |
RegQueryMultipleValues | Выбирает тип и данные для списка имен значений |
RegQueryValueEx | Возвращает значение (с расширенными типами данных Win32) |
RegReplaceKey | Заменяет ключ содержимым файла при перезапуске системы |
RegRestoreKey | Считывает содержимое раздела ранее сохраненный ключ |
RegSaveKey | Сохраняет значения и подключи данного ключа в файле улья |
RegSetValueEx | Присваивает ключу значение (с новыми типами данных) |
RegUnLoadKey | Удаляет раздел из системного реестра |
1. Создание и открытие ключей
Для того чтобы работать с данными реестра, приложение должно сначала создать собственный ключ или открыть ключ, созданный ранее. Для создания ключа приложению необходимо вызвать функцию RegCreateKeyEx(), которая описана в файле winreg.h так:
LONG RegCreateKeyEx (HKEY hKey, LPCSTR lpSubKey, DWORD Reserved, LPSTR lpClass, DWORD dwOptions, REGSAM samDesired, LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition)
Параметры:
hKey – хэндл ключа, под которым предполагается создать новый подключ.
lpSubKey – указатель на строку, завершающуюся нулевым символом в конце и содержащую имя нового ключа.
Reserved – резерв.
lpClass – указатель на строку, завершающуюся нулевым символом в конце и содержащую наименование класса нового ключа.
dwOptions – специальные опции для хранения данных, связанных с ключом. Задаются идентификатором с префиксом REG_OPTION_.
samDesired – доступ к ключу с требуемым уровнем защиты.
lpSecurityAttributes – атрибуты защиты ключа.
phkResult – указатель на переменную HKEY, которой присваивается хэндл нового ключа.
lpdwDisposition – указатель на переменную типа DWORD, которой присваивается значение состояния подключа (был создан или открыт).
Возвращаемое значение: если ключ создан или открыт удачно, то значение ERROR_SUCCESS. Любое другое значение является свидетельством того, что при создании или открытии ключа встретилась ошибка.
Первый аргумент - hKey -хэндл ранее открытого ключа или одно из следующих значений:
HKEY_CLASSES_ROOT;
HKEY_CURRENT_USER;
HKEY_LOCAL_MACHINE;
HKEY_USERS;
HKEY_DYN_DATA (Win 9x) или HKEY_PERFORMANCE_DATA (Win NT/2000)
При инсталляции Windows создаются пять ключей. Их имена совпадают со значениями, приведенными выше. Другими словами, эти ключи являются основой для создания иерархии ключей.
Ключи, находящиеся по иерархии ниже первого из предопределенных ключей, HKEY_LOCAL_MACHINE, определяют физическое состояние компьютера, включая данные о типе шины, системной памяти, инсталлированном аппаратном и программном обеспечении.
Ключи, находящиеся по иерархии ниже HKEY_CLASSES_ROOT, определяют типы (или классы) файлов и свойства, ассоциированные с этими классами. Свойства классов определяются только программистом. Обычно эти свойства применяются при работе приложений, использующих внедрение и связывание объектов, а также приложений, использующих среду Windows (shell applications). К примеру, при открытии файлов в Explorer'e используются свойства файлов, записанные в реестре.
Ключи, подчиненные HKEY_USERS, определяют конфигурацию по умолчанию при подключении нового пользователя на локальной машине и конфигурацию текущего пользователя.
И наконец, ключи, подчиненные HKEY_CURRENT_USER, определяют установки, сделанные текущим пользователем, касающиеся переменных окружения, данных о принтерах, сетевых подключениях и т. д. Кроме этого, в этой ветви дерева хранятся установки, сделанные конкретными приложениями.
Возвращаясь к аргументам функции RegCreateKeyEx(), можно сказать, что перед созданием нового ключа необходимо продумать, в какую ветвь дерева необходимо включить новый ключ. Если новый ключ необходимо создать подчиненным ключу более низкого уровня, то определенным образом можно пройти по дереву и найти тот ключ, который необходим. Кроме этого, ключ, хэндл которого указан в первом аргументе, должен быть открыт с атрибутом доступа KEY_CREATE_SUB_KEY.
--> ЧИТАТЬ ПОЛНОСТЬЮ <--