Windows - статьи




Программирование для системного реестра на С++ - часть 3


LPDWORD lpdwDisposition);

Функция создает раздел реестра. Если раздел уже существует, функция открывает его. Имена разделов не чувствительны к регистру.

  • hKey Описатель открываемого раздела.
  • lpSubKey Указатель на строку, завершающуюся нулевым байтом, которая содержит имя создаваемого или открываемого раздела.
  • Reserved Зарезервировано - 0.
  • lpClass Указатель на строку, завершающуюся нулевым байтом, которая содержит класс этого раздела. Может быть проигнорирован и равен NULL. Используется для подключения к удаленному реестру.
  • dwOptions Параметр может принимать следующие значения.

REG_OPTION_BACKUP_RESTOREЕсли флаг установлен, функция игнорирует параметр samDesired и пытается открыть раздел с правами, для резервного копирования и восстановления раздела. Если поток вызывает функцию, обладая привилегией SE_BACKUP_NAME, то раздел открывается с правами доступа ACCESS_SYSTEM_SECURITY и KEY_READ. Если вызывающий поток обладает привилегией SE_RESTORE_NAME, то раздел открывается с правами доступа ACCESS_SYSTEM_SECURITY и KEY_WRITE. Если поток обладает обоими привилегиями, то раздел открывается с комбинированными правами доступа.
REG_OPTION_VOLATILEРаздел, созданный с помощью этого флага - изменчив. При этом информация сохраняется в памяти и не сохраняется, когда соответствующий улей выгружается. Для HKEY_LOCAL_MACHINE, это происходит, когда компьютер выключается или перезагружается. Для разделов реестра, загруженных функцией RegLoadKey, это происходит, когда выполнена функция RegUnLoadKey. Функция RegSaveKey не сохраняет изменчивые разделы реестра. Этот флаг игнорируется, если раздел уже существует.
REG_OPTION_NON_VOLATILEРаздел, созданный с помощью этого флага - не изменяем. При этом информация записывается в файл реестра. Функция RegSaveKey сохраняет не изменчивые разделы.

  • samDesired Определяет права доступа для создаваемого раздела.
  • lpSecurityAttributes Указатель на структуру SECURITY_ATTRIBUTES. Если параметр равен NULL, то описатель раздела не наследуется порожденным (дочерним) процессом.


    Содержание  Назад  Вперед