Реферат: Функции управления реестром Windows

Проблема. Дело в том, что данные из реестра на время работы с ними переписываются в кэш и записываются обратно на диск при выполнении функции RegFlushKey(). Чтобы данные, измененные во время работы программы, не были потеряны, то перед закрытием ключа следует их сбрасывать на диск. С другой стороны, у программиста может появиться соблазн сбрасывать данные на диск достаточно часто. Так как RegFlushKey() использует огромное количество системных ресурсов, то эту функцию нужно вызывать только в том случае, когда действительно в этом есть необходимость. Синтаксис функции следующий:

LONGRegFlushKey(HKEYhKey)

Параметры:

hKey – хэндл ключа, содержимое которого должно быть сброшено на диск.

Возвращаемое значение: если ключ создан или открыт удачно, то значение ERROR_SUCCESS. Любое другое значение является ошибкой.

3. Добавление данных к ключам и удаление данных из ключей

После того, как ключ создан, возникает необходимость добавить к ключу некоторые данные, которые будут использоваться программой. Для этого нужно вызвать функцию RegSetValueEx(). Эта функция устанавливает именнованное значение любого подключа системного реестра. У данного подключа может быть множество именованных значений. Синтаксис функции следующий:

LONG RegSetValueEx (HKEY hKey, LPCSTR lpszValueName, DWORD dwReserved, DWORD dwDataType, CONST BYTE* lpData, DWORD dwByte)

Параметры:

hKey – хэндл ключа, к которому добавляются данные.

lpszValueName– указатель на строку, завершающуюся нулевым символом в конце и содержащую имя строки добавляемых данных.

Reserved – резерв.

dwDataType – тип сохраняемых данных, который задается идентификатором (табл.4).

lpData– укзатель на данные, которые будут сохраняться в выбранном значении. Объем данных, сохраняемых в системном реестре, ограничивается используемым объемом памяти. Поэтому большие значения должны хранится в файлах, а имена этих файлов следует хранить в системном реестре.

dwByte – длина сохраняемой строки данных за исключением завершающего строку нулевого символа.

Возвращаемое значение: если ключ создан или открыт удачно, то значение ERROR_SUCCESS. Любое другое значение является ошибкой.

Первый аргумент - хэндл ключа, к которому добавляются данные.

Второй аргумент - указатель на строку, содержащую имя добавляемых данных.

Третий аргумент зарезервирован.

Четвертый аргумент определяет тип информации, который будет сохранен в качестве данных.

Пятый аргумент является указателем непосредственно на данные, которые будут сохранены.

Шестой аргумент определяет размер данных, на которые указывает пятый аргумент. Все легко и просто, не так ли?

Различают два типа удаления:

- удаление подключа из реестра;

- удаление значений ключа реестра.

Удалить подключ из реестра можно с помощью функции RegDeleteKey(). В windowsNT/2000 эта функция не будет удалять подключи и не сможет быть выполнена при наличии подключей.

В Windows 9x подключи с ее помощью удаляются. Синтаксис функции следующий:

LONG RegDeleteKey (HKEY hKey, LPCSTR lpszSubKey)

Параметры:

К-во Просмотров: 181
Бесплатно скачать Реферат: Функции управления реестром Windows