|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
RegCreateKeyEx
The RegCreateKeyEx function creates the specified key. If the key already exists in the registry, the function opens it.
LONG RegCreateKeyEx(
HKEY hKey, // handle of an open key LPCTSTR lpSubKey, // address of subkey name DWORD Reserved, // reserved LPTSTR lpClass, // address of class string DWORD dwOptions, // special options flag REGSAM samDesired, // desired security access LPSECURITY_ATTRIBUTES lpSecurityAttributes, // address of key security structure PHKEY phkResult, // address of buffer for opened handle LPDWORD lpdwDisposition // address of disposition value buffer );
Parameters
hKey
Identifies a currently open key or any of the following predefined reserved handle values:
HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_USERS The key opened or created by the RegCreateKeyEx function is a subkey of the key identified by the hKey parameter.
lpSubKey
Points to a null-terminated string specifying the name of a subkey that this function opens or creates. The subkey specified must be a subkey of the key identified by the hKey parameter. This subkey must not begin with the backslash character ('\'). This parameter cannot be NULL.
Reserved
Reserved; must be zero.
lpClass
Points to a null-terminated string that specifies the class (object type) of this key. This parameter is ignored if the key already exists.
dwOptions
Specifies special options for the key. This parameter can be one of the following values.
Value Meaning REG_OPTION_NON_VOLATILE This key is not volatile; this is the default. The information is stored in a file and is preserved when the system is restarted. The RegSaveKey function saves keys that are not volatile. REG_OPTION_VOLATILE Windows NT: This key is volatile; the information is stored in memory and is not preserved when the system is restarted. The RegSaveKey function does not save volatile keys. This flag is ignored if the key already exists. Windows 95: This value is ignored in Windows 95. If REG_OPTION_VOLATILE is specified, the RegCreateKeyEx function creates a nonvolatile key and returns ERROR_SUCCESS. REG_OPTION_BACKUP_RESTORE Windows NT: If this flag is set, the function ignores the samDesired parameter and attempts to open the key with the access required to backup or restore the key. If the calling thread has the SE_BACKUP_NAME privilege enabled, the key is opened with ACCESS_SYSTEM_SECURITY and KEY_READ access. If the calling thread has the SE_RESTORE_NAME privilege enabled, the key is opened with ACCESS_SYSTEM_SECURITY and KEY_WRITE access. If both privileges are enabled, the key has the combined accesses for both privileges. Windows 95: This flag is ignored. Windows 95 does not support security in its registry.
samDesired
Specifies an access mask that specifies the desired security access for the new key. This parameter can be a combination of the following values:
Value Meaning KEY_ALL_ACCESS Combination of KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, KEY_NOTIFY, KEY_CREATE_SUB_KEY, KEY_CREATE_LINK, and KEY_SET_VALUE access. KEY_CREATE_LINK Permission to create a symbolic link. KEY_CREATE_SUB_KEY Permission to create subkeys. KEY_ENUMERATE_SUB_KEYS Permission to enumerate subkeys. KEY_EXECUTE Permission for read access. KEY_NOTIFY Permission for change notification. KEY_QUERY_VALUE Permission to query subkey data. KEY_READ Combination of KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, and KEY_NOTIFY access. KEY_SET_VALUE Permission to set subkey data. KEY_WRITE Combination of KEY_SET_VALUE and KEY_CREATE_SUB_KEY access.
lpSecurityAttributes
Pointer to a SECURITY_ATTRIBUTES structure that determines whether the returned handle can be inherited by child processes. If lpSecurityAttributes is NULL, the handle cannot be inherited. Windows NT: The lpSecurityDescriptor member of the structure specifies a security descriptor for the new key. If lpSecurityAttributes is NULL, the key gets a default security descriptor. Windows 95: The lpSecurityDescriptor member of the structure is ignored.
phkResult
Points to a variable that receives the handle of the opened or created key.
lpdwDisposition
Points to a variable that receives one of the following disposition values:
Value Meaning REG_CREATED_NEW_KEY The key did not exist and was created. REG_OPENED_EXISTING_KEY The key existed and was simply opened without being changed.
Return Values
If the function succeeds, the return value is ERROR_SUCCESS. If the function fails, the return value is a nonzero error code defined in WINERROR.H. You can use the FormatMessage function with the FORMAT_MESSAGE_FROM_SYSTEM flag to get a generic description of the error.
Remarks
The key that the RegCreateKeyEx function creates has no values. An application can use the RegSetValue or RegSetValueEx function to set key values. The key identified by the hKey parameter must have been opened with KEY_CREATE_SUB_KEY access. To open the key, use the RegCreateKeyEx or RegOpenKeyEx function. An application cannot create a key under HKEY_USERS or HKEY_LOCAL_MACHINE. An application can use RegCreateKeyEx to temporarily lock a portion of the registry. When the locking process creates a new key, it receives the disposition value REG_CREATED_NEW_KEY, indicating that it "owns" the lock. Another process attempting to create the same key receives the disposition value REG_OPENED_EXISTING_KEY, indicating that another process already owns the lock.
See Also
RegCloseKey, RegCreateKey, RegDeleteKey, RegOpenKey, RegOpenKeyEx, RegSaveKey, SECURITY_ATTRIBUTES
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
RegCreateKeyEx
Функция RegCreateKeyEx создает определенный ключ. Если ключ уже существует в регистрации, функция открывает это.
ДОЛГО (ДЛИНОЙ) RegCreateKeyEx(
HKEY hKey, // РУЧКА открытого ключа LPCTSTR lpSubKey, // адрес имени подключа DWORD Резервировал, // зарезервировавшее LPTSTR lpClass, // адрес строки класса DWORD dwOptions, // специальный флаг выборов REGSAM samDesired, // желаемый доступ безопасности LPSECURITY_ATTRIBUTES lpSecurityAttributes, // адрес ключевой структуры безопасности PHKEY phkResult, // адреса буфера для открытого адреса ручки LPDWORD lpdwDisposition // буфера величины расположения );
Параметры
hKey
Идентифицирует к настоящему времени открытый ключ или любая из следующей встроенной резервной ручки оценивает:
HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_USERS Ключ открытый или созданный функцией RegCreateKeyEx - подключ ключа идентифицированного параметром hKey.
lpSubKey
Точки на недействительный расторгнутую строку, определяющие имя подключа, что эта функция открывает или создается. Определенный подключ должен быть подключом ключа идентифицированного параметром hKey. Этот подключ не должен начинать с символа обратной косой черты ('\'). Этот параметр не может быть НЕДЕЙСТВИТЕЛЕН.
Зарезервированное
Зарезервированное; должно - нулевым.
lpClass
Точки на недействительный расторгнутую строку, которые определяют класс (объектный тип) этого ключа. Этот параметр проигнорирован если ключ уже существует.
dwOptions
Определяет специальные выборы для ключа. Этот параметр может быть одним из следующего величин.
Значение Величины REG_OPTION_NON_VOLATILE Этого ключа не летучий; это встроенное. Информация загружена в файл и сохранена когда система перезапущена. Функция RegSaveKey сохраняет клавиши, которые не летучие. REG_OPTION_VOLATILE Windows NT: Эта клавиша летучая; информация загружена в память и не сохранена когда система перезапущена. Функция RegSaveKey не сохраняет летучие клавиши. Этот флаг проигнорирован если клавиша уже существует. Windows 95: Эта величина проигнорирована в Windows 95. Если REG_OPTION_VOLATILE определен, функция RegCreateKeyEx создает энергонезависимую клавишу и возвращает ERROR_SUCCESS. REG_OPTION_BACKUP_RESTORE Windows NT: Если этот флаг установлен, функция игнорирует samDesired параметр и пытается открывать клавишу с доступом требовавшимся, чтобы дублировать или восстанавливать клавишу. Если вызывающая резьба приспособилась бы привилегию SE_BACKUP_NAME, клавиша открыта ACCESS_SYSTEM_SECURITY и доступом KEY_READ. Если вызывающая резьба приспособилась бы привилегию SE_RESTORE_NAME, клавиша открыта ACCESS_SYSTEM_SECURITY и доступом KEY_WRITE. Если обе привилегии приспособлены, клавиша имеет комбинированные доступы для обеих привилегий. Windows 95: Этот флаг проигнорирован. Windows 95 не поддерживает безопасность в своей регистрации.
samDesired
Определяет маску доступа, которая определяет желаемый доступ безопасности для новой клавиши. Этот параметр может быть комбинацией следующего величин:
Значение Величины Комбинация KEY_ALL_ACCESS KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, KEY_NOTIFY, KEY_CREATE_SUB_KEY, KEY_CREATE_LINK, и KEY_SET_VALUE имеет доступ к. Разрешение KEY_CREATE_LINK должно создать символическую связь. Разрешение KEY_CREATE_SUB_KEY должно создать подключи. Разрешение KEY_ENUMERATE_SUB_KEYS должно перечислить подключи. Разрешение KEY_EXECUTE для доступа чтения. Разрешение KEY_NOTIFY для уведомления изменения. Разрешение KEY_QUERY_VALUE в данные подключа запроса. Комбинация KEY_READ KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, и KEY_NOTIFY имеет доступ к. Разрешение KEY_SET_VALUE должно устанавливать данные подключа. Комбинация KEY_WRITE KEY_SET_VALUE и KEY_CREATE_SUB_KEY имеет доступ к.
lpSecurityAttributes
Указатель в структуру SECURITY_ATTRIBUTES, которая определяет может возвращанная ручка быть унаследована процессами ребенка. Если lpSecurityAttributes НЕДЕЙСТВИТЕЛЕН, ручка не может быть унаследована. Windows NT: элемент lpSecurityDescriptor структуры определяет дескриптор безопасности для новой клавиши. Если lpSecurityAttributes НЕДЕЙСТВИТЕЛЕН, клавиша получает по умолчанию дескриптор безопасности. Windows 95: элемент lpSecurityDescriptor структуры проигнорирован.
phkResult
Точки на переменную, которые получают ручку открытой или созданной клавиши.
lpdwDisposition
Точки на переменную, которые получают одну из следующих величин расположения:
Значение Величины REG_CREATED_NEW_KEY клавиша не существовала и была создана. REG_OPENED_EXISTING_KEY клавиша существовала и просто была открыта без измененное.
Обратные Величины
Если функция добивается успеха, обратная величина - ERROR_SUCCESS. Если функция терпит неудачу, обратная величина является ненулевым кодом ошибки определенным в WINERROR.H. Вы можете использовать функцию FormatMessage с флагом FORMAT_MESSAGE_FROM_SYSTEM, чтобы получать общее описание ошибки.
Замечания
Клавиша, что функция RegCreateKeyEx создает, не имеет величины. Приложение может использовать RegSetValue или функцию RegSetValueEx, чтобы устанавливать ключевые величины. Клавиша идентифицированная параметром hKey по-видимому открыта доступом KEY_CREATE_SUB_KEY. Для того, чтобы открывать клавишу, используйте RegCreateKeyEx или функцию RegOpenKeyEx. Приложение не может создать клавишу под HKEY_USERS или HKEY_LOCAL_MACHINE. Приложение может использовать RegCreateKeyEx, чтобы временно запирать часть регистрации. Когда блокировка процесса создает новую клавишу, она получает величину расположения REG_CREATED_NEW_KEY, указывая, что это "обладает" блокировка. Другой процесс, пытающийся, чтобы создавать ту же клавишу получает величину расположения REG_OPENED_EXISTING_KEY, указывая, что другой процесс уже обладает блокировкой.
Смотри Также
RegCloseKey, RegCreateKey, RegDeleteKey, RegOpenKey, RegOpenKeyEx, RegSaveKey, SECURITY_ATTRIBUTES
|
|
|
|
| |