Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Краткие теоретические сведения. Реестр (Registry) – специальная системная база данных, в которой приложения и операционная система могут сохранять информацию о конфигурации.




Реестр (Registry) – специальная системная база данных, в которой приложения и операционная система могут сохранять информацию о конфигурации.

Системный реестр служит для осуществления ряда функций:

– хранение конфигураций оборудования и сведений об устройствах «Plug-and-Play»;

– хранение списка драйверов и их параметров;

– описания программных интерфейсов (например, интерфейсов COM-серверов);

– таблица ассоциаций файлов данных;

– хранение конфигурации и значений параметров программ;

– обслуживание различных административных программ, например, панели управления (Control Panel).

Реестр имеет иерархическую древовидную структуру. Узлы дерева называются ключами (key). Каждый ключ может содержать любое количество подключей (sub-key) и значений (values), причем и те, и другие организованы в виде неупорядоченных списков, элементам которых присвоены индексы, начиная с нуля. Различие между ключами и подключами в действительности условно, фактически все ключи являются подключами различного уровня нескольких предопределенных ключей. Значения ключей могут быть строко­выми, двоич­ными и числовыми; также ключ может быть ссылкой на другой ключ. Каждый ключ идентифицируется его именем, уни­кальным относительно вышестоящего ключа; открытым ключам присва­иваются описатели (handle) HKEY. Значения идентифици­руются именами и индексами в списке.

Данные в системном реестре хранятся в двоичном виде. Для работы с ними приложения должны использовать специальные системные функции. Различают hive (букв. «улей») ключей, то есть их двоичный образ в структурах в памяти, называемых собственно реестром, и файлы данных реестра.

Для работы с ключом приложение должно открыть его. При открытии ключа необходимо указать открытый ранее ключ в качестве вышестоящего. Система всегда предоставляет четыре предопределенных (predefined) ключа верхнего уровня, которые считаются открытыми всегда и могут использоваться как точки входа в реестр: HKEY_LOCAL_MACHINE – описание известных на этот момент конфигураций компьютера; HKEY_CLASSES_ROOT – описание текущей конфигурации машины, ссылка на одну из конфигураций HKEY_LOCAL_MACHINE); HKEY_USERS – описание всех имеющихся пользо­вателей; HKEY_CURRENT_USER – описание текущего пользователя, ссылка на одного из пользователей HKEY_USERS; HKEY_CURRENT_CONFIG – текущий подключ Config (ссылка) ключа HKEY_LOCAL_MACHINE;

Система предоставляет ряд функций для доступа к реестру. Перечислим некоторые из них:

– RegCreateKey(), RegCreateKeyEx() – создание нового или открытие су­щест­ву­ющего ключа в реестре; создаваемый или открываемый ключ обяза­тельно должен быть подключом уже открытого ключа;

– RegOpenKey(), RegOpenKeyEx() – только открытие существующего клю­ча, в остальном аналогичны предыдущим;

– RegCloseKey() – закрытие открытого ключа;

– RegDeleteKey() – удаление ключа;

– RegFlushKey() – выгрузка содержимого ключа в соответствующий файл реестра;

– RegSaveKey(), RegLoadKey() – выгрузка содержимого ключа в отдель­ный файл и загрузка из него;

– RegEnumKey(), RegEnumKeyEx() – получение списка подключей;

– RegEnumValue() – получение списка значений;

– RegQueryValue(), RegQueryValueEx() – чтение значения по его имени;

– RegQueryMultipleValues() – чтение нескольких значений.

Ввиду относительной сложности и громоздкости обращений к реестру можно реализовать собственные «оберточные» функции для доступа по именам и «путям» реестре, аналогично работе с файловой системой.

На пользовательском уровне для работы с реестром служит утилита regedit, поддерживающая как интерактивный, так и командный (выполнение пакетных файлов) режимы.

Контрольные вопросы

1) Назначение реестра

2) Структура реестра

3) Поддерживаемые типы данных в реестре

4) API для работы с реестром

5) Порядок и правила работы с реестром.

Варианты заданий

14.3.1. Поиск в реестре значений, в том числе по шаблону (для тексто­вых), и вывод в удобной форме результатов поиска.

 

14.3.2. Поиск в реестре неиспользуемых и/или недействительных ключей и значений, например ссылающихся на несуществующие файлы и пути.

 

14.3.3. Получение и модификация отдельных элементов реестра (напри­мер, чтение текущей конфигурации, изменение отдельных настроек, чистка «историй» программ и т.п.)

 

Литература

1. Бек, Л. Введение в системное программирование / Л. Бек; пер. с англ. – М.: Мир, 1988. – 448 с.

2. Вильямс, А. Системное программирование в Windows 2000 для профес­сионалов / А. Вильямс; пер. с англ. – СПб.: Питер, 2001. – 624 с.

3. Гордеев, А.В. Системное программное обеспечение / А.В. Гордеев, А.Ю. Молчанов. – СПб.: Питер, 2001. – 736 с.

4. Гук, М. Аппаратные средства IBM PC / М. Гук. – СПб: Питер, 1996. – 224 с.

5. Гук, М. Аппаратные интерфейсы ПК. Энциклопедия / М. Гук. – СПб.: Питер, 2002. – 528 с.

6. Джордейн, Р. Справочник программиста персональных компьютеров типа IBM PC, XT и AT / Р. Джордейн; пер. с англ. – М.: Финансы и статистика, 1992. – 544 с.

7. Зубков, С.В. Assembler для DOS, Windows и UNIX. / С.В. Зубков. – 3-е изд. – М.: ДМК пресс, СПб.: Питер, 2006. – 608 с.

8. Касаткин, А.И. Профессиональное программирование на языке Си. Управление ресурсами: справ. пособие / А.И. Касаткин.– Минск.: Вышэйшая школа, 1992. – 432 с.

9. Кулаков, В. Программирование дисковых подсистем / В. Кулаков. – СПб.: Питер, 2002. – 768 с.

10. Кулаков, В. Программирование на аппаратном уровне: спец. спра­воч­ник / В. Кулаков. – 2-е изд. – СПб.: Питер, 2003. – 848 с.

11. Мешков, А.В., Тихомиров Ю.В. Visual C++ и MFC / А.В. Мешков, Ю.В. Тихомиров; пер. с англ. – 2-е изд., перераб. и доп. – СПб.: БХВ-Пе­тербург, 2002. – 1040 с.

12. Просиз, Дж. Управление памятью в DOS 5 / Дж. Просиз; пер. с англ. – М.: Мир, 1994. – 240 с.

13. Рихтер Дж. Windows для профессионалов / Дж. Рихтер; пер. с англ. – СПб.: Питер, 2000. – 752 с.

14. Скляров, В.А. Программное и лингвистическое обеспечение персо­нальных ЭВМ. Системы общего назначения: справ. пособие / В.А. Скляров. – Минск: Вышэйшая школа, 1992. – 462 с.

15. Скляров, В.А. Программное и лингвистическое обеспечение персо­нальных ЭВМ. Новые системы: справ. пособие / В.А. Скляров. – Минск: Вы­шэйшая школа, 1992. – 334 с.: ил.

16. Соломон, Д. Внутреннее устройство Microsoft Win­dows / Д. Соломон, М.Е. Руссинович; пер. с англ. – 4-е изд. – СПб.: Питер, Русская Редакция, 2005. – 992 с.

17. Сорокина, С.И. Программирование драйверов и систем безопас­ности: учеб. пособие / С.И. Сорокина, А.Ю. Тихонов, А.Ю. Щерба­ков. – СПб.: БХВ-Петербург, М.: издатель Молчанов С.В. – 2002. – 256 с.

18. Таненбаум, Э. Современные операционные системы / Э. Таненбаум; пер. с англ. – 2-е изд. – СПб.: Питер, 2002. – 1040 с.

19. Таненбаум Э., Вудхалл А. Операционные системы. Разработка и реализация / Э. Таненбаум, А. Вудхалл; пер. с англ. – 3-е изд. – СПб.: Питер, 2007. – 704 с.

20. Юров, В.И. Assembler: учебник для вузов / В.И. Юров. – 2-е изд. – СПб.: Питер, 2007. – 640 с.

21. Assembler: практикум / В.И. Юров. – СПб.: Питер, 2002. – 400 с.

 





Поделиться с друзьями:


Дата добавления: 2016-11-12; Мы поможем в написании ваших работ!; просмотров: 398 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Свобода ничего не стоит, если она не включает в себя свободу ошибаться. © Махатма Ганди
==> читать все изречения...

2369 - | 2119 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.