![]() |
|
сделать стартовой | добавить в избранное |
![]() |
Компьютеры, Программирование
Программное обеспечение
Архитектура системного реестра Windows |
1.ТИПЫ ДАННЫХКонечным элементом дерева реестра являются ключи или параметры. Все параметры реестра имеют фиксированный тип. В табл.1 приведен полный список используемых типов. Не все из них используются в разных версиях Wi dows. Например, REG QWORD явно предназначен для 64-битной версии XP. Кроме того, сохраняется преемственность поколений Wi dows – в более поздних версиях используются все типы ранних версий. Также следует учесть, что ряд типов используется только системой в некоторых разделах, и создать свой параметр такого типа с помощью редактора реестра не получится.Таблица 1 Типы параметров № п/п Тип данных Описание Wi dows 9x REG BI ARY Двоичные данные. Большинство сведений об аппаратных компонентах хранится в виде двоичных данных и выводится в редакторе реестра в шестнадцатеричном формате. Максимальная длина такого ключа 16Кб. REG DWORD Данные, представленные целым числом (4 байта). Многие параметры служб и драйверов устройств имеют этот тип и отображаются в двоичном, шестнадцатеричном или десятичном форматах REG SZ Текстовая строка фиксированной длины (например, &quo ;C: Wi dows&quo ;) Wi dows XP REG EXPA D SZ Строка U icode переменной длины. Этот тип данных включает переменные, обрабатываемые программой или службой REG MUL I SZ Многострочный текст U icode. Этот тип, как правило, имеют списки и другие записи в формате, удобном для чтения. Записи разделяются пробелами, запятыми или другими символами REG DWORD LI LE E DIA 32-разрядное число в формате “остроконечников” — младший байт хранится первым в памяти. Эквивалент REG DWORD REG DWORD BIG E DIA 32-разрядное число в формате “тупоконечников” — старший байт хранится первым в памяти REG LI K Символическая ссылка U icode. Только для внутреннего использования (некоторые корневые разделы являются такой ссылкой на другие подразделы) REG O E Параметр не имеет определенного типа данных Wi dows XP (только в разделе HKLM HARDWARE) REG RESOURCE LIS Список аппаратных ресурсов. REG FULL RESOURCE DESCRIP OR Дескриптор (описатель) аппаратного ресурса. REG RESOURCE REQUIREME S LIS Список необходимых аппаратных ресурсов. Wi dows Vis a REG QWORD 64-разрядное число REG QWORD LI LE E DIA 64-разрядное число в формате “остроконечников”. Эквивалент REG QWORD Ограничения на имена ключей. Имена ключей не могут содержать: обратные слеши ( ), пробелы ( ), звездочки ( ) вопросительные знаки (?). Имя ключа не должно совпадать с именами ключей, располагающихся выше него по иерархии. Имеется три типа системных элементов реестра, каждый из которых является корневым и имеет собственную иерархию: ypeLib, I erface, CLSID. 1. Иерархия ypeLib идентифицирует положение инсталлированных в данный момент библиотек типов, которые являются базами данных, описывающими содержимое компонентов OLE. Широко используемая для поддержки автоматизации библиотека типов описывает прототипы функций для всех поддерживаемых интерфейсов, а также включает в себя ссылки на файлы-подсказки, и поэтому инструменты разработки могут вызвать соответствующую страницу подсказки и помочь создателям макрокоманд правильно воспользоваться серверами автоматизации.
2. Иерархия I erface содержит список, отсортированный по идентификаторам интерфейса, всех инсталлированных в системе интерфейсов. Это дает возможность прочитать имя интерфейса (IU k ow , IMalloc и т. д.) и подробности о каждом интерфейсе (количество функций в каждом интерфейсе и его базовый класс). 3. Иерархия CLSID детализирует все инсталлированные в данный момент (открытые) компоненты OLE. CLSID — это идентификатор класса. CLSID обеспечивает связь между компонентами. Соединение с конкретным интерфейсом конкретного компонента требует сначала идентифицировать CLSID для доступа к компоненту, а затем IID для получения желаемого интерфейса. Так же, как и идентификаторы интерфейсов (типы данных IID и REFIID), идентификаторы классов (типы данных CLSID и REFCLSID) являются 128-разрядными (16 шестнадцатеричных цифр) числами, обеспечивающими машинный способ точной идентификации класса компонента. Также, как тип IID, CLSID имеет тип GUID: ypedef s ruc GUID { DWORD Da a1; WORD Da a2 ; WORD Da a3; BY E Da a4; }GUID; Из этих трех типов элементов самым важным является элемент идентификатор класса, поскольку детали модуля компонента (файл с расширением .DLL или .EXE) хранятся в иерархии CLSID. Например, следующий элемент реестра делает доступным компонент библиотеки PUBMEM: HKEY CLASSES ROO CLSID {308D0430 – 1090 – 11cf – B92A – 00AA006238F8} I procServer32 = C: PE ZOLD CHAP20 PUBMEM.DLL I procServer32 означает, что файл, на который ссылаются, является 32-разрядным файлом с расширением .DLL.2. ХРАНЕНИЕ РЕЕСТРАРанее была рассмотрена логическая структура реестра, но существует ещё и физическая структура, сохраняющая различные части реестра в отдельных файлах. Хранение реестров разных версий Wi dows имеют различия. В Wi dows ХР реестр содержится в двух файлах SYS EM.DA и USER.DA , находящиеся в каталоге Wi dows. В Wi dows Me был добавлен еще один файл CLASSES.DA . В Wi dows XP элементы реестра хранятся в виде атомарной структуры. Реестр разделяется на составные части, называемые ульями (hives), или кустами. Ульи хранятся на диске в виде файлов (табл.2). Некоторые ульи, такие, как HKLM HARDWARE, не сохраняются в файлах, а создаются при каждой загрузке, то есть являются изменяемыми (vola- ile). При запуске системы реестр собирается из ульев в единую древовидную структуру с корневыми разделами.Таблица 2 Ульи реестра Улей Расположение HKLM SYS EM %Sys emRoo % sys em32 co fig sys em HKLM SAM %Sys emRoo % sys em32 co fig SAM HKLM SECURI Y %Sys emRoo % sys em32 co fig SECURI Y HKLM SOF WARE %Sys emRoo % sys em32 co fig sof ware HKLM HARDWARE Изменяемый улей HKLM SYS EM Clo e Изменяемый улей HKU &l ;SID пользователя&g ; %USERPROFILE% user.da HKU &l ;SID пользователя&g ; Classes %USERPROFILE% Local Se i gs Applica io Da a Microsof Wi dows UsrClass.da HKU .DEFAUL %Sys emRoo % sys em32 co fig defaul Кроме этих файлов, есть ряд вспомогательных, со следующими расширениями: AL — резервная копия улья HKLM SYS EM для Wi dows 2000 (отсутствует в XP). LOG — журнал транзакций, в котором регистрируются все изменения реестра. SAV — копии ульев в том виде, в котором они были после завершения текстовой фазы установки.
Пользователи Wi dows 98 могут провести параллель между файлами с расширением .sav и файлом Sys em.1s . На рис.1 показаны взаимосвязи между кустами реестра и соответствующими им файлами. На рисунке показан каталог %SYS EMROO % Sys em32 Co fig, в котором содержатся файлы кустов с настройками для компьютера. Из рис.1 видно, что Wi dows сохраняет содержание подраздела HKLM SOF WARE в файле куста, который называется Sof ware. Рис.1. Взаимосвязи между кустами реестра и соответствующими им файлами3. ФАЙЛ РЕЕСТРАЗнание реестра Wi dows будет не полным без умения написать reg-файл. Начнем с того, что это такое. Reg-файл - это файл, имеющий определенную структуру и содержащий информацию, которая может быть импортирована в реестр. Если была заблокирована работа с редактором реестра, то наиболее легким способом подредактировать реестр будет создание и импортирование reg-файла. К reg-файлам предъявляются определенные требования по структуре. Начнем с того, что в первой строке файла обязательно должно быть введено (для Wi dows ХР) REGEDI 4 или (для Wi dows 2000/XP) Wi dows Regis ry Edi or Versio 5.00. Обратите внимание на то, что буквы должны быть большие. Кроме этого в первой строке ничего быть не должно. После этого текста ОБЯЗАТЕЛЬНО должна быть пустая строка. Затем, указывается раздел реестра, в котором надо прописать или изменить какие-то параметры. Название раздела должно быть заключено в квадратные скобки . Ниже прописываются параметры, которые надо добавить, по одному параметру в строке. Если надо провести изменения в нескольких разделах, то должны оставлять одну пустую строку между последним параметром предыдущего раздела и названием следующего раздела. Может немного запутанно, но вот как это должно выглядеть: REGEDI 4 &quo ;param1&quo ;=&quo ;z ache ie1&quo ; &quo ;param2&quo ;=&quo ;z ache ei2&quo ; &quo ;param3&quo ;=&quo ;z ache ie3&quo ; &quo ;param 1&quo ;=&quo ;z ache ie 1&quo ; Последняя строка в файле должна быть ПУСТОЙ. После того, как создали такой файл, просто запустите его как обычную программу, вам будет выдан запрос о необходимости провести изменения в реестре, и после положительного ответа информация из файла будет импортирована. О результатах импортирования Wi dows сообщит в появившемся после этого окне. Wi dows 2000/XP обладает обратной совместимостью и может обрабатывать файлы, созданные в Wi dows 9x. Но если вы экспортировали файл в Wi dows XP и перенесли его на Wi dows 9x, то вручную измените первую строчку на REGEDI 4 Теперь пару слов о параметрах, которые можно добавлять. Как вы, наверное, обратили внимание, в приведенном выше примере добавляются параметры с помощью строк типа &quo ;param1&quo ;=&quo ;z ache ie1&quo ;. Т.е. таким образом добавляется СТРОКОВЫЙ параметр с именем &quo ;param1&quo ; и значением &quo ;z ache ie1&quo ;. Но ведь существуют еще и параметры двоичные и DWORD. Формат записи для их добавления несколько другой. Для параметров типа DWORD используется строка &quo ;param&quo ;=dword:XXXXXXXX Здесь &quo ;param&quo ; - имя параметра, dword - указывает на тип этого параметра (буквы должны быть обязательно маленькие!) и после двоеточия следует значение из восьми цифр в шестнадцатеричном (!) формате.
Использование этих функций для построения типичных приложений иллюстрировали многочисленные примеры. Как показывает последний из примеров, между управлением системным реестром и управлением файловой системой имеется много общего. В последующих главах будут рассмотрены такие усовершенствованные методы ввода/вывода, как асинхронные операции ввода/вывода и отображение файлов. Этих средств будет достаточно для того, чтобы воспроизвести в Windows почти любой из обычных видов обработки файлов, доступных при использовании UNIX или библиотечных функций С. В приложении Б приведены сравнительные таблицы функций Windows, UNIX и библиотеки С, в которых наглядно показано, в чем указанные группы функций соответствуют друг другу, а в чем заметно отличаются. В следующих главах Глава 4 рассказывает о том, как упростить обработку ошибок и исключений, и распространяет применение функции ReportError на случаи обработки любых исключительных ситуаций. Дополнительная литература Для получения более подробной информации относительно программирования и использования системного реестра Windows, обратитесь к книге [17]. Упражнения 3.1. Используя функции GetDiskFreeSpace и GetDiskFreeSpaceEx, определите, насколько разреженным оказывается файловое пространство, распределяемое различными версиями операционной системы Windows
1. Работа с бинарными данными и реестром Windows на платформе .NET
2. Системные службы Windows XP
4. Архитектура памяти Windows CE 6
10. Проблема ансамбля в архитектуре XVII века (барокко)
14. Ландшафтная архитектура пришкольного двора
15. Архитектура и мебель барокко
16. "О культуре" по работе Н.А. Бердяева "Философия неравенства" (Windows)
17. Египетские мотивы в архитектуре Санкт-Петербурга
19. Архитектура Московского Кремля XIV-XVI вв. /с фотографиями/
20. Netscape Navigator для Windows`95. Обзор возможностей
21. Развитие сетевых операционных систем. Windows 2000
25. Архитектура персональных компьютеров IBM PC
26. Современные системные платы
28. Разработка системного программного обеспечения
29. Системный анализ
30. Анализ структур, характеристик и архитектур 32-разрядных микропроцессоров
31. Вычисление площади сложной фигуры методом имитационного моделирования (Windows)
32. Ответы на вопросы по курсу "Системное программирование" (Шпаргалка)
34. Общая характеристика системы Windows
35. Сравнение операционных систем /DOS, UNIX, OS (2, WINDOWS/ (Write)
37. WINDOWS - средства для создания презентаций
41. Windows 2000
42. Вопросы на тему "Windows, Excel & Word" с тестами, иллюстрациями и пояснениями
44. Сравнение операционных систем: Linux и Windows
45. Средства мультимедиа в Windows Millenium Edition
46. Системная красная волчанка
47. Архитектура сотовых сетей связи и сети абонентского доступа
49. Системный подход в современной науке и технике
50. Системный подход в управлении
51. Контрольная работа по системному анализу
52. Системный подход в экономическом анализе
53. Системный анализ во внешней политике
57. Безопасность файловых ресурсов сети Windows 2000
58. Особенности архитектуры PA-RISK компании Hewlett-Packard
62. Российская журналистика на фоне последствий системного кризиса
63. Архитектура эпохи Возрождения
65. Барокко в русской архитектуре
66. Архитектура стран Пиренейского п-ова
68. Архитектура в Ростове-на-Дону
69. Архитектура
73. Архитектура французских провинций
74. Готическая архитектура Нормандии и Западной Франции
75. Протоготика и ранние формы готической архитектуры
76. Освоение наследия древнерусского искусства в архитектуре рубежа XIX-XX вв.
77. Стиль барокко в русском искусстве, архитектуре, литературе и музыке
79. Архитектура Новгорода и Пскова. Звонницы и крыльца
80. Вавилон: искусство и архитектура, наука, религия
81. Искусство микенской Греции. Архитектура
82. Архитектура Древней Греции
84. Системный анализ и управление логистическими системами
85. Системный клещевой боррелиоз
89. Системный рейтинг депутата
91. Архитектура Московского Кремля XIV-XVI вв.
92. Возможности системного анализа применительно к научному и техническому творчеству
93. Математическое моделирование системных элементов
95. Архитектура на основе модели студента для интеллектуальных обучающихся сред
97. Формы измерений и анализ власти. Системное описание форм проявления власти
98. Системный подход к анализу межличностных отношений. Содержание межличностных отношений